<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="Arg" rel="Chapter" href="Arg.html"> <link title="Arith_status" rel="Chapter" href="Arith_status.html"> <link title="Array" rel="Chapter" href="Array.html"> <link title="ArrayLabels" rel="Chapter" href="ArrayLabels.html"> <link title="Big_int" rel="Chapter" href="Big_int.html"> <link title="Bigarray" rel="Chapter" href="Bigarray.html"> <link title="Buffer" rel="Chapter" href="Buffer.html"> <link title="Callback" rel="Chapter" href="Callback.html"> <link title="CamlinternalLazy" rel="Chapter" href="CamlinternalLazy.html"> <link title="CamlinternalMod" rel="Chapter" href="CamlinternalMod.html"> <link title="CamlinternalOO" rel="Chapter" href="CamlinternalOO.html"> <link title="Char" rel="Chapter" href="Char.html"> <link title="Complex" rel="Chapter" href="Complex.html"> <link title="Condition" rel="Chapter" href="Condition.html"> <link title="Dbm" rel="Chapter" href="Dbm.html"> <link title="Digest" rel="Chapter" href="Digest.html"> <link title="Dynlink" rel="Chapter" href="Dynlink.html"> <link title="Event" rel="Chapter" href="Event.html"> <link title="Filename" rel="Chapter" href="Filename.html"> <link title="Format" rel="Chapter" href="Format.html"> <link title="Gc" rel="Chapter" href="Gc.html"> <link title="Genlex" rel="Chapter" href="Genlex.html"> <link title="Graphics" rel="Chapter" href="Graphics.html"> <link title="GraphicsX11" rel="Chapter" href="GraphicsX11.html"> <link title="Hashtbl" rel="Chapter" href="Hashtbl.html"> <link title="Int32" rel="Chapter" href="Int32.html"> <link title="Int64" rel="Chapter" href="Int64.html"> <link title="Lazy" rel="Chapter" href="Lazy.html"> <link title="Lexing" rel="Chapter" href="Lexing.html"> <link title="List" rel="Chapter" href="List.html"> <link title="ListLabels" rel="Chapter" href="ListLabels.html"> <link title="Map" rel="Chapter" href="Map.html"> <link title="Marshal" rel="Chapter" href="Marshal.html"> <link title="MoreLabels" rel="Chapter" href="MoreLabels.html"> <link title="Mutex" rel="Chapter" href="Mutex.html"> <link title="Nativeint" rel="Chapter" href="Nativeint.html"> <link title="Num" rel="Chapter" href="Num.html"> <link title="Obj" rel="Chapter" href="Obj.html"> <link title="Oo" rel="Chapter" href="Oo.html"> <link title="Parsing" rel="Chapter" href="Parsing.html"> <link title="Pervasives" rel="Chapter" href="Pervasives.html"> <link title="Printexc" rel="Chapter" href="Printexc.html"> <link title="Printf" rel="Chapter" href="Printf.html"> <link title="Queue" rel="Chapter" href="Queue.html"> <link title="Random" rel="Chapter" href="Random.html"> <link title="Scanf" rel="Chapter" href="Scanf.html"> <link title="Set" rel="Chapter" href="Set.html"> <link title="Sort" rel="Chapter" href="Sort.html"> <link title="Stack" rel="Chapter" href="Stack.html"> <link title="StdLabels" rel="Chapter" href="StdLabels.html"> <link title="Str" rel="Chapter" href="Str.html"> <link title="Stream" rel="Chapter" href="Stream.html"> <link title="String" rel="Chapter" href="String.html"> <link title="StringLabels" rel="Chapter" href="StringLabels.html"> <link title="Sys" rel="Chapter" href="Sys.html"> <link title="Thread" rel="Chapter" href="Thread.html"> <link title="ThreadUnix" rel="Chapter" href="ThreadUnix.html"> <link title="Tk" rel="Chapter" href="Tk.html"> <link title="Unix" rel="Chapter" href="Unix.html"> <link title="UnixLabels" rel="Chapter" href="UnixLabels.html"> <link title="Weak" rel="Chapter" href="Weak.html"><title>Unix</title> </head> <body> <code class="code"><span class="keyword">sig</span><br> <span class="keyword">type</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</span>.error * string * string<br> <span class="keyword">val</span> error_message : <span class="constructor">Unix</span>.error <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> handle_unix_error : (<span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b) <span class="keywordsign">-></span> <span class="keywordsign">'</span>a <span class="keywordsign">-></span> <span class="keywordsign">'</span>b<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<br> <span class="keyword">val</span> putenv : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> process_status = <span class="constructor">WEXITED</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="constructor">WSIGNALED</span> <span class="keyword">of</span> int <span class="keywordsign">|</span> <span class="constructor">WSTOPPED</span> <span class="keyword">of</span> int<br> <span class="keyword">type</span> wait_flag = <span class="constructor">WNOHANG</span> <span class="keywordsign">|</span> <span class="constructor">WUNTRACED</span><br> <span class="keyword">val</span> execv : string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> execve : string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> execvp : string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> execvpe : string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> <span class="keywordsign">'</span>a<br> <span class="keyword">val</span> fork : unit <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> wait : unit <span class="keywordsign">-></span> int * <span class="constructor">Unix</span>.process_status<br> <span class="keyword">val</span> waitpid : <span class="constructor">Unix</span>.wait_flag list <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int * <span class="constructor">Unix</span>.process_status<br> <span class="keyword">val</span> system : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.process_status<br> <span class="keyword">val</span> getpid : unit <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> getppid : unit <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> nice : int <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> file_descr<br> <span class="keyword">val</span> stdin : <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> stdout : <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> stderr : <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">type</span> open_flag =<br> <span class="constructor">O_RDONLY</span><br> <span class="keywordsign">|</span> <span class="constructor">O_WRONLY</span><br> <span class="keywordsign">|</span> <span class="constructor">O_RDWR</span><br> <span class="keywordsign">|</span> <span class="constructor">O_NONBLOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">O_APPEND</span><br> <span class="keywordsign">|</span> <span class="constructor">O_CREAT</span><br> <span class="keywordsign">|</span> <span class="constructor">O_TRUNC</span><br> <span class="keywordsign">|</span> <span class="constructor">O_EXCL</span><br> <span class="keywordsign">|</span> <span class="constructor">O_NOCTTY</span><br> <span class="keywordsign">|</span> <span class="constructor">O_DSYNC</span><br> <span class="keywordsign">|</span> <span class="constructor">O_SYNC</span><br> <span class="keywordsign">|</span> <span class="constructor">O_RSYNC</span><br> <span class="keyword">type</span> file_perm = int<br> <span class="keyword">val</span> openfile :<br> string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.open_flag list <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_perm <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> close : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> read : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> write : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> single_write : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> in_channel_of_descr : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Pervasives</span>.in_channel<br> <span class="keyword">val</span> out_channel_of_descr : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Pervasives</span>.out_channel<br> <span class="keyword">val</span> descr_of_in_channel : <span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> descr_of_out_channel : <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">type</span> seek_command = <span class="constructor">SEEK_SET</span> <span class="keywordsign">|</span> <span class="constructor">SEEK_CUR</span> <span class="keywordsign">|</span> <span class="constructor">SEEK_END</span><br> <span class="keyword">val</span> lseek : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.seek_command <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> truncate : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> ftruncate : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> file_kind = <span class="constructor">S_REG</span> <span class="keywordsign">|</span> <span class="constructor">S_DIR</span> <span class="keywordsign">|</span> <span class="constructor">S_CHR</span> <span class="keywordsign">|</span> <span class="constructor">S_BLK</span> <span class="keywordsign">|</span> <span class="constructor">S_LNK</span> <span class="keywordsign">|</span> <span class="constructor">S_FIFO</span> <span class="keywordsign">|</span> <span class="constructor">S_SOCK</span><br> <span class="keyword">type</span> stats = {<br> st_dev : int;<br> st_ino : int;<br> st_kind : <span class="constructor">Unix</span>.file_kind;<br> st_perm : <span class="constructor">Unix</span>.file_perm;<br> st_nlink : int;<br> st_uid : int;<br> st_gid : int;<br> st_rdev : int;<br> st_size : int;<br> st_atime : float;<br> st_mtime : float;<br> st_ctime : float;<br> }<br> <span class="keyword">val</span> stat : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.stats<br> <span class="keyword">val</span> lstat : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.stats<br> <span class="keyword">val</span> fstat : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.stats<br> <span class="keyword">val</span> isatty : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> bool<br> <span class="keyword">module</span> <span class="constructor">LargeFile</span> :<br> <span class="keyword">sig</span><br> <span class="keyword">val</span> lseek : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> <span class="constructor">Unix</span>.seek_command <span class="keywordsign">-></span> int64<br> <span class="keyword">val</span> truncate : string <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> ftruncate : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> stats = {<br> st_dev : int;<br> st_ino : int;<br> st_kind : <span class="constructor">Unix</span>.file_kind;<br> st_perm : <span class="constructor">Unix</span>.file_perm;<br> st_nlink : int;<br> st_uid : int;<br> st_gid : int;<br> st_rdev : int;<br> st_size : int64;<br> st_atime : float;<br> st_mtime : float;<br> st_ctime : float;<br> }<br> <span class="keyword">val</span> stat : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.<span class="constructor">LargeFile</span>.stats<br> <span class="keyword">val</span> lstat : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.<span class="constructor">LargeFile</span>.stats<br> <span class="keyword">val</span> fstat : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.<span class="constructor">LargeFile</span>.stats<br> <span class="keyword">end</span><br> <span class="keyword">val</span> unlink : string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> rename : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> link : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> access_permission = <span class="constructor">R_OK</span> <span class="keywordsign">|</span> <span class="constructor">W_OK</span> <span class="keywordsign">|</span> <span class="constructor">X_OK</span> <span class="keywordsign">|</span> <span class="constructor">F_OK</span><br> <span class="keyword">val</span> chmod : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_perm <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fchmod : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_perm <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> chown : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fchown : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> umask : int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> access : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.access_permission list <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> dup : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> dup2 : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> set_nonblock : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> clear_nonblock : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> set_close_on_exec : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> clear_close_on_exec : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> mkdir : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_perm <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> rmdir : string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> chdir : string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getcwd : unit <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> chroot : string <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> dir_handle<br> <span class="keyword">val</span> opendir : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.dir_handle<br> <span class="keyword">val</span> readdir : <span class="constructor">Unix</span>.dir_handle <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> rewinddir : <span class="constructor">Unix</span>.dir_handle <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> closedir : <span class="constructor">Unix</span>.dir_handle <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> pipe : unit <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr * <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> mkfifo : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_perm <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> create_process :<br> string <span class="keywordsign">-></span><br> string array <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> create_process_env :<br> string <span class="keywordsign">-></span><br> string array <span class="keywordsign">-></span><br> string array <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> open_process_in : string <span class="keywordsign">-></span> <span class="constructor">Pervasives</span>.in_channel<br> <span class="keyword">val</span> open_process_out : string <span class="keywordsign">-></span> <span class="constructor">Pervasives</span>.out_channel<br> <span class="keyword">val</span> open_process : string <span class="keywordsign">-></span> <span class="constructor">Pervasives</span>.in_channel * <span class="constructor">Pervasives</span>.out_channel<br> <span class="keyword">val</span> open_process_full :<br> string <span class="keywordsign">-></span><br> string array <span class="keywordsign">-></span><br> <span class="constructor">Pervasives</span>.in_channel * <span class="constructor">Pervasives</span>.out_channel * <span class="constructor">Pervasives</span>.in_channel<br> <span class="keyword">val</span> close_process_in : <span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span> <span class="constructor">Unix</span>.process_status<br> <span class="keyword">val</span> close_process_out : <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> <span class="constructor">Unix</span>.process_status<br> <span class="keyword">val</span> close_process :<br> <span class="constructor">Pervasives</span>.in_channel * <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> <span class="constructor">Unix</span>.process_status<br> <span class="keyword">val</span> close_process_full :<br> <span class="constructor">Pervasives</span>.in_channel * <span class="constructor">Pervasives</span>.out_channel * <span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.process_status<br> <span class="keyword">val</span> symlink : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> readlink : string <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> select :<br> <span class="constructor">Unix</span>.file_descr list <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.file_descr list <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.file_descr list <span class="keywordsign">-></span><br> float <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.file_descr list * <span class="constructor">Unix</span>.file_descr list * <span class="constructor">Unix</span>.file_descr list<br> <span class="keyword">type</span> lock_command =<br> <span class="constructor">F_ULOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">F_LOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">F_TLOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">F_TEST</span><br> <span class="keywordsign">|</span> <span class="constructor">F_RLOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">F_TRLOCK</span><br> <span class="keyword">val</span> lockf : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.lock_command <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> kill : int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> sigprocmask_command = <span class="constructor">SIG_SETMASK</span> <span class="keywordsign">|</span> <span class="constructor">SIG_BLOCK</span> <span class="keywordsign">|</span> <span class="constructor">SIG_UNBLOCK</span><br> <span class="keyword">val</span> sigprocmask : <span class="constructor">Unix</span>.sigprocmask_command <span class="keywordsign">-></span> int list <span class="keywordsign">-></span> int list<br> <span class="keyword">val</span> sigpending : unit <span class="keywordsign">-></span> int list<br> <span class="keyword">val</span> sigsuspend : int list <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> pause : unit <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> process_times = {<br> tms_utime : float;<br> tms_stime : float;<br> tms_cutime : float;<br> tms_cstime : float;<br> }<br> <span class="keyword">type</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</span>.tm<br> <span class="keyword">val</span> localtime : float <span class="keywordsign">-></span> <span class="constructor">Unix</span>.tm<br> <span class="keyword">val</span> mktime : <span class="constructor">Unix</span>.tm <span class="keywordsign">-></span> float * <span class="constructor">Unix</span>.tm<br> <span class="keyword">val</span> alarm : int <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> sleep : int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> times : unit <span class="keywordsign">-></span> <span class="constructor">Unix</span>.process_times<br> <span class="keyword">val</span> utimes : string <span class="keywordsign">-></span> float <span class="keywordsign">-></span> float <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> interval_timer = <span class="constructor">ITIMER_REAL</span> <span class="keywordsign">|</span> <span class="constructor">ITIMER_VIRTUAL</span> <span class="keywordsign">|</span> <span class="constructor">ITIMER_PROF</span><br> <span class="keyword">type</span> interval_timer_status = { it_interval : float; it_value : float; }<br> <span class="keyword">val</span> getitimer : <span class="constructor">Unix</span>.interval_timer <span class="keywordsign">-></span> <span class="constructor">Unix</span>.interval_timer_status<br> <span class="keyword">val</span> setitimer :<br> <span class="constructor">Unix</span>.interval_timer <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.interval_timer_status <span class="keywordsign">-></span> <span class="constructor">Unix</span>.interval_timer_status<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> setuid : int <span class="keywordsign">-></span> unit<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> setgid : int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getgroups : unit <span class="keywordsign">-></span> int array<br> <span class="keyword">val</span> setgroups : int array <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> initgroups : string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> passwd_entry = {<br> pw_name : string;<br> pw_passwd : string;<br> pw_uid : int;<br> pw_gid : int;<br> pw_gecos : string;<br> pw_dir : string;<br> pw_shell : string;<br> }<br> <span class="keyword">type</span> group_entry = {<br> gr_name : string;<br> gr_passwd : string;<br> gr_gid : int;<br> gr_mem : string array;<br> }<br> <span class="keyword">val</span> getlogin : unit <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> getpwnam : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.passwd_entry<br> <span class="keyword">val</span> getgrnam : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.group_entry<br> <span class="keyword">val</span> getpwuid : int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.passwd_entry<br> <span class="keyword">val</span> getgrgid : int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.group_entry<br> <span class="keyword">type</span> inet_addr<br> <span class="keyword">val</span> inet_addr_of_string : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.inet_addr<br> <span class="keyword">val</span> string_of_inet_addr : <span class="constructor">Unix</span>.inet_addr <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> inet_addr_any : <span class="constructor">Unix</span>.inet_addr<br> <span class="keyword">val</span> inet_addr_loopback : <span class="constructor">Unix</span>.inet_addr<br> <span class="keyword">val</span> inet6_addr_any : <span class="constructor">Unix</span>.inet_addr<br> <span class="keyword">val</span> inet6_addr_loopback : <span class="constructor">Unix</span>.inet_addr<br> <span class="keyword">type</span> socket_domain = <span class="constructor">PF_UNIX</span> <span class="keywordsign">|</span> <span class="constructor">PF_INET</span> <span class="keywordsign">|</span> <span class="constructor">PF_INET6</span><br> <span class="keyword">type</span> socket_type = <span class="constructor">SOCK_STREAM</span> <span class="keywordsign">|</span> <span class="constructor">SOCK_DGRAM</span> <span class="keywordsign">|</span> <span class="constructor">SOCK_RAW</span> <span class="keywordsign">|</span> <span class="constructor">SOCK_SEQPACKET</span><br> <span class="keyword">type</span> sockaddr = <span class="constructor">ADDR_UNIX</span> <span class="keyword">of</span> string <span class="keywordsign">|</span> <span class="constructor">ADDR_INET</span> <span class="keyword">of</span> <span class="constructor">Unix</span>.inet_addr * int<br> <span class="keyword">val</span> socket :<br> <span class="constructor">Unix</span>.socket_domain <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_type <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> domain_of_sockaddr : <span class="constructor">Unix</span>.sockaddr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_domain<br> <span class="keyword">val</span> socketpair :<br> <span class="constructor">Unix</span>.socket_domain <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.socket_type <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr * <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> accept : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.file_descr * <span class="constructor">Unix</span>.sockaddr<br> <span class="keyword">val</span> bind : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.sockaddr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> connect : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.sockaddr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> listen : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> shutdown_command = <span class="constructor">SHUTDOWN_RECEIVE</span> <span class="keywordsign">|</span> <span class="constructor">SHUTDOWN_SEND</span> <span class="keywordsign">|</span> <span class="constructor">SHUTDOWN_ALL</span><br> <span class="keyword">val</span> shutdown : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.shutdown_command <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockname : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.sockaddr<br> <span class="keyword">val</span> getpeername : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.sockaddr<br> <span class="keyword">type</span> msg_flag = <span class="constructor">MSG_OOB</span> <span class="keywordsign">|</span> <span class="constructor">MSG_DONTROUTE</span> <span class="keywordsign">|</span> <span class="constructor">MSG_PEEK</span><br> <span class="keyword">val</span> recv :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.msg_flag list <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> recvfrom :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span><br> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.msg_flag list <span class="keywordsign">-></span> int * <span class="constructor">Unix</span>.sockaddr<br> <span class="keyword">val</span> send :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.msg_flag list <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> sendto :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span><br> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.msg_flag list <span class="keywordsign">-></span> <span class="constructor">Unix</span>.sockaddr <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> socket_bool_option =<br> <span class="constructor">SO_DEBUG</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_BROADCAST</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_REUSEADDR</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_KEEPALIVE</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_DONTROUTE</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_OOBINLINE</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_ACCEPTCONN</span><br> <span class="keywordsign">|</span> <span class="constructor">TCP_NODELAY</span><br> <span class="keywordsign">|</span> <span class="constructor">IPV6_ONLY</span><br> <span class="keyword">type</span> socket_int_option =<br> <span class="constructor">SO_SNDBUF</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_RCVBUF</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_ERROR</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_TYPE</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_RCVLOWAT</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_SNDLOWAT</span><br> <span class="keyword">type</span> socket_optint_option = <span class="constructor">SO_LINGER</span><br> <span class="keyword">type</span> socket_float_option = <span class="constructor">SO_RCVTIMEO</span> <span class="keywordsign">|</span> <span class="constructor">SO_SNDTIMEO</span><br> <span class="keyword">val</span> getsockopt : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_bool_option <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> setsockopt : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_bool_option <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockopt_int : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_int_option <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> setsockopt_int :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_int_option <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockopt_optint :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_optint_option <span class="keywordsign">-></span> int option<br> <span class="keyword">val</span> setsockopt_optint :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_optint_option <span class="keywordsign">-></span> int option <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockopt_float : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_float_option <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> setsockopt_float :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.socket_float_option <span class="keywordsign">-></span> float <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockopt_error : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.error option<br> <span class="keyword">val</span> open_connection :<br> <span class="constructor">Unix</span>.sockaddr <span class="keywordsign">-></span> <span class="constructor">Pervasives</span>.in_channel * <span class="constructor">Pervasives</span>.out_channel<br> <span class="keyword">val</span> shutdown_connection : <span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> establish_server :<br> (<span class="constructor">Pervasives</span>.in_channel <span class="keywordsign">-></span> <span class="constructor">Pervasives</span>.out_channel <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span><br> <span class="constructor">Unix</span>.sockaddr <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> host_entry = {<br> h_name : string;<br> h_aliases : string array;<br> h_addrtype : <span class="constructor">Unix</span>.socket_domain;<br> h_addr_list : <span class="constructor">Unix</span>.inet_addr array;<br> }<br> <span class="keyword">type</span> protocol_entry = {<br> p_name : string;<br> p_aliases : string array;<br> p_proto : int;<br> }<br> <span class="keyword">type</span> service_entry = {<br> s_name : string;<br> s_aliases : string array;<br> s_port : int;<br> s_proto : string;<br> }<br> <span class="keyword">val</span> gethostname : unit <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> gethostbyname : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.host_entry<br> <span class="keyword">val</span> gethostbyaddr : <span class="constructor">Unix</span>.inet_addr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.host_entry<br> <span class="keyword">val</span> getprotobyname : string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.protocol_entry<br> <span class="keyword">val</span> getprotobynumber : int <span class="keywordsign">-></span> <span class="constructor">Unix</span>.protocol_entry<br> <span class="keyword">val</span> getservbyname : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.service_entry<br> <span class="keyword">val</span> getservbyport : int <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.service_entry<br> <span class="keyword">type</span> addr_info = {<br> ai_family : <span class="constructor">Unix</span>.socket_domain;<br> ai_socktype : <span class="constructor">Unix</span>.socket_type;<br> ai_protocol : int;<br> ai_addr : <span class="constructor">Unix</span>.sockaddr;<br> ai_canonname : string;<br> }<br> <span class="keyword">type</span> getaddrinfo_option =<br> <span class="constructor">AI_FAMILY</span> <span class="keyword">of</span> <span class="constructor">Unix</span>.socket_domain<br> <span class="keywordsign">|</span> <span class="constructor">AI_SOCKTYPE</span> <span class="keyword">of</span> <span class="constructor">Unix</span>.socket_type<br> <span class="keywordsign">|</span> <span class="constructor">AI_PROTOCOL</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="constructor">AI_NUMERICHOST</span><br> <span class="keywordsign">|</span> <span class="constructor">AI_CANONNAME</span><br> <span class="keywordsign">|</span> <span class="constructor">AI_PASSIVE</span><br> <span class="keyword">val</span> getaddrinfo :<br> string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> <span class="constructor">Unix</span>.getaddrinfo_option list <span class="keywordsign">-></span> <span class="constructor">Unix</span>.addr_info list<br> <span class="keyword">type</span> name_info = { ni_hostname : string; ni_service : string; }<br> <span class="keyword">type</span> getnameinfo_option =<br> <span class="constructor">NI_NOFQDN</span><br> <span class="keywordsign">|</span> <span class="constructor">NI_NUMERICHOST</span><br> <span class="keywordsign">|</span> <span class="constructor">NI_NAMEREQD</span><br> <span class="keywordsign">|</span> <span class="constructor">NI_NUMERICSERV</span><br> <span class="keywordsign">|</span> <span class="constructor">NI_DGRAM</span><br> <span class="keyword">val</span> getnameinfo :<br> <span class="constructor">Unix</span>.sockaddr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.getnameinfo_option list <span class="keywordsign">-></span> <span class="constructor">Unix</span>.name_info<br> <span class="keyword">type</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">val</span> tcgetattr : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.terminal_io<br> <span class="keyword">type</span> setattr_when = <span class="constructor">TCSANOW</span> <span class="keywordsign">|</span> <span class="constructor">TCSADRAIN</span> <span class="keywordsign">|</span> <span class="constructor">TCSAFLUSH</span><br> <span class="keyword">val</span> tcsetattr :<br> <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.setattr_when <span class="keywordsign">-></span> <span class="constructor">Unix</span>.terminal_io <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> tcsendbreak : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> tcdrain : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> flush_queue = <span class="constructor">TCIFLUSH</span> <span class="keywordsign">|</span> <span class="constructor">TCOFLUSH</span> <span class="keywordsign">|</span> <span class="constructor">TCIOFLUSH</span><br> <span class="keyword">val</span> tcflush : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.flush_queue <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> flow_action = <span class="constructor">TCOOFF</span> <span class="keywordsign">|</span> <span class="constructor">TCOON</span> <span class="keywordsign">|</span> <span class="constructor">TCIOFF</span> <span class="keywordsign">|</span> <span class="constructor">TCION</span><br> <span class="keyword">val</span> tcflow : <span class="constructor">Unix</span>.file_descr <span class="keywordsign">-></span> <span class="constructor">Unix</span>.flow_action <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> setsid : unit <span class="keywordsign">-></span> int<br> <span class="keyword">end</span></code></body></html>