Sophie

Sophie

distrib > Mageia > 4 > x86_64 > by-pkgid > ac00cb96767d9c54367b331f839b9a30 > files > 937

ocaml-batteries-2.1-3.mga4.x86_64.rpm

<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 class methods" rel=Appendix href="index_methods.html">
<link title="Index of classes" rel=Appendix href="index_classes.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="BatArray" rel="Chapter" href="BatArray.html">
<link title="BatAvlTree" rel="Chapter" href="BatAvlTree.html">
<link title="BatBase64" rel="Chapter" href="BatBase64.html">
<link title="BatBig_int" rel="Chapter" href="BatBig_int.html">
<link title="BatBigarray" rel="Chapter" href="BatBigarray.html">
<link title="BatBitSet" rel="Chapter" href="BatBitSet.html">
<link title="BatBool" rel="Chapter" href="BatBool.html">
<link title="BatBounded" rel="Chapter" href="BatBounded.html">
<link title="BatBuffer" rel="Chapter" href="BatBuffer.html">
<link title="BatCache" rel="Chapter" href="BatCache.html">
<link title="BatChar" rel="Chapter" href="BatChar.html">
<link title="BatCharParser" rel="Chapter" href="BatCharParser.html">
<link title="BatComplex" rel="Chapter" href="BatComplex.html">
<link title="BatConcurrent" rel="Chapter" href="BatConcurrent.html">
<link title="BatDeque" rel="Chapter" href="BatDeque.html">
<link title="BatDigest" rel="Chapter" href="BatDigest.html">
<link title="BatDllist" rel="Chapter" href="BatDllist.html">
<link title="BatDynArray" rel="Chapter" href="BatDynArray.html">
<link title="BatEnum" rel="Chapter" href="BatEnum.html">
<link title="BatFile" rel="Chapter" href="BatFile.html">
<link title="BatFingerTree" rel="Chapter" href="BatFingerTree.html">
<link title="BatFloat" rel="Chapter" href="BatFloat.html">
<link title="BatFormat" rel="Chapter" href="BatFormat.html">
<link title="BatGc" rel="Chapter" href="BatGc.html">
<link title="BatGenlex" rel="Chapter" href="BatGenlex.html">
<link title="BatGlobal" rel="Chapter" href="BatGlobal.html">
<link title="BatHashcons" rel="Chapter" href="BatHashcons.html">
<link title="BatHashtbl" rel="Chapter" href="BatHashtbl.html">
<link title="BatHeap" rel="Chapter" href="BatHeap.html">
<link title="BatIMap" rel="Chapter" href="BatIMap.html">
<link title="BatIO" rel="Chapter" href="BatIO.html">
<link title="BatISet" rel="Chapter" href="BatISet.html">
<link title="BatInnerIO" rel="Chapter" href="BatInnerIO.html">
<link title="BatInnerPervasives" rel="Chapter" href="BatInnerPervasives.html">
<link title="BatInnerWeaktbl" rel="Chapter" href="BatInnerWeaktbl.html">
<link title="BatInt" rel="Chapter" href="BatInt.html">
<link title="BatInt32" rel="Chapter" href="BatInt32.html">
<link title="BatInt64" rel="Chapter" href="BatInt64.html">
<link title="BatInterfaces" rel="Chapter" href="BatInterfaces.html">
<link title="BatLazyList" rel="Chapter" href="BatLazyList.html">
<link title="BatLexing" rel="Chapter" href="BatLexing.html">
<link title="BatList" rel="Chapter" href="BatList.html">
<link title="BatLog" rel="Chapter" href="BatLog.html">
<link title="BatLogger" rel="Chapter" href="BatLogger.html">
<link title="BatMap" rel="Chapter" href="BatMap.html">
<link title="BatMarshal" rel="Chapter" href="BatMarshal.html">
<link title="BatMultiMap" rel="Chapter" href="BatMultiMap.html">
<link title="BatMultiPMap" rel="Chapter" href="BatMultiPMap.html">
<link title="BatMutex" rel="Chapter" href="BatMutex.html">
<link title="BatNativeint" rel="Chapter" href="BatNativeint.html">
<link title="BatNum" rel="Chapter" href="BatNum.html">
<link title="BatNumber" rel="Chapter" href="BatNumber.html">
<link title="BatOo" rel="Chapter" href="BatOo.html">
<link title="BatOptParse" rel="Chapter" href="BatOptParse.html">
<link title="BatOption" rel="Chapter" href="BatOption.html">
<link title="BatOrd" rel="Chapter" href="BatOrd.html">
<link title="BatParserCo" rel="Chapter" href="BatParserCo.html">
<link title="BatPathGen" rel="Chapter" href="BatPathGen.html">
<link title="BatPervasives" rel="Chapter" href="BatPervasives.html">
<link title="BatPrintexc" rel="Chapter" href="BatPrintexc.html">
<link title="BatPrintf" rel="Chapter" href="BatPrintf.html">
<link title="BatQueue" rel="Chapter" href="BatQueue.html">
<link title="BatRMutex" rel="Chapter" href="BatRMutex.html">
<link title="BatRandom" rel="Chapter" href="BatRandom.html">
<link title="BatRef" rel="Chapter" href="BatRef.html">
<link title="BatRefList" rel="Chapter" href="BatRefList.html">
<link title="BatResult" rel="Chapter" href="BatResult.html">
<link title="BatReturn" rel="Chapter" href="BatReturn.html">
<link title="BatScanf" rel="Chapter" href="BatScanf.html">
<link title="BatSeq" rel="Chapter" href="BatSeq.html">
<link title="BatSet" rel="Chapter" href="BatSet.html">
<link title="BatSplay" rel="Chapter" href="BatSplay.html">
<link title="BatStack" rel="Chapter" href="BatStack.html">
<link title="BatStream" rel="Chapter" href="BatStream.html">
<link title="BatString" rel="Chapter" href="BatString.html">
<link title="BatSubstring" rel="Chapter" href="BatSubstring.html">
<link title="BatSys" rel="Chapter" href="BatSys.html">
<link title="BatText" rel="Chapter" href="BatText.html">
<link title="BatTuple" rel="Chapter" href="BatTuple.html">
<link title="BatUChar" rel="Chapter" href="BatUChar.html">
<link title="BatUTF8" rel="Chapter" href="BatUTF8.html">
<link title="BatUnit" rel="Chapter" href="BatUnit.html">
<link title="BatUnix" rel="Chapter" href="BatUnix.html">
<link title="BatUref" rel="Chapter" href="BatUref.html">
<link title="BatVect" rel="Chapter" href="BatVect.html">
<link title="Batteries" rel="Chapter" href="Batteries.html">
<link title="BatteriesConfig" rel="Chapter" href="BatteriesConfig.html">
<link title="BatteriesPrint" rel="Chapter" href="BatteriesPrint.html">
<link title="BatteriesThread" rel="Chapter" href="BatteriesThread.html">
<link title="Extlib" rel="Chapter" href="Extlib.html"><title>Batteries user guide : Batteries.Legacy.Unix</title>
</head>
<body>
<code class="code"><span class="keyword">sig</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;error&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.error&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">E2BIG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EACCES</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EAGAIN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EBADF</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EBUSY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ECHILD</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EDEADLK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EDOM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EEXIST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EFAULT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EFBIG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EINTR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EINVAL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EIO</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EISDIR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EMFILE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EMLINK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENAMETOOLONG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENFILE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENODEV</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOENT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOEXEC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOLCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOMEM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOSPC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOSYS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTDIR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTEMPTY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTTY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENXIO</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPERM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPIPE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ERANGE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EROFS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ESPIPE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ESRCH</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EXDEV</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EWOULDBLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EINPROGRESS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EALREADY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTSOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EDESTADDRREQ</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EMSGSIZE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPROTOTYPE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOPROTOOPT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPROTONOSUPPORT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ESOCKTNOSUPPORT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EOPNOTSUPP</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EPFNOSUPPORT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EAFNOSUPPORT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EADDRINUSE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EADDRNOTAVAIL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENETDOWN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENETUNREACH</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENETRESET</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ECONNABORTED</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ECONNRESET</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOBUFS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EISCONN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ENOTCONN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ESHUTDOWN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ETOOMANYREFS</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ETIMEDOUT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ECONNREFUSED</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EHOSTDOWN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EHOSTUNREACH</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ELOOP</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EOVERFLOW</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">EUNKNOWNERR</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">exception</span>&nbsp;<span class="constructor">Unix_error</span>&nbsp;<span class="keyword">of</span>&nbsp;error&nbsp;*&nbsp;string&nbsp;*&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;error_message&nbsp;:&nbsp;error&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;handle_unix_error&nbsp;:&nbsp;(<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>b)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>b<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;environment&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getenv&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;putenv&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;process_status&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.process_status&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">WEXITED</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">WSIGNALED</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">WSTOPPED</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;wait_flag&nbsp;=&nbsp;<span class="constructor">Unix</span>.wait_flag&nbsp;=&nbsp;<span class="constructor">WNOHANG</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">WUNTRACED</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;execv&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;execve&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;execvp&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;execvpe&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;<span class="keywordsign">'</span>a<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fork&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;wait&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;*&nbsp;process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;waitpid&nbsp;:&nbsp;wait_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;*&nbsp;process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;system&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getpid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getppid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;nice&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;file_descr&nbsp;=&nbsp;<span class="constructor">Unix</span>.file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stdin&nbsp;:&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stdout&nbsp;:&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stderr&nbsp;:&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;open_flag&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.open_flag&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">O_RDONLY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_WRONLY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_RDWR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_NONBLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_APPEND</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_CREAT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_TRUNC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_EXCL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_NOCTTY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_DSYNC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_SYNC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_RSYNC</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_SHARE_DELETE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">O_CLOEXEC</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;file_perm&nbsp;=&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;openfile&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;open_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;read&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;write&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;single_write&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;in_channel_of_descr&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;in_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;out_channel_of_descr&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;out_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;descr_of_in_channel&nbsp;:&nbsp;in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;descr_of_out_channel&nbsp;:&nbsp;out_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;seek_command&nbsp;=&nbsp;<span class="constructor">Unix</span>.seek_command&nbsp;=&nbsp;<span class="constructor">SEEK_SET</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SEEK_CUR</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SEEK_END</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lseek&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;seek_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;truncate&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;ftruncate&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;file_kind&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.file_kind&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">S_REG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_DIR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_CHR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_BLK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_LNK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_FIFO</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">S_SOCK</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;stats&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.stats&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_dev&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_ino&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_kind&nbsp;:&nbsp;file_kind;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_perm&nbsp;:&nbsp;file_perm;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_nlink&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_uid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_gid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_rdev&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_size&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_atime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_mtime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;st_ctime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stat&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;stats<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lstat&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;stats<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fstat&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;stats<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;isatty&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;<span class="keyword">module</span>&nbsp;<span class="constructor">LargeFile</span>&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">sig</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lseek&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int64&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;seek_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int64<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;truncate&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int64&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;ftruncate&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int64&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;stats&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.<span class="constructor">LargeFile</span>.stats&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_dev&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_ino&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_kind&nbsp;:&nbsp;file_kind;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_perm&nbsp;:&nbsp;file_perm;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_nlink&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_uid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_gid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_rdev&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_size&nbsp;:&nbsp;int64;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_atime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_mtime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;st_ctime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;stat&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;stats<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lstat&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;stats<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fstat&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;stats<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">end</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;unlink&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rename&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;link&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;access_permission&nbsp;=&nbsp;<span class="constructor">Unix</span>.access_permission&nbsp;=&nbsp;<span class="constructor">R_OK</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">W_OK</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">X_OK</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_OK</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;chmod&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fchmod&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;chown&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;fchown&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;umask&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;access&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;access_permission&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;dup&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;dup2&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;set_nonblock&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;clear_nonblock&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;set_close_on_exec&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;clear_close_on_exec&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;mkdir&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rmdir&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;chdir&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getcwd&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;chroot&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;dir_handle&nbsp;=&nbsp;<span class="constructor">Unix</span>.dir_handle<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;opendir&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;dir_handle<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;readdir&nbsp;:&nbsp;dir_handle&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;rewinddir&nbsp;:&nbsp;dir_handle&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;closedir&nbsp;:&nbsp;dir_handle&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;pipe&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;*&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;mkfifo&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_perm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;create_process&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;create_process_env&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_process_in&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;in_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_process_out&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;out_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_process&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;in_channel&nbsp;*&nbsp;out_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_process_full&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;in_channel&nbsp;*&nbsp;out_channel&nbsp;*&nbsp;in_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close_process_in&nbsp;:&nbsp;in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close_process_out&nbsp;:&nbsp;out_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close_process&nbsp;:&nbsp;in_channel&nbsp;*&nbsp;out_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;close_process_full&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;in_channel&nbsp;*&nbsp;out_channel&nbsp;*&nbsp;in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;process_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;symlink&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;readlink&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;select&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;file_descr&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;file_descr&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;file_descr&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;list&nbsp;*&nbsp;file_descr&nbsp;list&nbsp;*&nbsp;file_descr&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;lock_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.lock_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">F_ULOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_LOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_TLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_TEST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_RLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">F_TRLOCK</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;lockf&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;lock_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;kill&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;sigprocmask_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.sigprocmask_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SIG_SETMASK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SIG_BLOCK</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SIG_UNBLOCK</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sigprocmask&nbsp;:&nbsp;sigprocmask_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sigpending&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sigsuspend&nbsp;:&nbsp;int&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;pause&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;process_times&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.process_times&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;tms_utime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tms_stime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tms_cutime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tms_cstime&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;tm&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.tm&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_sec&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_min&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_hour&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_mday&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_mon&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_year&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_wday&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_yday&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;tm_isdst&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;time&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gettimeofday&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gmtime&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;tm<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;localtime&nbsp;:&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;tm<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;mktime&nbsp;:&nbsp;tm&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;*&nbsp;tm<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;alarm&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sleep&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;times&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;process_times<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;utimes&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;interval_timer&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.interval_timer&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">ITIMER_REAL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ITIMER_VIRTUAL</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ITIMER_PROF</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;interval_timer_status&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.interval_timer_status&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;it_interval&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;&nbsp;&nbsp;it_value&nbsp;:&nbsp;float;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getitimer&nbsp;:&nbsp;interval_timer&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;interval_timer_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setitimer&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;interval_timer&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;interval_timer_status&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;interval_timer_status<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getuid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;geteuid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setuid&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getgid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getegid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setgid&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getgroups&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;array<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setgroups&nbsp;:&nbsp;int&nbsp;array&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;initgroups&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;passwd_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.passwd_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_passwd&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_uid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_gid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_gecos&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_dir&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;pw_shell&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;group_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.group_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;gr_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;gr_passwd&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;gr_gid&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;gr_mem&nbsp;:&nbsp;string&nbsp;array;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getlogin&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getpwnam&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;passwd_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getgrnam&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;group_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getpwuid&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;passwd_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getgrgid&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;group_entry<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;inet_addr&nbsp;=&nbsp;<span class="constructor">Unix</span>.inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet_addr_of_string&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;string_of_inet_addr&nbsp;:&nbsp;inet_addr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet_addr_any&nbsp;:&nbsp;inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet_addr_loopback&nbsp;:&nbsp;inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet6_addr_any&nbsp;:&nbsp;inet_addr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;inet6_addr_loopback&nbsp;:&nbsp;inet_addr<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_domain&nbsp;=&nbsp;<span class="constructor">Unix</span>.socket_domain&nbsp;=&nbsp;<span class="constructor">PF_UNIX</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">PF_INET</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">PF_INET6</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_type&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.socket_type&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SOCK_STREAM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SOCK_DGRAM</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SOCK_RAW</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SOCK_SEQPACKET</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;sockaddr&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.sockaddr&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">ADDR_UNIX</span>&nbsp;<span class="keyword">of</span>&nbsp;string<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">ADDR_INET</span>&nbsp;<span class="keyword">of</span>&nbsp;inet_addr&nbsp;*&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;socket&nbsp;:&nbsp;socket_domain&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_type&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;domain_of_sockaddr&nbsp;:&nbsp;sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_domain<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;socketpair&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;socket_domain&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_type&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;*&nbsp;file_descr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;accept&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;file_descr&nbsp;*&nbsp;sockaddr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;bind&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;connect&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;listen&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;shutdown_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.shutdown_command&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SHUTDOWN_RECEIVE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SHUTDOWN_SEND</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SHUTDOWN_ALL</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;shutdown&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;shutdown_command&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockname&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;sockaddr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getpeername&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;sockaddr<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;msg_flag&nbsp;=&nbsp;<span class="constructor">Unix</span>.msg_flag&nbsp;=&nbsp;<span class="constructor">MSG_OOB</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">MSG_DONTROUTE</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">MSG_PEEK</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;recv&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;recvfrom&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;*&nbsp;sockaddr<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;send&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;sendto&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;msg_flag&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_bool_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.socket_bool_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SO_DEBUG</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_BROADCAST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_REUSEADDR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_KEEPALIVE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_DONTROUTE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_OOBINLINE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_ACCEPTCONN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCP_NODELAY</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">IPV6_ONLY</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_int_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.socket_int_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SO_SNDBUF</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_RCVBUF</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_ERROR</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_TYPE</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_RCVLOWAT</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_SNDLOWAT</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_optint_option&nbsp;=&nbsp;<span class="constructor">Unix</span>.socket_optint_option&nbsp;=&nbsp;<span class="constructor">SO_LINGER</span><br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;socket_float_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.socket_float_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">SO_RCVTIMEO</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">SO_SNDTIMEO</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_bool_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsockopt&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_bool_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;bool&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt_int&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_int_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsockopt_int&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_int_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt_optint&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_optint_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;option<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsockopt_optint&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_optint_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt_float&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_float_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsockopt_float&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;socket_float_option&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;float&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getsockopt_error&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;error&nbsp;option<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;open_connection&nbsp;:&nbsp;sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;in_channel&nbsp;*&nbsp;out_channel<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;shutdown_connection&nbsp;:&nbsp;in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;establish_server&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;(in_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;out_channel&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit)&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;host_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.host_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;h_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;h_aliases&nbsp;:&nbsp;string&nbsp;array;<br>
&nbsp;&nbsp;&nbsp;&nbsp;h_addrtype&nbsp;:&nbsp;socket_domain;<br>
&nbsp;&nbsp;&nbsp;&nbsp;h_addr_list&nbsp;:&nbsp;inet_addr&nbsp;array;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;protocol_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.protocol_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;p_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;p_aliases&nbsp;:&nbsp;string&nbsp;array;<br>
&nbsp;&nbsp;&nbsp;&nbsp;p_proto&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;service_entry&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.service_entry&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;s_name&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;s_aliases&nbsp;:&nbsp;string&nbsp;array;<br>
&nbsp;&nbsp;&nbsp;&nbsp;s_port&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;s_proto&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gethostname&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gethostbyname&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;host_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;gethostbyaddr&nbsp;:&nbsp;inet_addr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;host_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getprotobyname&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;protocol_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getprotobynumber&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;protocol_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getservbyname&nbsp;:&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;service_entry<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getservbyport&nbsp;:&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;service_entry<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;addr_info&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.addr_info&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_family&nbsp;:&nbsp;socket_domain;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_socktype&nbsp;:&nbsp;socket_type;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_protocol&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_addr&nbsp;:&nbsp;sockaddr;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ai_canonname&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;getaddrinfo_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.getaddrinfo_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">AI_FAMILY</span>&nbsp;<span class="keyword">of</span>&nbsp;socket_domain<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_SOCKTYPE</span>&nbsp;<span class="keyword">of</span>&nbsp;socket_type<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_PROTOCOL</span>&nbsp;<span class="keyword">of</span>&nbsp;int<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_NUMERICHOST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_CANONNAME</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">AI_PASSIVE</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getaddrinfo&nbsp;:<br>
&nbsp;&nbsp;&nbsp;&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;string&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;getaddrinfo_option&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;addr_info&nbsp;list<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;name_info&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.name_info&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;ni_hostname&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;&nbsp;&nbsp;ni_service&nbsp;:&nbsp;string;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;getnameinfo_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.getnameinfo_option&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">NI_NOFQDN</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NI_NUMERICHOST</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NI_NAMEREQD</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NI_NUMERICSERV</span><br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">NI_DGRAM</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;getnameinfo&nbsp;:&nbsp;sockaddr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;getnameinfo_option&nbsp;list&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;name_info<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;terminal_io&nbsp;=<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="constructor">Unix</span>.terminal_io&nbsp;=&nbsp;{<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ignbrk&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_brkint&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ignpar&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_parmrk&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_inpck&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_istrip&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_inlcr&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_igncr&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_icrnl&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ixon&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ixoff&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_opost&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_obaud&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_ibaud&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_csize&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_cstopb&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_cread&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_parenb&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_parodd&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_hupcl&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_clocal&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_isig&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_icanon&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_noflsh&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_echo&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_echoe&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_echok&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_echonl&nbsp;:&nbsp;bool;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vintr&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vquit&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_verase&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vkill&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_veof&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_veol&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vmin&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vtime&nbsp;:&nbsp;int;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vstart&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;&nbsp;&nbsp;<span class="keyword">mutable</span>&nbsp;c_vstop&nbsp;:&nbsp;char;<br>
&nbsp;&nbsp;}<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcgetattr&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;terminal_io<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;setattr_when&nbsp;=&nbsp;<span class="constructor">Unix</span>.setattr_when&nbsp;=&nbsp;<span class="constructor">TCSANOW</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCSADRAIN</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCSAFLUSH</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcsetattr&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;setattr_when&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;terminal_io&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcsendbreak&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcdrain&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;flush_queue&nbsp;=&nbsp;<span class="constructor">Unix</span>.flush_queue&nbsp;=&nbsp;<span class="constructor">TCIFLUSH</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCOFLUSH</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCIOFLUSH</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcflush&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;flush_queue&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">type</span>&nbsp;flow_action&nbsp;=&nbsp;<span class="constructor">Unix</span>.flow_action&nbsp;=&nbsp;<span class="constructor">TCOOFF</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCOON</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCIOFF</span>&nbsp;<span class="keywordsign">|</span>&nbsp;<span class="constructor">TCION</span><br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;tcflow&nbsp;:&nbsp;file_descr&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;flow_action&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;unit<br>
&nbsp;&nbsp;<span class="keyword">val</span>&nbsp;setsid&nbsp;:&nbsp;unit&nbsp;<span class="keywordsign">-&gt;</span>&nbsp;int<br>
<span class="keyword">end</span></code></body></html>