<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>Unix_syscalls</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Exit</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> error = [ <span class="keywordsign">`</span><span class="constructor">Exit_non_zero</span> <span class="keyword">of</span> int ]<br> <span class="keyword">type</span> t = (unit, error) <span class="constructor">Core</span>.<span class="constructor">Result</span>.t<br> <span class="keyword">val</span> to_string_hum : t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> code : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> of_code : int <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> error_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> error<br> <span class="keyword">val</span> __error_of_sexp__ : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> error<br> <span class="keyword">val</span> sexp_of_error : error <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</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">end</span><br> <span class="keyword">module</span> <span class="constructor">Exit_or_signal</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> error = [ <span class="keywordsign">`</span><span class="constructor">Exit_non_zero</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Signal</span> <span class="keyword">of</span> <span class="constructor">Core</span>.<span class="constructor">Signal</span>.t ]<br> <span class="keyword">type</span> t = (unit, error) <span class="constructor">Core</span>.<span class="constructor">Result</span>.t<br> <span class="keyword">val</span> of_unix : <span class="constructor">Core</span>.<span class="constructor">Caml</span>.<span class="constructor">Unix</span>.process_status <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> to_string_hum : t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> error_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> error<br> <span class="keyword">val</span> __error_of_sexp__ : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> error<br> <span class="keyword">val</span> sexp_of_error : error <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</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">end</span><br> <span class="keyword">module</span> <span class="constructor">Exit_or_signal_or_stop</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> error =<br> [ <span class="keywordsign">`</span><span class="constructor">Exit_non_zero</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Signal</span> <span class="keyword">of</span> <span class="constructor">Core</span>.<span class="constructor">Signal</span>.t<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Stop</span> <span class="keyword">of</span> <span class="constructor">Core</span>.<span class="constructor">Signal</span>.t ]<br> <span class="keyword">type</span> t = (unit, error) <span class="constructor">Core</span>.<span class="constructor">Result</span>.t<br> <span class="keyword">val</span> of_unix : <span class="constructor">Core</span>.<span class="constructor">Caml</span>.<span class="constructor">Unix</span>.process_status <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> to_string_hum : t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> error_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> error<br> <span class="keyword">val</span> __error_of_sexp__ : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> error<br> <span class="keyword">val</span> sexp_of_error : error <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</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">end</span><br> <span class="keyword">val</span> system : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Exit_or_signal</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> system_exn : string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getpid : unit <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t<br> <span class="keyword">val</span> getppid : unit <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t option<br> <span class="keyword">val</span> getppid_exn : unit <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t<br> <span class="keyword">val</span> this_process_became_child_of_init :<br> ?poll_delay:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.<span class="constructor">Span</span>.t <span class="keywordsign">-></span> unit <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> nice : int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> cores : (unit <span class="keywordsign">-></span> int <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t) <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Or_error</span>.t<br> <span class="keyword">type</span> open_flag =<br> [ <span class="keywordsign">`</span><span class="constructor">Append</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Creat</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Dsync</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Excl</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Noctty</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Nonblock</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Rdonly</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Rdwr</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Rsync</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Sync</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Trunc</span><br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Wronly</span> ]<br> <span class="keyword">type</span> file_perm = int<br> <span class="keyword">val</span> openfile :<br> ?perm:<span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span><br> ?close_on_exec:bool <span class="keywordsign">-></span><br> string <span class="keywordsign">-></span> mode:<span class="constructor">Unix_syscalls</span>.open_flag list <span class="keywordsign">-></span> <span class="constructor">Fd</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> with_file :<br> ?exclusive:[ <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Write</span> ] <span class="keywordsign">-></span><br> ?perm:<span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span><br> string <span class="keywordsign">-></span><br> mode:<span class="constructor">Unix_syscalls</span>.open_flag list <span class="keywordsign">-></span><br> f:(<span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">module</span> <span class="constructor">Open_flags</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Core</span>.<span class="constructor">Core_unix</span>.<span class="constructor">Open_flags</span>.t<br> <span class="keyword">val</span> of_int : int <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> to_int_exn : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> equal : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> empty : t<br> <span class="keyword">val</span> ( + ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> ( - ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> intersect : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> complement : t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> is_empty : t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> do_intersect : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> are_disjoint : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> rdonly : t<br> <span class="keyword">val</span> wronly : t<br> <span class="keyword">val</span> rdwr : t<br> <span class="keyword">val</span> creat : t<br> <span class="keyword">val</span> excl : t<br> <span class="keyword">val</span> noctty : t<br> <span class="keyword">val</span> trunc : t<br> <span class="keyword">val</span> append : t<br> <span class="keyword">val</span> nonblock : t<br> <span class="keyword">val</span> dsync : t<br> <span class="keyword">val</span> sync : t<br> <span class="keyword">val</span> rsync : t<br> <span class="keyword">val</span> can_read : t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> can_write : t <span class="keywordsign">-></span> bool<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">end</span><br> <span class="keyword">val</span> fcntl_getfl : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Open_flags</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> fcntl_setfl :<br> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Open_flags</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> close :<br> ?should_close_file_descriptor:bool <span class="keywordsign">-></span> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> lseek :<br> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> mode:[< <span class="keywordsign">`</span><span class="constructor">Cur</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">End</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Set</span> ] <span class="keywordsign">-></span> int64 <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> truncate : string <span class="keywordsign">-></span> len:int64 <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> ftruncate : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> len:int64 <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> fsync : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> fdatasync : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> sync : unit <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> lockf :<br> ?len:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Int64</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> [ <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Write</span> ] <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> try_lockf : ?len:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Int64</span>.t <span class="keywordsign">-></span> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> [ <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Write</span> ] <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> test_lockf : ?len:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Int64</span>.t <span class="keywordsign">-></span> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> unlockf : ?len:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Int64</span>.t <span class="keywordsign">-></span> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">module</span> <span class="constructor">File_kind</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t =<br> [ <span class="keywordsign">`</span><span class="constructor">Block</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Char</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Directory</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Fifo</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">File</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Link</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Socket</span> ]<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Stats</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = {<br> dev : int;<br> ino : int;<br> kind : <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t;<br> perm : <span class="constructor">Unix_syscalls</span>.file_perm;<br> nlink : int;<br> uid : int;<br> gid : int;<br> rdev : int;<br> size : int64;<br> atime : <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t;<br> mtime : <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t;<br> ctime : <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t;<br> }<br> <span class="keyword">val</span> ctime : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t<br> <span class="keyword">val</span> mtime : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t<br> <span class="keyword">val</span> atime : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t<br> <span class="keyword">val</span> size : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int64<br> <span class="keyword">val</span> rdev : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> gid : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> uid : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> nlink : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> perm : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.file_perm<br> <span class="keyword">val</span> kind : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t<br> <span class="keyword">val</span> ino : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> dev : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">module</span> <span class="constructor">Fields</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> names : string list<br> <span class="keyword">val</span> ctime :<br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> mtime :<br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> atime :<br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> size : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> rdev : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> gid : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> uid : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> nlink : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> perm :<br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> kind :<br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> ino : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> dev : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> fold :<br> init:<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> dev:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> ino:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> kind:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> perm:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> nlink:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> uid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> gid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> rdev:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> size:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> atime:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> mtime:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> ctime:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__<br> <span class="keyword">val</span> make_creator :<br> dev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> ino:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> kind:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> perm:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.file_perm) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> nlink:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> rdev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> size:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int64) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> atime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> mtime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> ctime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t) * <span class="keywordsign">'</span>compile_acc__<br> <span class="keyword">val</span> create :<br> dev:int <span class="keywordsign">-></span><br> ino:int <span class="keywordsign">-></span><br> kind:<span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t <span class="keywordsign">-></span><br> perm:<span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span><br> nlink:int <span class="keywordsign">-></span><br> uid:int <span class="keywordsign">-></span><br> gid:int <span class="keywordsign">-></span><br> rdev:int <span class="keywordsign">-></span><br> size:int64 <span class="keywordsign">-></span><br> atime:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span><br> mtime:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span><br> ctime:<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t<br> <span class="keyword">val</span> map :<br> dev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> ino:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> kind:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t) <span class="keywordsign">-></span><br> perm:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.file_perm) <span class="keywordsign">-></span><br> nlink:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> rdev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> size:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int64) <span class="keywordsign">-></span><br> atime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="keywordsign">-></span><br> mtime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="keywordsign">-></span><br> ctime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t<br> <span class="keyword">val</span> iter :<br> dev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ino:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> kind:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> perm:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> nlink:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> rdev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> size:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> atime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> unit) <span class="keywordsign">-></span><br> mtime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> unit) <span class="keywordsign">-></span><br> ctime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> for_all :<br> dev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> ino:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> kind:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> perm:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> nlink:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> rdev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> size:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> atime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> mtime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> ctime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> bool<br> <span class="keyword">val</span> exists :<br> dev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> ino:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> kind:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> perm:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> nlink:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> rdev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> size:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> atime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> mtime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> ctime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> bool<br> <span class="keyword">val</span> to_list :<br> dev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> ino:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> kind:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> perm:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> nlink:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> rdev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> size:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> atime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> mtime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> ctime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__ list<br> <span class="keyword">val</span> map_poly :<br> ([< <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Set_and_create</span> ], <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="keywordsign">'</span>x0)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.user <span class="keywordsign">-></span> <span class="keywordsign">'</span>x0 list<br> <span class="keyword">module</span> <span class="constructor">Direct</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> iter :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span><br> dev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ino:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> kind:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> perm:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> nlink:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> rdev:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> size:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> atime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> mtime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> ctime:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> fold :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span><br> init:<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> dev:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> ino:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> kind:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">File_kind</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> perm:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Unix_syscalls</span>.file_perm)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> nlink:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> uid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> gid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> rdev:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> size:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, int64) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> atime:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> mtime:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> ctime:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t, <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Time</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">val</span> to_string : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> t_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t<br> <span class="keyword">val</span> sexp_of_t : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">val</span> fstat : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> stat : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> lstat : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Stats</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> unlink : string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> remove : string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> rename : src:string <span class="keywordsign">-></span> dst:string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> link :<br> ?force:bool <span class="keywordsign">-></span><br> target:string <span class="keywordsign">-></span> link_name:string <span class="keywordsign">-></span> unit <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> chmod :<br> string <span class="keywordsign">-></span> perm:<span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> fchmod : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> perm:<span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> chown : string <span class="keywordsign">-></span> uid:int <span class="keywordsign">-></span> gid:int <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> fchown : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> uid:int <span class="keywordsign">-></span> gid:int <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> access :<br> string <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Exec</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Exists</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Write</span> ] list <span class="keywordsign">-></span><br> (unit, exn) <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Result</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> access_exn :<br> string <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Exec</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Exists</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Write</span> ] list <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> set_close_on_exec : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> clear_close_on_exec : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> mkdir :<br> ?p:unit <span class="keywordsign">-></span><br> ?perm:<span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> rmdir : string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> chdir : string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getcwd : unit <span class="keywordsign">-></span> string <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> chroot : string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">type</span> dir_handle = <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Unix</span>.dir_handle<br> <span class="keyword">val</span> opendir : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.dir_handle <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> readdir : <span class="constructor">Unix_syscalls</span>.dir_handle <span class="keywordsign">-></span> string <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> rewinddir : <span class="constructor">Unix_syscalls</span>.dir_handle <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> closedir : <span class="constructor">Unix_syscalls</span>.dir_handle <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> pipe :<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Info</span>.t <span class="keywordsign">-></span><br> ([ <span class="keywordsign">`</span><span class="constructor">Reader</span> <span class="keyword">of</span> <span class="constructor">Fd</span>.t ] * [ <span class="keywordsign">`</span><span class="constructor">Writer</span> <span class="keyword">of</span> <span class="constructor">Fd</span>.t ]) <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> mkfifo :<br> ?perm:<span class="constructor">Unix_syscalls</span>.file_perm <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> symlink : src:string <span class="keywordsign">-></span> dst:string <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> readlink : string <span class="keywordsign">-></span> string <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> mkstemp : string <span class="keywordsign">-></span> (string * <span class="constructor">Fd</span>.t) <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> mkdtemp : string <span class="keywordsign">-></span> string <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">type</span> process_times =<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Unix</span>.process_times = {<br> tms_utime : float;<br> tms_stime : float;<br> tms_cutime : float;<br> tms_cstime : float;<br> }<br> <span class="keyword">val</span> times : unit <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.process_times<br> <span class="keyword">type</span> tm =<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Unix</span>.tm = {<br> tm_sec : int;<br> tm_min : int;<br> tm_hour : int;<br> tm_mday : int;<br> tm_mon : int;<br> tm_year : int;<br> tm_wday : int;<br> tm_yday : int;<br> tm_isdst : bool;<br> }<br> <span class="keyword">val</span> time : unit <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> gettimeofday : unit <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> gmtime : float <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.tm<br> <span class="keyword">val</span> localtime : float <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.tm<br> <span class="keyword">val</span> mktime : <span class="constructor">Unix_syscalls</span>.tm <span class="keywordsign">-></span> float * <span class="constructor">Unix_syscalls</span>.tm<br> <span class="keyword">val</span> utimes :<br> string <span class="keywordsign">-></span> access:float <span class="keywordsign">-></span> modif:float <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> environment : unit <span class="keywordsign">-></span> string array<br> <span class="keyword">val</span> getenv : string <span class="keywordsign">-></span> string option<br> <span class="keyword">val</span> getenv_exn : string <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> putenv : key:string <span class="keywordsign">-></span> data:string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> unsetenv : string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fork_exec :<br> prog:string <span class="keywordsign">-></span><br> args:string list <span class="keywordsign">-></span><br> ?use_path:bool <span class="keywordsign">-></span><br> ?env:string list <span class="keywordsign">-></span> unit <span class="keywordsign">-></span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">type</span> wait_on =<br> [ <span class="keywordsign">`</span><span class="constructor">Any</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Group</span> <span class="keyword">of</span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">My_group</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Pid</span> <span class="keyword">of</span> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t ]<br> <span class="keyword">val</span> wait :<br> <span class="constructor">Unix_syscalls</span>.wait_on <span class="keywordsign">-></span><br> (<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t * <span class="constructor">Unix_syscalls</span>.<span class="constructor">Exit_or_signal</span>.t) <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> wait_nohang :<br> <span class="constructor">Unix_syscalls</span>.wait_on <span class="keywordsign">-></span><br> (<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t * <span class="constructor">Unix_syscalls</span>.<span class="constructor">Exit_or_signal</span>.t) option<br> <span class="keyword">val</span> wait_untraced :<br> <span class="constructor">Unix_syscalls</span>.wait_on <span class="keywordsign">-></span><br> (<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t * <span class="constructor">Unix_syscalls</span>.<span class="constructor">Exit_or_signal_or_stop</span>.t)<br> <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> wait_nohang_untraced :<br> <span class="constructor">Unix_syscalls</span>.wait_on <span class="keywordsign">-></span><br> (<span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t * <span class="constructor">Unix_syscalls</span>.<span class="constructor">Exit_or_signal_or_stop</span>.t) option<br> <span class="keyword">val</span> waitpid :<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Exit_or_signal</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> waitpid_exn : <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Pid</span>.t <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">module</span> <span class="constructor">Inet_addr</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Unix</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> ( >= ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( <= ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( = ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( > ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( < ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( <> ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> equal : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> min : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> max : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> ascending : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> descending : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> between : t <span class="keywordsign">-></span> low:t <span class="keywordsign">-></span> high:t <span class="keywordsign">-></span> bool<br> <span class="keyword">module</span> <span class="constructor">Replace_polymorphic_compare</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> ( >= ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( <= ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( = ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( > ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( < ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> ( <> ) : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> equal : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> min : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> max : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> _squelch_unused_module_warning_ : unit<br> <span class="keyword">end</span><br> <span class="keyword">type</span> comparator<br> <span class="keyword">val</span> comparator : (t, comparator) <span class="constructor">Core</span>.<span class="constructor">Comparator</span>.t<br> <span class="keyword">val</span> validate_lbound :<br> min:t <span class="constructor">Core</span>.<span class="constructor">Comparable_intf</span>.bound <span class="keywordsign">-></span> t <span class="constructor">Core</span>.<span class="constructor">Validate</span>.check<br> <span class="keyword">val</span> validate_ubound :<br> max:t <span class="constructor">Core</span>.<span class="constructor">Comparable_intf</span>.bound <span class="keywordsign">-></span> t <span class="constructor">Core</span>.<span class="constructor">Validate</span>.check<br> <span class="keyword">val</span> validate_bound :<br> min:t <span class="constructor">Core</span>.<span class="constructor">Comparable_intf</span>.bound <span class="keywordsign">-></span><br> max:t <span class="constructor">Core</span>.<span class="constructor">Comparable_intf</span>.bound <span class="keywordsign">-></span> t <span class="constructor">Core</span>.<span class="constructor">Validate</span>.check<br> <span class="keyword">module</span> <span class="constructor">Map</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Key</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = t<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> sexp_of_t : t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">type</span> comparator = comparator<br> <span class="keyword">val</span> comparator : (t, comparator) <span class="constructor">Core</span>.<span class="constructor">Comparator</span>.t_<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Tree</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = (<span class="constructor">Key</span>.t, <span class="keywordsign">'</span>a, <span class="constructor">Key</span>.comparator) <span class="constructor">Core</span>.<span class="constructor">Core_map</span>.<span class="constructor">Tree</span>.t<br> <span class="keyword">val</span> empty : <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> singleton : <span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> of_alist :<br> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Duplicate_key</span> <span class="keyword">of</span> <span class="constructor">Key</span>.t <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ok</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a t ]<br> <span class="keyword">val</span> of_alist_exn : (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> of_alist_multi : (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list t<br> <span class="keyword">val</span> of_alist_fold :<br> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> of_sorted_array :<br> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="constructor">Core</span>.<span class="constructor">Or_error</span>.t<br> <span class="keyword">val</span> of_sorted_array_unchecked : (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> of_tree : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> invariants : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> is_empty : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> length : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> add : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> add_multi : <span class="keywordsign">'</span>a list t <span class="keywordsign">-></span> key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list t<br> <span class="keyword">val</span> change : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a option <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> find : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option<br> <span class="keyword">val</span> find_exn : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> remove : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> mem : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> iter : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter2 :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>b t <span class="keywordsign">-></span><br> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span><br> data:[ <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Left</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Right</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b ] <span class="keywordsign">-></span><br> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> map : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> mapi : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> fold :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> fold_right :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> filter : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> filter_map : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> filter_mapi :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> compare_direct : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> equal : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> keys : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t list<br> <span class="keyword">val</span> data : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list<br> <span class="keyword">val</span> to_alist : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list<br> <span class="keyword">val</span> validate :<br> name:(<span class="constructor">Key</span>.t <span class="keywordsign">-></span> string) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Core</span>.<span class="constructor">Validate</span>.check <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="constructor">Core</span>.<span class="constructor">Validate</span>.check<br> <span class="keyword">val</span> merge :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>b t <span class="keywordsign">-></span><br> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Left</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Right</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b ] <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>c option) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>c t<br> <span class="keyword">val</span> symmetric_diff :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> data_equal:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> (<span class="constructor">Key</span>.t * [ <span class="keywordsign">`</span><span class="constructor">Left</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Right</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unequal</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>a ])<br> list<br> <span class="keyword">val</span> min_elt : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) option<br> <span class="keyword">val</span> min_elt_exn : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> max_elt : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) option<br> <span class="keyword">val</span> max_elt_exn : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> for_all : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> exists : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> fold_range_inclusive :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> min:<span class="constructor">Key</span>.t <span class="keywordsign">-></span><br> max:<span class="constructor">Key</span>.t <span class="keywordsign">-></span><br> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> range_to_alist :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> min:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> max:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list<br> <span class="keyword">val</span> prev_key : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) option<br> <span class="keyword">val</span> next_key : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) option<br> <span class="keyword">val</span> rank : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> int option<br> <span class="keyword">val</span> to_tree : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> t_of_sexp :<br> (<span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> sexp_of_t :<br> (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">type</span> <span class="keywordsign">'</span>a t = (<span class="constructor">Key</span>.t, <span class="keywordsign">'</span>a, <span class="constructor">Key</span>.comparator) <span class="constructor">Core</span>.<span class="constructor">Core_map</span>.t<br> <span class="keyword">val</span> empty : <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> singleton : <span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> of_alist :<br> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list <span class="keywordsign">-></span> [ <span class="keywordsign">`</span><span class="constructor">Duplicate_key</span> <span class="keyword">of</span> <span class="constructor">Key</span>.t <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Ok</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a t ]<br> <span class="keyword">val</span> of_alist_exn : (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> of_alist_multi : (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list t<br> <span class="keyword">val</span> of_alist_fold :<br> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> of_sorted_array : (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="constructor">Core</span>.<span class="constructor">Or_error</span>.t<br> <span class="keyword">val</span> of_sorted_array_unchecked : (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> of_tree : <span class="keywordsign">'</span>a <span class="constructor">Tree</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> invariants : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> is_empty : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> length : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> add : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> add_multi : <span class="keywordsign">'</span>a list t <span class="keywordsign">-></span> key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list t<br> <span class="keyword">val</span> change : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> (<span class="keywordsign">'</span>a option <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> find : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option<br> <span class="keyword">val</span> find_exn : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> remove : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> mem : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> iter : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> iter2 :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>b t <span class="keywordsign">-></span><br> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span><br> data:[ <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Left</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Right</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b ] <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> map : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> mapi : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> fold :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> fold_right :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> filter : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> filter_map : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> filter_mapi :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b t<br> <span class="keyword">val</span> compare_direct : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> equal : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> keys : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t list<br> <span class="keyword">val</span> data : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a list<br> <span class="keyword">val</span> to_alist : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list<br> <span class="keyword">val</span> validate :<br> name:(<span class="constructor">Key</span>.t <span class="keywordsign">-></span> string) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a <span class="constructor">Core</span>.<span class="constructor">Validate</span>.check <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="constructor">Core</span>.<span class="constructor">Validate</span>.check<br> <span class="keyword">val</span> merge :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>b t <span class="keywordsign">-></span><br> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span><br> [ <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>b <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Left</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Right</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b ] <span class="keywordsign">-></span> <span class="keywordsign">'</span>c option) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>c t<br> <span class="keyword">val</span> symmetric_diff :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> data_equal:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> (<span class="constructor">Key</span>.t * [ <span class="keywordsign">`</span><span class="constructor">Left</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Right</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Unequal</span> <span class="keyword">of</span> <span class="keywordsign">'</span>a * <span class="keywordsign">'</span>a ])<br> list<br> <span class="keyword">val</span> min_elt : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) option<br> <span class="keyword">val</span> min_elt_exn : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> max_elt : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) option<br> <span class="keyword">val</span> max_elt_exn : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> for_all : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> exists : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> fold_range_inclusive :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span><br> min:<span class="constructor">Key</span>.t <span class="keywordsign">-></span><br> max:<span class="constructor">Key</span>.t <span class="keywordsign">-></span><br> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(key:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> data:<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> range_to_alist :<br> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> min:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> max:<span class="constructor">Key</span>.t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) list<br> <span class="keyword">val</span> prev_key : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) option<br> <span class="keyword">val</span> next_key : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> (<span class="constructor">Key</span>.t * <span class="keywordsign">'</span>a) option<br> <span class="keyword">val</span> rank : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Key</span>.t <span class="keywordsign">-></span> int option<br> <span class="keyword">val</span> to_tree : <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="constructor">Tree</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> <span class="keywordsign">'</span>a) <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t<br> <span class="keyword">val</span> sexp_of_t : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> compare : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> int) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a t <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Set</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">module</span> <span class="constructor">Elt</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = t<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> sexp_of_t : t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">type</span> comparator = comparator<br> <span class="keyword">val</span> comparator : (t, comparator) <span class="constructor">Core</span>.<span class="constructor">Comparator</span>.t_<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Tree</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = (<span class="constructor">Elt</span>.t, <span class="constructor">Elt</span>.comparator) <span class="constructor">Core</span>.<span class="constructor">Core_set</span>.<span class="constructor">Tree</span>.t<br> <span class="keyword">val</span> length : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> is_empty : t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> iter : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fold :<br> t <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>accum <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>accum <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>accum) <span class="keywordsign">-></span> <span class="keywordsign">'</span>accum<br> <span class="keyword">val</span> exists : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> for_all : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> count : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> find : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> find_map : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option<br> <span class="keyword">val</span> to_list : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t list<br> <span class="keyword">val</span> to_array : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t array<br> <span class="keyword">val</span> invariants : t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> mem : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> add : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> remove : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> union : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> inter : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> diff : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> compare_direct : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> equal : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> subset : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> fold_until :<br> t <span class="keywordsign">-></span><br> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span><br> f:(<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> [ <span class="keywordsign">`</span><span class="constructor">Continue</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Stop</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b ]) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> fold_right : t <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> iter2 :<br> t <span class="keywordsign">-></span><br> t <span class="keywordsign">-></span><br> f:([ <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keyword">of</span> <span class="constructor">Elt</span>.t * <span class="constructor">Elt</span>.t<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Left</span> <span class="keyword">of</span> <span class="constructor">Elt</span>.t<br> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Right</span> <span class="keyword">of</span> <span class="constructor">Elt</span>.t ] <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> filter : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> partition_tf : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> t * t<br> <span class="keyword">val</span> elements : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t list<br> <span class="keyword">val</span> min_elt : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> min_elt_exn : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t<br> <span class="keyword">val</span> max_elt : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> max_elt_exn : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t<br> <span class="keyword">val</span> choose : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> choose_exn : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t<br> <span class="keyword">val</span> split : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> t * bool * t<br> <span class="keyword">val</span> group_by : t <span class="keywordsign">-></span> equiv:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> t list<br> <span class="keyword">val</span> find_exn : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t<br> <span class="keyword">val</span> find_index : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> remove_index : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> to_tree : t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> empty : t<br> <span class="keyword">val</span> singleton : <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> union_list : t list <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> of_list : <span class="constructor">Elt</span>.t list <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> of_array : <span class="constructor">Elt</span>.t array <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> of_sorted_array : <span class="constructor">Elt</span>.t array <span class="keywordsign">-></span> t <span class="constructor">Core</span>.<span class="constructor">Or_error</span>.t<br> <span class="keyword">val</span> of_sorted_array_unchecked : <span class="constructor">Elt</span>.t array <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> stable_dedup_list : <span class="constructor">Elt</span>.t list <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t list<br> <span class="keyword">val</span> map : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Core</span>.<span class="constructor">Core_set</span>.<span class="constructor">Tree</span>.t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> filter_map :<br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Core</span>.<span class="constructor">Core_set</span>.<span class="constructor">Tree</span>.t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> of_tree : 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> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">type</span> t = (<span class="constructor">Elt</span>.t, <span class="constructor">Elt</span>.comparator) <span class="constructor">Core</span>.<span class="constructor">Core_set</span>.t<br> <span class="keyword">val</span> length : t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> is_empty : t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> iter : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fold :<br> t <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>accum <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>accum <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>accum) <span class="keywordsign">-></span> <span class="keywordsign">'</span>accum<br> <span class="keyword">val</span> exists : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> for_all : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> count : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> find : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> find_map : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a option<br> <span class="keyword">val</span> to_list : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t list<br> <span class="keyword">val</span> to_array : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t array<br> <span class="keyword">val</span> invariants : t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> mem : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> add : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> remove : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> union : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> inter : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> diff : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> compare_direct : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> equal : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> subset : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> fold_until :<br> t <span class="keywordsign">-></span><br> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span><br> f:(<span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> [ <span class="keywordsign">`</span><span class="constructor">Continue</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Stop</span> <span class="keyword">of</span> <span class="keywordsign">'</span>b ]) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> fold_right : t <span class="keywordsign">-></span> init:<span class="keywordsign">'</span>b <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>b <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<br> <span class="keyword">val</span> iter2 :<br> t <span class="keywordsign">-></span><br> t <span class="keywordsign">-></span><br> f:([ <span class="keywordsign">`</span><span class="constructor">Both</span> <span class="keyword">of</span> <span class="constructor">Elt</span>.t * <span class="constructor">Elt</span>.t <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Left</span> <span class="keyword">of</span> <span class="constructor">Elt</span>.t <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Right</span> <span class="keyword">of</span> <span class="constructor">Elt</span>.t ] <span class="keywordsign">-></span><br> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> filter : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> partition_tf : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> t * t<br> <span class="keyword">val</span> elements : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t list<br> <span class="keyword">val</span> min_elt : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> min_elt_exn : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t<br> <span class="keyword">val</span> max_elt : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> max_elt_exn : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t<br> <span class="keyword">val</span> choose : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> choose_exn : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t<br> <span class="keyword">val</span> split : t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> t * bool * t<br> <span class="keyword">val</span> group_by : t <span class="keywordsign">-></span> equiv:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> t list<br> <span class="keyword">val</span> find_exn : t <span class="keywordsign">-></span> f:(<span class="constructor">Elt</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t<br> <span class="keyword">val</span> find_index : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option<br> <span class="keyword">val</span> remove_index : t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> to_tree : t <span class="keywordsign">-></span> <span class="constructor">Tree</span>.t<br> <span class="keyword">val</span> empty : t<br> <span class="keyword">val</span> singleton : <span class="constructor">Elt</span>.t <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> union_list : t list <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> of_list : <span class="constructor">Elt</span>.t list <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> of_array : <span class="constructor">Elt</span>.t array <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> of_sorted_array : <span class="constructor">Elt</span>.t array <span class="keywordsign">-></span> t <span class="constructor">Core</span>.<span class="constructor">Or_error</span>.t<br> <span class="keyword">val</span> of_sorted_array_unchecked : <span class="constructor">Elt</span>.t array <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> stable_dedup_list : <span class="constructor">Elt</span>.t list <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t list<br> <span class="keyword">val</span> map : (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Core</span>.<span class="constructor">Core_set</span>.t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> filter_map :<br> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) <span class="constructor">Core</span>.<span class="constructor">Core_set</span>.t <span class="keywordsign">-></span> f:(<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="constructor">Elt</span>.t option) <span class="keywordsign">-></span> t<br> <span class="keyword">val</span> of_tree : <span class="constructor">Tree</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> compare : t <span class="keywordsign">-></span> t <span class="keywordsign">-></span> int<br> <span class="keyword">end</span><br> <span class="keyword">val</span> of_string : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> to_string : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> bind_any : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> bind_any_inet6 : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> localhost : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> localhost_inet6 : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> of_string_or_getbyname :<br> string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> compare :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</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> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> sexp_of_t : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> bin_t : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.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_ :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</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_read_t__ :<br> (int <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t)<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.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 : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.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_ :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.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">Protocol_family</span> : <span class="keyword">sig</span> <span class="keyword">type</span> t = <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Unix</span>.<span class="constructor">Protocol_family</span>.t <span class="keyword">end</span><br> <span class="keyword">val</span> socketpair : unit <span class="keywordsign">-></span> <span class="constructor">Fd</span>.t * <span class="constructor">Fd</span>.t<br> <span class="keyword">module</span> <span class="constructor">Socket</span> :<br> <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> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <span class="keyword">val</span> to_string : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> compare :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> t_of_sexp :<br> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <span class="keyword">val</span> __t_of_sexp__ :<br> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <span class="keyword">val</span> sexp_of_t :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> bin_t :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <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_ :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <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> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t)<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <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_ :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t <span class="keywordsign">-></span><br> port:int <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <span class="keyword">val</span> create_bind_any :<br> port:int <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <span class="keyword">val</span> addr :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t<br> <span class="keyword">val</span> port : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> to_string : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> compare :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> t_of_sexp :<br> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <span class="keyword">val</span> __t_of_sexp__ :<br> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <span class="keyword">val</span> sexp_of_t :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> bin_t :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <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_ :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <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> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t)<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <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_ :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t<br> <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 =<br> [ <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 : [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> to_sockaddr :<br> [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.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> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t<br> <span class="keyword">val</span> __t_of_sexp__ :<br> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t<br> <span class="keyword">val</span> sexp_of_t : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> bin_t :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.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_ :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t<br> <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> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t)<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.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_ :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t<br> <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 :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t<br> <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="keyword">constraint</span> <span class="keywordsign">'</span>a = [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ]<br> <span class="keyword">val</span> unix :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Family</span>.t<br> <span class="keyword">val</span> inet :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Family</span>.t<br> <span class="keyword">val</span> to_string :<br> [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Family</span>.t <span class="keywordsign">-></span><br> string<br> <span class="keyword">end</span><br> <span class="keyword">type</span> (<span class="keywordsign">'</span>a, <span class="keywordsign">'</span>b) 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">Unix_syscalls</span>.<span class="constructor">Socket</span>.<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="keyword">constraint</span> <span class="keywordsign">'</span>a = [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ]<br> <span class="keyword">val</span> tcp :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">val</span> udp :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Inet</span>.t <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">val</span> unix :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.<span class="constructor">Unix</span>.t <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Type</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">val</span> create :<br> ([< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Type</span>.t <span class="keywordsign">-></span><br> ([ <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], <span class="keywordsign">'</span>a) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t<br> <span class="keyword">val</span> connect :<br> ([ <span class="keywordsign">`</span><span class="constructor">Unconnected</span> ], [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.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) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.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">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.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) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t ]<br> <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">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.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) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.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">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t <span class="keywordsign">-></span> ([ <span class="keywordsign">`</span><span class="constructor">Passive</span> ], <span class="keywordsign">'</span>a) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t<br> <span class="keyword">val</span> accept :<br> ([ <span class="keywordsign">`</span><span class="constructor">Passive</span> ], [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.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) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t * <span class="keywordsign">'</span>a<br> <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">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.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><br> <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) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t * <span class="keywordsign">'</span>a<br> <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> 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> ],<br> [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ])<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t <span class="keywordsign">-></span> [ <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> ],<br> [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ])<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t <span class="keywordsign">-></span> <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">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<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)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.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> ],<br> [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t <span class="keywordsign">-></span> <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> ],<br> [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ] <span class="keyword">as</span> <span class="keywordsign">'</span>a)<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t <span class="keywordsign">-></span> <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<br> <span class="keyword">val</span> debug : bool <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> broadcast : bool <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> reuseaddr : bool <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> keepalive : bool <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> dontroute : bool <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> oobinline : bool <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> acceptconn : bool <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> nodelay : bool <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> sndbuf : int <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> rcvbuf : int <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> error : int <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> typ : int <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> rcvlowat : int <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> sndlowat : int <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> linger : int option <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> rcvtimeo : float <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> sndtimeo : float <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.t<br> <span class="keyword">val</span> to_string : <span class="keywordsign">'</span>a <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Opt</span>.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> ],<br> [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ])<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>c <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<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> ],<br> [< <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<span class="constructor">Address</span>.t ])<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>c <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.<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">Unix_syscalls</span>.<span class="constructor">Socket</span>.<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) <span class="constructor">Unix_syscalls</span>.<span class="constructor">Socket</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Host</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t =<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Unix</span>.<span class="constructor">Host</span>.t = {<br> name : string;<br> aliases : string array;<br> family : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Protocol_family</span>.t;<br> addresses : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t array;<br> }<br> <span class="keyword">val</span> getbyname : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Host</span>.t option <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbyname_exn : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Host</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbyaddr :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Host</span>.t option <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbyaddr_exn :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Inet_addr</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Host</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> have_address_in_common :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Host</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Host</span>.t <span class="keywordsign">-></span> bool<br> <span class="keyword">end</span><br> <span class="keyword">val</span> gethostname : unit <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> getuid : unit <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> geteuid : unit <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> getgid : unit <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> getegid : unit <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> setuid : int <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> error =<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Unix</span>.error =<br> <span class="constructor">E2BIG</span><br> <span class="keywordsign">|</span> <span class="constructor">EACCES</span><br> <span class="keywordsign">|</span> <span class="constructor">EAGAIN</span><br> <span class="keywordsign">|</span> <span class="constructor">EBADF</span><br> <span class="keywordsign">|</span> <span class="constructor">EBUSY</span><br> <span class="keywordsign">|</span> <span class="constructor">ECHILD</span><br> <span class="keywordsign">|</span> <span class="constructor">EDEADLK</span><br> <span class="keywordsign">|</span> <span class="constructor">EDOM</span><br> <span class="keywordsign">|</span> <span class="constructor">EEXIST</span><br> <span class="keywordsign">|</span> <span class="constructor">EFAULT</span><br> <span class="keywordsign">|</span> <span class="constructor">EFBIG</span><br> <span class="keywordsign">|</span> <span class="constructor">EINTR</span><br> <span class="keywordsign">|</span> <span class="constructor">EINVAL</span><br> <span class="keywordsign">|</span> <span class="constructor">EIO</span><br> <span class="keywordsign">|</span> <span class="constructor">EISDIR</span><br> <span class="keywordsign">|</span> <span class="constructor">EMFILE</span><br> <span class="keywordsign">|</span> <span class="constructor">EMLINK</span><br> <span class="keywordsign">|</span> <span class="constructor">ENAMETOOLONG</span><br> <span class="keywordsign">|</span> <span class="constructor">ENFILE</span><br> <span class="keywordsign">|</span> <span class="constructor">ENODEV</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOENT</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOEXEC</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOLCK</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOMEM</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOSPC</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOSYS</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTDIR</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTEMPTY</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTTY</span><br> <span class="keywordsign">|</span> <span class="constructor">ENXIO</span><br> <span class="keywordsign">|</span> <span class="constructor">EPERM</span><br> <span class="keywordsign">|</span> <span class="constructor">EPIPE</span><br> <span class="keywordsign">|</span> <span class="constructor">ERANGE</span><br> <span class="keywordsign">|</span> <span class="constructor">EROFS</span><br> <span class="keywordsign">|</span> <span class="constructor">ESPIPE</span><br> <span class="keywordsign">|</span> <span class="constructor">ESRCH</span><br> <span class="keywordsign">|</span> <span class="constructor">EXDEV</span><br> <span class="keywordsign">|</span> <span class="constructor">EWOULDBLOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">EINPROGRESS</span><br> <span class="keywordsign">|</span> <span class="constructor">EALREADY</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTSOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">EDESTADDRREQ</span><br> <span class="keywordsign">|</span> <span class="constructor">EMSGSIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">EPROTOTYPE</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOPROTOOPT</span><br> <span class="keywordsign">|</span> <span class="constructor">EPROTONOSUPPORT</span><br> <span class="keywordsign">|</span> <span class="constructor">ESOCKTNOSUPPORT</span><br> <span class="keywordsign">|</span> <span class="constructor">EOPNOTSUPP</span><br> <span class="keywordsign">|</span> <span class="constructor">EPFNOSUPPORT</span><br> <span class="keywordsign">|</span> <span class="constructor">EAFNOSUPPORT</span><br> <span class="keywordsign">|</span> <span class="constructor">EADDRINUSE</span><br> <span class="keywordsign">|</span> <span class="constructor">EADDRNOTAVAIL</span><br> <span class="keywordsign">|</span> <span class="constructor">ENETDOWN</span><br> <span class="keywordsign">|</span> <span class="constructor">ENETUNREACH</span><br> <span class="keywordsign">|</span> <span class="constructor">ENETRESET</span><br> <span class="keywordsign">|</span> <span class="constructor">ECONNABORTED</span><br> <span class="keywordsign">|</span> <span class="constructor">ECONNRESET</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOBUFS</span><br> <span class="keywordsign">|</span> <span class="constructor">EISCONN</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTCONN</span><br> <span class="keywordsign">|</span> <span class="constructor">ESHUTDOWN</span><br> <span class="keywordsign">|</span> <span class="constructor">ETOOMANYREFS</span><br> <span class="keywordsign">|</span> <span class="constructor">ETIMEDOUT</span><br> <span class="keywordsign">|</span> <span class="constructor">ECONNREFUSED</span><br> <span class="keywordsign">|</span> <span class="constructor">EHOSTDOWN</span><br> <span class="keywordsign">|</span> <span class="constructor">EHOSTUNREACH</span><br> <span class="keywordsign">|</span> <span class="constructor">ELOOP</span><br> <span class="keywordsign">|</span> <span class="constructor">EOVERFLOW</span><br> <span class="keywordsign">|</span> <span class="constructor">EUNKNOWNERR</span> <span class="keyword">of</span> int<br> <span class="keyword">exception</span> <span class="constructor">Unix_error</span> <span class="keyword">of</span> <span class="constructor">Unix_syscalls</span>.error * string * string<br> <span class="keyword">module</span> <span class="constructor">Terminal_io</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t =<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Caml</span>.<span class="constructor">Unix</span>.terminal_io = {<br> <span class="keyword">mutable</span> c_ignbrk : bool;<br> <span class="keyword">mutable</span> c_brkint : bool;<br> <span class="keyword">mutable</span> c_ignpar : bool;<br> <span class="keyword">mutable</span> c_parmrk : bool;<br> <span class="keyword">mutable</span> c_inpck : bool;<br> <span class="keyword">mutable</span> c_istrip : bool;<br> <span class="keyword">mutable</span> c_inlcr : bool;<br> <span class="keyword">mutable</span> c_igncr : bool;<br> <span class="keyword">mutable</span> c_icrnl : bool;<br> <span class="keyword">mutable</span> c_ixon : bool;<br> <span class="keyword">mutable</span> c_ixoff : bool;<br> <span class="keyword">mutable</span> c_opost : bool;<br> <span class="keyword">mutable</span> c_obaud : int;<br> <span class="keyword">mutable</span> c_ibaud : int;<br> <span class="keyword">mutable</span> c_csize : int;<br> <span class="keyword">mutable</span> c_cstopb : int;<br> <span class="keyword">mutable</span> c_cread : bool;<br> <span class="keyword">mutable</span> c_parenb : bool;<br> <span class="keyword">mutable</span> c_parodd : bool;<br> <span class="keyword">mutable</span> c_hupcl : bool;<br> <span class="keyword">mutable</span> c_clocal : bool;<br> <span class="keyword">mutable</span> c_isig : bool;<br> <span class="keyword">mutable</span> c_icanon : bool;<br> <span class="keyword">mutable</span> c_noflsh : bool;<br> <span class="keyword">mutable</span> c_echo : bool;<br> <span class="keyword">mutable</span> c_echoe : bool;<br> <span class="keyword">mutable</span> c_echok : bool;<br> <span class="keyword">mutable</span> c_echonl : bool;<br> <span class="keyword">mutable</span> c_vintr : char;<br> <span class="keyword">mutable</span> c_vquit : char;<br> <span class="keyword">mutable</span> c_verase : char;<br> <span class="keyword">mutable</span> c_vkill : char;<br> <span class="keyword">mutable</span> c_veof : char;<br> <span class="keyword">mutable</span> c_veol : char;<br> <span class="keyword">mutable</span> c_vmin : int;<br> <span class="keyword">mutable</span> c_vtime : int;<br> <span class="keyword">mutable</span> c_vstart : char;<br> <span class="keyword">mutable</span> c_vstop : char;<br> }<br> <span class="keyword">type</span> setattr_when =<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Caml</span>.<span class="constructor">Unix</span>.setattr_when =<br> <span class="constructor">TCSANOW</span><br> <span class="keywordsign">|</span> <span class="constructor">TCSADRAIN</span><br> <span class="keywordsign">|</span> <span class="constructor">TCSAFLUSH</span><br> <span class="keyword">val</span> tcgetattr : <span class="constructor">Fd</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Terminal_io</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> tcsetattr :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Terminal_io</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Fd</span>.t <span class="keywordsign">-></span><br> mode:<span class="constructor">Unix_syscalls</span>.<span class="constructor">Terminal_io</span>.setattr_when <span class="keywordsign">-></span> unit <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Passwd</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = {<br> name : string;<br> passwd : string;<br> uid : int;<br> gid : int;<br> gecos : string;<br> dir : string;<br> shell : string;<br> }<br> <span class="keyword">val</span> shell : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> dir : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> gecos : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> gid : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> uid : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> passwd : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> name : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">module</span> <span class="constructor">Fields</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> names : string list<br> <span class="keyword">val</span> shell : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> dir : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> gecos : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> gid : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> uid : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> passwd : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> name : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> fold :<br> init:<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> name:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> passwd:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> uid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> gid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> gecos:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> dir:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> shell:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__<br> <span class="keyword">val</span> make_creator :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> string) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> string) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> gecos:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> string) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> dir:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> string) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> shell:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> string) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t) * <span class="keywordsign">'</span>compile_acc__<br> <span class="keyword">val</span> create :<br> name:string <span class="keywordsign">-></span><br> passwd:string <span class="keywordsign">-></span><br> uid:int <span class="keywordsign">-></span><br> gid:int <span class="keywordsign">-></span><br> gecos:string <span class="keywordsign">-></span><br> dir:string <span class="keywordsign">-></span> shell:string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t<br> <span class="keyword">val</span> map :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> string) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> string) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> gecos:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> string) <span class="keywordsign">-></span><br> dir:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> string) <span class="keywordsign">-></span><br> shell:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> string) <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t<br> <span class="keyword">val</span> iter :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> unit) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> gecos:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> dir:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> shell:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> for_all :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> gecos:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> dir:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> shell:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> bool<br> <span class="keyword">val</span> exists :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> gecos:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> dir:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> shell:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> bool<br> <span class="keyword">val</span> to_list :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> gecos:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> dir:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> shell:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__ list<br> <span class="keyword">val</span> map_poly :<br> ([< <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Set_and_create</span> ], <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, <span class="keywordsign">'</span>x0)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.user <span class="keywordsign">-></span> <span class="keywordsign">'</span>x0 list<br> <span class="keyword">module</span> <span class="constructor">Direct</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> iter :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span><br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> uid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> gecos:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> dir:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> shell:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> fold :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span><br> init:<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> name:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> passwd:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> uid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> gid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> gecos:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> dir:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> shell:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">val</span> getbyname :<br> string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t option <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbyname_exn : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbyuid : int <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t option <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbyuid_exn : int <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</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> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t<br> <span class="keyword">val</span> sexp_of_t : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Passwd</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">module</span> <span class="constructor">Group</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">type</span> t = {<br> name : string;<br> passwd : string;<br> gid : int;<br> mem : string array;<br> }<br> <span class="keyword">val</span> mem : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string array<br> <span class="keyword">val</span> gid : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> passwd : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> name : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string<br> <span class="keyword">module</span> <span class="constructor">Fields</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> names : string list<br> <span class="keyword">val</span> mem : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> gid : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> passwd : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> name : (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t<br> <span class="keyword">val</span> fold :<br> init:<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> name:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> passwd:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> gid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> mem:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__<br> <span class="keyword">val</span> make_creator :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> string) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> string) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> int) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> mem:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> string array) * <span class="keywordsign">'</span>compile_acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>compile_acc__ <span class="keywordsign">-></span><br> (<span class="keywordsign">'</span>input__ <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t) * <span class="keywordsign">'</span>compile_acc__<br> <span class="keyword">val</span> create :<br> name:string <span class="keywordsign">-></span><br> passwd:string <span class="keywordsign">-></span><br> gid:int <span class="keywordsign">-></span> mem:string array <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t<br> <span class="keyword">val</span> map :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> string) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> string) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> int) <span class="keywordsign">-></span><br> mem:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> string array) <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t<br> <span class="keyword">val</span> iter :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> mem:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> for_all :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> mem:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> bool<br> <span class="keyword">val</span> exists :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> bool) <span class="keywordsign">-></span><br> mem:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> bool) <span class="keywordsign">-></span><br> bool<br> <span class="keyword">val</span> to_list :<br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> mem:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>elem__ list<br> <span class="keyword">val</span> map_poly :<br> ([< <span class="keywordsign">`</span><span class="constructor">Read</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Set_and_create</span> ], <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, <span class="keywordsign">'</span>x0)<br> <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.user <span class="keywordsign">-></span> <span class="keywordsign">'</span>x0 list<br> <span class="keyword">module</span> <span class="constructor">Direct</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> iter :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span><br> name:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> passwd:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> gid:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> mem:((<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> unit<br> <span class="keyword">val</span> fold :<br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span><br> init:<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> name:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> passwd:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> gid:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, int) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> mem:(<span class="keywordsign">'</span>acc__ <span class="keywordsign">-></span><br> (<span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t, string array) <span class="constructor">Fieldslib</span>.<span class="constructor">Field</span>.t <span class="keywordsign">-></span><br> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> <span class="keywordsign">'</span>acc__) <span class="keywordsign">-></span><br> <span class="keywordsign">'</span>acc__<br> <span class="keyword">end</span><br> <span class="keyword">end</span><br> <span class="keyword">val</span> getbyname :<br> string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t option <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbyname_exn : string <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbygid : int <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t option <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> getbygid_exn : int <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="constructor">Import</span>.<span class="constructor">Deferred</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> <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t<br> <span class="keyword">val</span> sexp_of_t : <span class="constructor">Unix_syscalls</span>.<span class="constructor">Group</span>.t <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span><br> <span class="keyword">val</span> getlogin : unit <span class="keywordsign">-></span> string <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t<br> <span class="keyword">val</span> wordexp :<br> (?flags:[ <span class="keywordsign">`</span><span class="constructor">No_cmd</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Show_err</span> <span class="keywordsign">|</span> <span class="keywordsign">`</span><span class="constructor">Undef</span> ] list <span class="keywordsign">-></span><br> string <span class="keywordsign">-></span> string array <span class="constructor">Import</span>.<span class="constructor">Deferred</span>.t)<br> <span class="constructor">Core</span>.<span class="constructor">Std</span>.<span class="constructor">Or_error</span>.t<br> <span class="keyword">val</span> wait_on_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.wait_on<br> <span class="keyword">val</span> __wait_on_of_sexp__ : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.wait_on<br> <span class="keyword">val</span> sexp_of_wait_on : <span class="constructor">Unix_syscalls</span>.wait_on <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">val</span> error_of_sexp : <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t <span class="keywordsign">-></span> <span class="constructor">Unix_syscalls</span>.error<br> <span class="keyword">val</span> sexp_of_error : <span class="constructor">Unix_syscalls</span>.error <span class="keywordsign">-></span> <span class="constructor">Sexplib</span>.<span class="constructor">Sexp</span>.t<br> <span class="keyword">end</span></code></body></html>