sig
module AF :
sig
type tag = [ `AF_INET6 ]
type address = Cf_ip6_addr.opaque Cf_ip6_addr.t * int * int32
val domain : tag Cf_socket.domain
val to_sockaddr : address -> tag Cf_socket.sockaddr
val of_sockaddr : tag Cf_socket.sockaddr -> address
val unspecified : tag Cf_socket.sockaddr
end
module TCP :
sig
module AF :
sig
type tag = [ `AF_INET6 ]
type address = Cf_ip6_addr.opaque Cf_ip6_addr.t * int * int32
val domain : tag Cf_socket.domain
val to_sockaddr : address -> tag Cf_socket.sockaddr
val of_sockaddr : tag Cf_socket.sockaddr -> address
val unspecified : tag Cf_socket.sockaddr
end
module ST :
sig
type tag = [ `SOCK_STREAM ]
val socktype : tag Cf_socket.socktype
end
val protocol : Cf_socket.protocol
end
module UDP :
sig
module AF :
sig
type tag = [ `AF_INET6 ]
type address = Cf_ip6_addr.opaque Cf_ip6_addr.t * int * int32
val domain : tag Cf_socket.domain
val to_sockaddr : address -> tag Cf_socket.sockaddr
val of_sockaddr : tag Cf_socket.sockaddr -> address
val unspecified : tag Cf_socket.sockaddr
end
module ST :
sig
type tag = [ `SOCK_DGRAM ]
val socktype : tag Cf_socket.socktype
end
val protocol : Cf_socket.protocol
end
type mreq = {
ipv6mr_multiaddr : Cf_ip4_addr.multicast Cf_ip4_addr.t;
ipv6mr_interface : int;
}
val ipv6_unicast_hops : (int, [ `AF_INET6 ], 'a) Cf_socket.sockopt
val ipv6_v6only : (bool, [ `AF_INET6 ], 'a) Cf_socket.sockopt
val ipv6_join_group :
(Cf_ip6_proto.mreq, [ `AF_INET6 ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
val ipv6_leave_group :
(Cf_ip6_proto.mreq, [ `AF_INET6 ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
val ipv6_multicast_if :
(int, [ `AF_INET6 ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
val ipv6_multicast_hops :
(int, [ `AF_INET6 ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
val ipv6_multicast_loop :
(bool, [ `AF_INET6 ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
end