<html><head> <link rel="stylesheet" href="style.css" type="text/css"> <meta content="text/html; charset=iso-8859-1" http-equiv="Content-Type"> <link rel="Start" href="index.html"> <link title="Index of types" rel=Appendix href="index_types.html"> <link title="Index of exceptions" rel=Appendix href="index_exceptions.html"> <link title="Index of values" rel=Appendix href="index_values.html"> <link title="Index of modules" rel=Appendix href="index_modules.html"> <link title="Index of module types" rel=Appendix href="index_module_types.html"> <link title="Async_print" rel="Chapter" href="Async_print.html"> <link title="Async_sys" rel="Chapter" href="Async_sys.html"> <link title="Epoll_file_descr_watcher" rel="Chapter" href="Epoll_file_descr_watcher.html"> <link title="Fd" rel="Chapter" href="Fd.html"> <link title="Fd_by_descr" rel="Chapter" href="Fd_by_descr.html"> <link title="File_descr_watcher_intf" rel="Chapter" href="File_descr_watcher_intf.html"> <link title="Import" rel="Chapter" href="Import.html"> <link title="Interruptor" rel="Chapter" href="Interruptor.html"> <link title="In_thread" rel="Chapter" href="In_thread.html"> <link title="Io_stats" rel="Chapter" href="Io_stats.html"> <link title="Process" rel="Chapter" href="Process.html"> <link title="Raw_fd" rel="Chapter" href="Raw_fd.html"> <link title="Raw_scheduler" rel="Chapter" href="Raw_scheduler.html"> <link title="Raw_signal_manager" rel="Chapter" href="Raw_signal_manager.html"> <link title="Reader" rel="Chapter" href="Reader.html"> <link title="Read_write" rel="Chapter" href="Read_write.html"> <link title="Scheduler" rel="Chapter" href="Scheduler.html"> <link title="Select_file_descr_watcher" rel="Chapter" href="Select_file_descr_watcher.html"> <link title="Shutdown" rel="Chapter" href="Shutdown.html"> <link title="Signal" rel="Chapter" href="Signal.html"> <link title="Signal_manager" rel="Chapter" href="Signal_manager.html"> <link title="Std" rel="Chapter" href="Std.html"> <link title="Syscall" rel="Chapter" href="Syscall.html"> <link title="Thread_pool" rel="Chapter" href="Thread_pool.html"> <link title="Thread_safe" rel="Chapter" href="Thread_safe.html"> <link title="Thread_safe_pipe" rel="Chapter" href="Thread_safe_pipe.html"> <link title="Unix_syscalls" rel="Chapter" href="Unix_syscalls.html"> <link title="Writer" rel="Chapter" href="Writer.html"><title>Std.Socket</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Address</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Unix</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = [ <span class="keywordsign">`</span><span class="constructor">Unix</span> <span class="keyword">of</span> string ]<br> <span class="keyword">val</span> create : string <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> to_string : t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> t_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> __t_of_sexp__ : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> sexp_of_t : t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> bin_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.t<br> <span class="keyword">val</span> bin_read_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Read_ml</span>.reader<br> <span class="keyword">val</span> bin_read_t_ : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_read_c</span>.reader<br> <span class="keyword">val</span> bin_read_t__ :<br> (int <span class="keywordsign">-></span> t) <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_read_c</span>.reader<br> <span class="keyword">val</span> bin_reader_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.reader<br> <span class="keyword">val</span> bin_size_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Size</span>.sizer<br> <span class="keyword">val</span> bin_write_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Write_ml</span>.writer<br> <span class="keyword">val</span> bin_write_t_ : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_write_c</span>.writer<br> <span class="keyword">val</span> bin_writer_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.writer<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Inet</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = [ <span class="keywordsign">`</span><span class="constructor">Inet</span> <span class="keyword">of</span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t * int ]<br> <span class="keyword">val</span> create : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t <span class="keywordsign">-></span> port:int <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> create_bind_any : port:int <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> addr : t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> port : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> to_string : t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> t_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> __t_of_sexp__ : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> sexp_of_t : t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> bin_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.t<br> <span class="keyword">val</span> bin_read_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Read_ml</span>.reader<br> <span class="keyword">val</span> bin_read_t_ : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_read_c</span>.reader<br> <span class="keyword">val</span> bin_read_t__ :<br> (int <span class="keywordsign">-></span> t) <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_read_c</span>.reader<br> <span class="keyword">val</span> bin_reader_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.reader<br> <span class="keyword">val</span> bin_size_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Size</span>.sizer<br> <span class="keyword">val</span> bin_write_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Write_ml</span>.writer<br> <span class="keyword">val</span> bin_write_t_ : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_write_c</span>.writer<br> <span class="keyword">val</span> bin_writer_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.writer<br> <span class="keyword">end</span><br> <span class="keyword">type</span> t = [ <span class="keywordsign">`</span><span class="constructor">Inet</span> <span class="keyword">of</span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t * int <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unix</span> <span class="keyword">of</span> string ]<br> <span class="keyword">val</span> to_string : [< t ] <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> to_sockaddr : [< t ] <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Unix</span>.sockaddr<br> <span class="keyword">val</span> t_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> __t_of_sexp__ : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> sexp_of_t : t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> bin_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.t<br> <span class="keyword">val</span> bin_read_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Read_ml</span>.reader<br> <span class="keyword">val</span> bin_read_t_ : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_read_c</span>.reader<br> <span class="keyword">val</span> bin_read_t__ : (int <span class="keywordsign">-></span> t) <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_read_c</span>.reader<br> <span class="keyword">val</span> bin_reader_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.reader<br> <span class="keyword">val</span> bin_size_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Size</span>.sizer<br> <span class="keyword">val</span> bin_write_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Write_ml</span>.writer<br> <span class="keyword">val</span> bin_write_t_ : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Unsafe_write_c</span>.writer<br> <span class="keyword">val</span> bin_writer_t : t <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Bin_prot</span>.<span class="constructor">Type_class</span>.writer<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Family</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = <span class="keywordsign">'</span>a <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Family</span>.t<br> <span class="keyword">constraint</span> <span class="keywordsign">'</span>a = [< <span class="constructor">Address</span>.t ]<br> <span class="keyword">val</span> unix : <span class="constructor">Address</span>.<span class="constructor">Unix</span>.t t<br> <span class="keyword">val</span> inet : <span class="constructor">Address</span>.<span class="constructor">Inet</span>.t t<br> <span class="keyword">val</span> to_string : [< <span class="constructor">Address</span>.t ] t <span class="keywordsign">-></span> string<br> <span class="keyword">end</span><br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) t = (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t<br> <span class="keyword">constraint</span> <span class="keywordsign">'</span>a = [< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ]<br> <span class="keyword">constraint</span> <span class="keywordsign">'</span>b = [< <span class="constructor">Address</span>.t ]<br> <span class="keyword">module</span> <span class="constructor">Type</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = <span class="keywordsign">'</span>a <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">constraint</span> <span class="keywordsign">'</span>a = [< <span class="constructor">Address</span>.t ]<br> <span class="keyword">val</span> tcp : <span class="constructor">Address</span>.<span class="constructor">Inet</span>.t t<br> <span class="keyword">val</span> udp : <span class="constructor">Address</span>.<span class="constructor">Inet</span>.t t<br> <span class="keyword">val</span> unix : <span class="constructor">Address</span>.<span class="constructor">Unix</span>.t t<br> <span class="keyword">end</span><br> <span class="keyword">val</span> create : ([< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Type</span>.t <span class="keywordsign">-></span> ([ <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], <span class="keywordsign">'</span>a) t<br> <span class="keyword">val</span> connect :<br> ([ <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> ([ <span class="keywordsign">`</span><span class="constructor">Active</span> ], <span class="keywordsign">'</span>a) t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> connect_interruptible :<br> ([ <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="keywordsign">-></span><br> interrupt:unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Interrupted</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ok</span> <span class="keyword">of</span> ([ <span class="keywordsign">`</span><span class="constructor">Active</span> ], <span class="keywordsign">'</span>a) t ] <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> bind :<br> ([ <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> ([ <span class="keywordsign">`</span><span class="constructor">Bound</span> ], <span class="keywordsign">'</span>a) t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> listen :<br> ?max_pending_connections:int <span class="keywordsign">-></span><br> ([ <span class="keywordsign">`</span><span class="constructor">Bound</span> ], [< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) t <span class="keywordsign">-></span> ([ <span class="keywordsign">`</span><span class="constructor">Passive</span> ], <span class="keywordsign">'</span>a) t<br> <span class="keyword">val</span> accept :<br> ([ <span class="keywordsign">`</span><span class="constructor">Passive</span> ], [< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) t <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Ok</span> <span class="keyword">of</span> ([ <span class="keywordsign">`</span><span class="constructor">Active</span> ], <span class="keywordsign">'</span>a) t * <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Socket_closed</span> ] <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> accept_interruptible :<br> ([ <span class="keywordsign">`</span><span class="constructor">Passive</span> ], [< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) t <span class="keywordsign">-></span><br> interrupt:unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Interrupted</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ok</span> <span class="keyword">of</span> ([ <span class="keywordsign">`</span><span class="constructor">Active</span> ], <span class="keywordsign">'</span>a) t * <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Socket_closed</span> ]<br> <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> shutdown :<br> ([< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ]) t <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Receive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Send</span> ] <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fd :<br> ([< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ]) t <span class="keywordsign">-></span><br> <span class="constructor">Fd</span>.t<br> <span class="keyword">val</span> of_fd :<br> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span><br> ([< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> ([< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], <span class="keywordsign">'</span>a) t<br> <span class="keyword">val</span> getsockname :<br> ([< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> getpeername :<br> ([< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a<br> <span class="keyword">module</span> <span class="constructor">Opt</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = <span class="keywordsign">'</span>a <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> debug : bool t<br> <span class="keyword">val</span> broadcast : bool t<br> <span class="keyword">val</span> reuseaddr : bool t<br> <span class="keyword">val</span> keepalive : bool t<br> <span class="keyword">val</span> dontroute : bool t<br> <span class="keyword">val</span> oobinline : bool t<br> <span class="keyword">val</span> acceptconn : bool t<br> <span class="keyword">val</span> nodelay : bool t<br> <span class="keyword">val</span> sndbuf : int t<br> <span class="keyword">val</span> rcvbuf : int t<br> <span class="keyword">val</span> error : int t<br> <span class="keyword">val</span> typ : int t<br> <span class="keyword">val</span> rcvlowat : int t<br> <span class="keyword">val</span> sndlowat : int t<br> <span class="keyword">val</span> linger : int option t<br> <span class="keyword">val</span> rcvtimeo : float t<br> <span class="keyword">val</span> sndtimeo : float t<br> <span class="keyword">val</span> to_string : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> string<br> <span class="keyword">end</span><br> <span class="keyword">val</span> getopt :<br> ([< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ]) t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>c <span class="constructor">Opt</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>c<br> <span class="keyword">val</span> setopt :<br> ([< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Address</span>.t ]) t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>c <span class="constructor">Opt</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>c <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> sexp_of_t :<br> (([< <span class="keywordsign">`</span><span class="constructor">Active</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Bound</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Passive</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ] <span class="keyword">as</span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span><br> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span><br> (([< <span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span></code></body></html>