sig
module AF :
sig
type tag = [ `AF_INET ]
type address = Cf_ip4_addr.opaque Cf_ip4_addr.t * int
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_INET ]
type address = Cf_ip4_addr.opaque Cf_ip4_addr.t * int
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_INET ]
type address = Cf_ip4_addr.opaque Cf_ip4_addr.t * int
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 = {
imr_multiaddr : Cf_ip4_addr.multicast Cf_ip4_addr.t;
imr_interface : Cf_ip4_addr.unicast Cf_ip4_addr.t;
}
val ip_ttl : (int, [ `AF_INET ], 'a) Cf_socket.sockopt
val ip_add_membership :
(Cf_ip4_proto.mreq, [ `AF_INET ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
val ip_drop_membership :
(Cf_ip4_proto.mreq, [ `AF_INET ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
val ip_multicast_if :
(Cf_ip4_addr.unicast Cf_ip4_addr.t, [ `AF_INET ], [ `SOCK_DGRAM ])
Cf_socket.sockopt
val ip_multicast_ttl :
(int, [ `AF_INET ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
val ip_multicast_loop :
(bool, [ `AF_INET ], [ `SOCK_DGRAM ]) Cf_socket.sockopt
val siocgifaddr :
([ `AF_INET ], 'a) Cf_socket.t ->
string -> [> Cf_ip4_addr.unicast ] Cf_ip4_addr.t
end