<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> <span class="keyword">type</span> error =<br> <span class="constructor">Unix</span>.error =<br> <span class="constructor">E2BIG</span><br> <span class="keywordsign">|</span> <span class="constructor">EACCES</span><br> <span class="keywordsign">|</span> <span class="constructor">EAGAIN</span><br> <span class="keywordsign">|</span> <span class="constructor">EBADF</span><br> <span class="keywordsign">|</span> <span class="constructor">EBUSY</span><br> <span class="keywordsign">|</span> <span class="constructor">ECHILD</span><br> <span class="keywordsign">|</span> <span class="constructor">EDEADLK</span><br> <span class="keywordsign">|</span> <span class="constructor">EDOM</span><br> <span class="keywordsign">|</span> <span class="constructor">EEXIST</span><br> <span class="keywordsign">|</span> <span class="constructor">EFAULT</span><br> <span class="keywordsign">|</span> <span class="constructor">EFBIG</span><br> <span class="keywordsign">|</span> <span class="constructor">EINTR</span><br> <span class="keywordsign">|</span> <span class="constructor">EINVAL</span><br> <span class="keywordsign">|</span> <span class="constructor">EIO</span><br> <span class="keywordsign">|</span> <span class="constructor">EISDIR</span><br> <span class="keywordsign">|</span> <span class="constructor">EMFILE</span><br> <span class="keywordsign">|</span> <span class="constructor">EMLINK</span><br> <span class="keywordsign">|</span> <span class="constructor">ENAMETOOLONG</span><br> <span class="keywordsign">|</span> <span class="constructor">ENFILE</span><br> <span class="keywordsign">|</span> <span class="constructor">ENODEV</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOENT</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOEXEC</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOLCK</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOMEM</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOSPC</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOSYS</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTDIR</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTEMPTY</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTTY</span><br> <span class="keywordsign">|</span> <span class="constructor">ENXIO</span><br> <span class="keywordsign">|</span> <span class="constructor">EPERM</span><br> <span class="keywordsign">|</span> <span class="constructor">EPIPE</span><br> <span class="keywordsign">|</span> <span class="constructor">ERANGE</span><br> <span class="keywordsign">|</span> <span class="constructor">EROFS</span><br> <span class="keywordsign">|</span> <span class="constructor">ESPIPE</span><br> <span class="keywordsign">|</span> <span class="constructor">ESRCH</span><br> <span class="keywordsign">|</span> <span class="constructor">EXDEV</span><br> <span class="keywordsign">|</span> <span class="constructor">EWOULDBLOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">EINPROGRESS</span><br> <span class="keywordsign">|</span> <span class="constructor">EALREADY</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTSOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">EDESTADDRREQ</span><br> <span class="keywordsign">|</span> <span class="constructor">EMSGSIZE</span><br> <span class="keywordsign">|</span> <span class="constructor">EPROTOTYPE</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOPROTOOPT</span><br> <span class="keywordsign">|</span> <span class="constructor">EPROTONOSUPPORT</span><br> <span class="keywordsign">|</span> <span class="constructor">ESOCKTNOSUPPORT</span><br> <span class="keywordsign">|</span> <span class="constructor">EOPNOTSUPP</span><br> <span class="keywordsign">|</span> <span class="constructor">EPFNOSUPPORT</span><br> <span class="keywordsign">|</span> <span class="constructor">EAFNOSUPPORT</span><br> <span class="keywordsign">|</span> <span class="constructor">EADDRINUSE</span><br> <span class="keywordsign">|</span> <span class="constructor">EADDRNOTAVAIL</span><br> <span class="keywordsign">|</span> <span class="constructor">ENETDOWN</span><br> <span class="keywordsign">|</span> <span class="constructor">ENETUNREACH</span><br> <span class="keywordsign">|</span> <span class="constructor">ENETRESET</span><br> <span class="keywordsign">|</span> <span class="constructor">ECONNABORTED</span><br> <span class="keywordsign">|</span> <span class="constructor">ECONNRESET</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOBUFS</span><br> <span class="keywordsign">|</span> <span class="constructor">EISCONN</span><br> <span class="keywordsign">|</span> <span class="constructor">ENOTCONN</span><br> <span class="keywordsign">|</span> <span class="constructor">ESHUTDOWN</span><br> <span class="keywordsign">|</span> <span class="constructor">ETOOMANYREFS</span><br> <span class="keywordsign">|</span> <span class="constructor">ETIMEDOUT</span><br> <span class="keywordsign">|</span> <span class="constructor">ECONNREFUSED</span><br> <span class="keywordsign">|</span> <span class="constructor">EHOSTDOWN</span><br> <span class="keywordsign">|</span> <span class="constructor">EHOSTUNREACH</span><br> <span class="keywordsign">|</span> <span class="constructor">ELOOP</span><br> <span class="keywordsign">|</span> <span class="constructor">EOVERFLOW</span><br> <span class="keywordsign">|</span> <span class="constructor">EUNKNOWNERR</span> <span class="keyword">of</span> int<br> <span class="keyword">exception</span> <span class="constructor">Unix_error</span> <span class="keyword">of</span> error * string * string<br> <span class="keyword">val</span> error_message : 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 =<br> <span class="constructor">Unix</span>.process_status =<br> <span class="constructor">WEXITED</span> <span class="keyword">of</span> int<br> <span class="keywordsign">|</span> <span class="constructor">WSIGNALED</span> <span class="keyword">of</span> int<br> <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">Unix</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 * process_status<br> <span class="keyword">val</span> waitpid : wait_flag list <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int * process_status<br> <span class="keyword">val</span> system : string <span class="keywordsign">-></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 = <span class="constructor">Unix</span>.file_descr<br> <span class="keyword">val</span> stdin : file_descr<br> <span class="keyword">val</span> stdout : file_descr<br> <span class="keyword">val</span> stderr : file_descr<br> <span class="keyword">type</span> open_flag =<br> <span class="constructor">Unix</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="keywordsign">|</span> <span class="constructor">O_SHARE_DELETE</span><br> <span class="keywordsign">|</span> <span class="constructor">O_CLOEXEC</span><br> <span class="keyword">type</span> file_perm = int<br> <span class="keyword">val</span> openfile : string <span class="keywordsign">-></span> open_flag list <span class="keywordsign">-></span> file_perm <span class="keywordsign">-></span> file_descr<br> <span class="keyword">val</span> close : file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> read : 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 : 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 : 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 : file_descr <span class="keywordsign">-></span> in_channel<br> <span class="keyword">val</span> out_channel_of_descr : file_descr <span class="keywordsign">-></span> out_channel<br> <span class="keyword">val</span> descr_of_in_channel : in_channel <span class="keywordsign">-></span> file_descr<br> <span class="keyword">val</span> descr_of_out_channel : out_channel <span class="keywordsign">-></span> file_descr<br> <span class="keyword">type</span> seek_command = <span class="constructor">Unix</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 : file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></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 : file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> file_kind =<br> <span class="constructor">Unix</span>.file_kind =<br> <span class="constructor">S_REG</span><br> <span class="keywordsign">|</span> <span class="constructor">S_DIR</span><br> <span class="keywordsign">|</span> <span class="constructor">S_CHR</span><br> <span class="keywordsign">|</span> <span class="constructor">S_BLK</span><br> <span class="keywordsign">|</span> <span class="constructor">S_LNK</span><br> <span class="keywordsign">|</span> <span class="constructor">S_FIFO</span><br> <span class="keywordsign">|</span> <span class="constructor">S_SOCK</span><br> <span class="keyword">type</span> stats =<br> <span class="constructor">Unix</span>.stats = {<br> st_dev : int;<br> st_ino : int;<br> st_kind : file_kind;<br> st_perm : 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> stats<br> <span class="keyword">val</span> lstat : string <span class="keywordsign">-></span> stats<br> <span class="keyword">val</span> fstat : file_descr <span class="keywordsign">-></span> stats<br> <span class="keyword">val</span> isatty : 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 : file_descr <span class="keywordsign">-></span> int64 <span class="keywordsign">-></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 : file_descr <span class="keywordsign">-></span> int64 <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> stats =<br> <span class="constructor">Unix</span>.<span class="constructor">LargeFile</span>.stats = {<br> st_dev : int;<br> st_ino : int;<br> st_kind : file_kind;<br> st_perm : 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> stats<br> <span class="keyword">val</span> lstat : string <span class="keywordsign">-></span> stats<br> <span class="keyword">val</span> fstat : file_descr <span class="keywordsign">-></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">Unix</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> file_perm <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> fchmod : file_descr <span class="keywordsign">-></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 : 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> access_permission list <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> dup : file_descr <span class="keywordsign">-></span> file_descr<br> <span class="keyword">val</span> dup2 : file_descr <span class="keywordsign">-></span> file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> set_nonblock : file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> clear_nonblock : file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> set_close_on_exec : file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> clear_close_on_exec : file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> mkdir : string <span class="keywordsign">-></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 = <span class="constructor">Unix</span>.dir_handle<br> <span class="keyword">val</span> opendir : string <span class="keywordsign">-></span> dir_handle<br> <span class="keyword">val</span> readdir : dir_handle <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> rewinddir : dir_handle <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> closedir : dir_handle <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> pipe : unit <span class="keywordsign">-></span> file_descr * file_descr<br> <span class="keyword">val</span> mkfifo : string <span class="keywordsign">-></span> file_perm <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> create_process :<br> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> file_descr <span class="keywordsign">-></span> file_descr <span class="keywordsign">-></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> file_descr <span class="keywordsign">-></span> file_descr <span class="keywordsign">-></span> file_descr <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> open_process_in : string <span class="keywordsign">-></span> in_channel<br> <span class="keyword">val</span> open_process_out : string <span class="keywordsign">-></span> out_channel<br> <span class="keyword">val</span> open_process : string <span class="keywordsign">-></span> in_channel * out_channel<br> <span class="keyword">val</span> open_process_full :<br> string <span class="keywordsign">-></span> string array <span class="keywordsign">-></span> in_channel * out_channel * in_channel<br> <span class="keyword">val</span> close_process_in : in_channel <span class="keywordsign">-></span> process_status<br> <span class="keyword">val</span> close_process_out : out_channel <span class="keywordsign">-></span> process_status<br> <span class="keyword">val</span> close_process : in_channel * out_channel <span class="keywordsign">-></span> process_status<br> <span class="keyword">val</span> close_process_full :<br> in_channel * out_channel * in_channel <span class="keywordsign">-></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> file_descr list <span class="keywordsign">-></span><br> file_descr list <span class="keywordsign">-></span><br> file_descr list <span class="keywordsign">-></span><br> float <span class="keywordsign">-></span> file_descr list * file_descr list * file_descr list<br> <span class="keyword">type</span> lock_command =<br> <span class="constructor">Unix</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 : file_descr <span class="keywordsign">-></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 =<br> <span class="constructor">Unix</span>.sigprocmask_command =<br> <span class="constructor">SIG_SETMASK</span><br> <span class="keywordsign">|</span> <span class="constructor">SIG_BLOCK</span><br> <span class="keywordsign">|</span> <span class="constructor">SIG_UNBLOCK</span><br> <span class="keyword">val</span> sigprocmask : 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> <span class="constructor">Unix</span>.process_times = {<br> tms_utime : float;<br> tms_stime : float;<br> tms_cutime : float;<br> tms_cstime : float;<br> }<br> <span class="keyword">type</span> tm =<br> <span class="constructor">Unix</span>.tm = {<br> tm_sec : int;<br> tm_min : int;<br> tm_hour : int;<br> tm_mday : int;<br> tm_mon : int;<br> tm_year : int;<br> tm_wday : int;<br> tm_yday : int;<br> tm_isdst : bool;<br> }<br> <span class="keyword">val</span> time : unit <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> gettimeofday : unit <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> gmtime : float <span class="keywordsign">-></span> tm<br> <span class="keyword">val</span> localtime : float <span class="keywordsign">-></span> tm<br> <span class="keyword">val</span> mktime : tm <span class="keywordsign">-></span> float * 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> 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 =<br> <span class="constructor">Unix</span>.interval_timer =<br> <span class="constructor">ITIMER_REAL</span><br> <span class="keywordsign">|</span> <span class="constructor">ITIMER_VIRTUAL</span><br> <span class="keywordsign">|</span> <span class="constructor">ITIMER_PROF</span><br> <span class="keyword">type</span> interval_timer_status =<br> <span class="constructor">Unix</span>.interval_timer_status = {<br> it_interval : float;<br> it_value : float;<br> }<br> <span class="keyword">val</span> getitimer : interval_timer <span class="keywordsign">-></span> interval_timer_status<br> <span class="keyword">val</span> setitimer :<br> interval_timer <span class="keywordsign">-></span> interval_timer_status <span class="keywordsign">-></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> <span class="constructor">Unix</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> <span class="constructor">Unix</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> passwd_entry<br> <span class="keyword">val</span> getgrnam : string <span class="keywordsign">-></span> group_entry<br> <span class="keyword">val</span> getpwuid : int <span class="keywordsign">-></span> passwd_entry<br> <span class="keyword">val</span> getgrgid : int <span class="keywordsign">-></span> group_entry<br> <span class="keyword">type</span> inet_addr = <span class="constructor">Unix</span>.inet_addr<br> <span class="keyword">val</span> inet_addr_of_string : string <span class="keywordsign">-></span> inet_addr<br> <span class="keyword">val</span> string_of_inet_addr : inet_addr <span class="keywordsign">-></span> string<br> <span class="keyword">val</span> inet_addr_any : inet_addr<br> <span class="keyword">val</span> inet_addr_loopback : inet_addr<br> <span class="keyword">val</span> inet6_addr_any : inet_addr<br> <span class="keyword">val</span> inet6_addr_loopback : inet_addr<br> <span class="keyword">type</span> socket_domain = <span class="constructor">Unix</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 =<br> <span class="constructor">Unix</span>.socket_type =<br> <span class="constructor">SOCK_STREAM</span><br> <span class="keywordsign">|</span> <span class="constructor">SOCK_DGRAM</span><br> <span class="keywordsign">|</span> <span class="constructor">SOCK_RAW</span><br> <span class="keywordsign">|</span> <span class="constructor">SOCK_SEQPACKET</span><br> <span class="keyword">type</span> sockaddr =<br> <span class="constructor">Unix</span>.sockaddr =<br> <span class="constructor">ADDR_UNIX</span> <span class="keyword">of</span> string<br> <span class="keywordsign">|</span> <span class="constructor">ADDR_INET</span> <span class="keyword">of</span> inet_addr * int<br> <span class="keyword">val</span> socket : socket_domain <span class="keywordsign">-></span> socket_type <span class="keywordsign">-></span> int <span class="keywordsign">-></span> file_descr<br> <span class="keyword">val</span> domain_of_sockaddr : sockaddr <span class="keywordsign">-></span> socket_domain<br> <span class="keyword">val</span> socketpair :<br> socket_domain <span class="keywordsign">-></span> socket_type <span class="keywordsign">-></span> int <span class="keywordsign">-></span> file_descr * file_descr<br> <span class="keyword">val</span> accept : file_descr <span class="keywordsign">-></span> file_descr * sockaddr<br> <span class="keyword">val</span> bind : file_descr <span class="keywordsign">-></span> sockaddr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> connect : file_descr <span class="keywordsign">-></span> sockaddr <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> listen : file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> shutdown_command =<br> <span class="constructor">Unix</span>.shutdown_command =<br> <span class="constructor">SHUTDOWN_RECEIVE</span><br> <span class="keywordsign">|</span> <span class="constructor">SHUTDOWN_SEND</span><br> <span class="keywordsign">|</span> <span class="constructor">SHUTDOWN_ALL</span><br> <span class="keyword">val</span> shutdown : file_descr <span class="keywordsign">-></span> shutdown_command <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockname : file_descr <span class="keywordsign">-></span> sockaddr<br> <span class="keyword">val</span> getpeername : file_descr <span class="keywordsign">-></span> sockaddr<br> <span class="keyword">type</span> msg_flag = <span class="constructor">Unix</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 : file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> msg_flag list <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> recvfrom :<br> file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> msg_flag list <span class="keywordsign">-></span> int * sockaddr<br> <span class="keyword">val</span> send : file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> msg_flag list <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> sendto :<br> file_descr <span class="keywordsign">-></span> string <span class="keywordsign">-></span> int <span class="keywordsign">-></span> int <span class="keywordsign">-></span> msg_flag list <span class="keywordsign">-></span> sockaddr <span class="keywordsign">-></span> int<br> <span class="keyword">type</span> socket_bool_option =<br> <span class="constructor">Unix</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">Unix</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">Unix</span>.socket_optint_option = <span class="constructor">SO_LINGER</span><br> <span class="keyword">type</span> socket_float_option =<br> <span class="constructor">Unix</span>.socket_float_option =<br> <span class="constructor">SO_RCVTIMEO</span><br> <span class="keywordsign">|</span> <span class="constructor">SO_SNDTIMEO</span><br> <span class="keyword">val</span> getsockopt : file_descr <span class="keywordsign">-></span> socket_bool_option <span class="keywordsign">-></span> bool<br> <span class="keyword">val</span> setsockopt : file_descr <span class="keywordsign">-></span> socket_bool_option <span class="keywordsign">-></span> bool <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockopt_int : file_descr <span class="keywordsign">-></span> socket_int_option <span class="keywordsign">-></span> int<br> <span class="keyword">val</span> setsockopt_int : file_descr <span class="keywordsign">-></span> socket_int_option <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockopt_optint : file_descr <span class="keywordsign">-></span> socket_optint_option <span class="keywordsign">-></span> int option<br> <span class="keyword">val</span> setsockopt_optint :<br> file_descr <span class="keywordsign">-></span> socket_optint_option <span class="keywordsign">-></span> int option <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockopt_float : file_descr <span class="keywordsign">-></span> socket_float_option <span class="keywordsign">-></span> float<br> <span class="keyword">val</span> setsockopt_float : file_descr <span class="keywordsign">-></span> socket_float_option <span class="keywordsign">-></span> float <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> getsockopt_error : file_descr <span class="keywordsign">-></span> error option<br> <span class="keyword">val</span> open_connection : sockaddr <span class="keywordsign">-></span> in_channel * out_channel<br> <span class="keyword">val</span> shutdown_connection : in_channel <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> establish_server :<br> (in_channel <span class="keywordsign">-></span> out_channel <span class="keywordsign">-></span> unit) <span class="keywordsign">-></span> sockaddr <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> host_entry =<br> <span class="constructor">Unix</span>.host_entry = {<br> h_name : string;<br> h_aliases : string array;<br> h_addrtype : socket_domain;<br> h_addr_list : inet_addr array;<br> }<br> <span class="keyword">type</span> protocol_entry =<br> <span class="constructor">Unix</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> <span class="constructor">Unix</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> host_entry<br> <span class="keyword">val</span> gethostbyaddr : inet_addr <span class="keywordsign">-></span> host_entry<br> <span class="keyword">val</span> getprotobyname : string <span class="keywordsign">-></span> protocol_entry<br> <span class="keyword">val</span> getprotobynumber : int <span class="keywordsign">-></span> protocol_entry<br> <span class="keyword">val</span> getservbyname : string <span class="keywordsign">-></span> string <span class="keywordsign">-></span> service_entry<br> <span class="keyword">val</span> getservbyport : int <span class="keywordsign">-></span> string <span class="keywordsign">-></span> service_entry<br> <span class="keyword">type</span> addr_info =<br> <span class="constructor">Unix</span>.addr_info = {<br> ai_family : socket_domain;<br> ai_socktype : socket_type;<br> ai_protocol : int;<br> ai_addr : sockaddr;<br> ai_canonname : string;<br> }<br> <span class="keyword">type</span> getaddrinfo_option =<br> <span class="constructor">Unix</span>.getaddrinfo_option =<br> <span class="constructor">AI_FAMILY</span> <span class="keyword">of</span> socket_domain<br> <span class="keywordsign">|</span> <span class="constructor">AI_SOCKTYPE</span> <span class="keyword">of</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> getaddrinfo_option list <span class="keywordsign">-></span> addr_info list<br> <span class="keyword">type</span> name_info =<br> <span class="constructor">Unix</span>.name_info = {<br> ni_hostname : string;<br> ni_service : string;<br> }<br> <span class="keyword">type</span> getnameinfo_option =<br> <span class="constructor">Unix</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 : sockaddr <span class="keywordsign">-></span> getnameinfo_option list <span class="keywordsign">-></span> name_info<br> <span class="keyword">type</span> terminal_io =<br> <span class="constructor">Unix</span>.terminal_io = {<br> <span class="keyword">mutable</span> c_ignbrk : bool;<br> <span class="keyword">mutable</span> c_brkint : bool;<br> <span class="keyword">mutable</span> c_ignpar : bool;<br> <span class="keyword">mutable</span> c_parmrk : bool;<br> <span class="keyword">mutable</span> c_inpck : bool;<br> <span class="keyword">mutable</span> c_istrip : bool;<br> <span class="keyword">mutable</span> c_inlcr : bool;<br> <span class="keyword">mutable</span> c_igncr : bool;<br> <span class="keyword">mutable</span> c_icrnl : bool;<br> <span class="keyword">mutable</span> c_ixon : bool;<br> <span class="keyword">mutable</span> c_ixoff : bool;<br> <span class="keyword">mutable</span> c_opost : bool;<br> <span class="keyword">mutable</span> c_obaud : int;<br> <span class="keyword">mutable</span> c_ibaud : int;<br> <span class="keyword">mutable</span> c_csize : int;<br> <span class="keyword">mutable</span> c_cstopb : int;<br> <span class="keyword">mutable</span> c_cread : bool;<br> <span class="keyword">mutable</span> c_parenb : bool;<br> <span class="keyword">mutable</span> c_parodd : bool;<br> <span class="keyword">mutable</span> c_hupcl : bool;<br> <span class="keyword">mutable</span> c_clocal : bool;<br> <span class="keyword">mutable</span> c_isig : bool;<br> <span class="keyword">mutable</span> c_icanon : bool;<br> <span class="keyword">mutable</span> c_noflsh : bool;<br> <span class="keyword">mutable</span> c_echo : bool;<br> <span class="keyword">mutable</span> c_echoe : bool;<br> <span class="keyword">mutable</span> c_echok : bool;<br> <span class="keyword">mutable</span> c_echonl : bool;<br> <span class="keyword">mutable</span> c_vintr : char;<br> <span class="keyword">mutable</span> c_vquit : char;<br> <span class="keyword">mutable</span> c_verase : char;<br> <span class="keyword">mutable</span> c_vkill : char;<br> <span class="keyword">mutable</span> c_veof : char;<br> <span class="keyword">mutable</span> c_veol : char;<br> <span class="keyword">mutable</span> c_vmin : int;<br> <span class="keyword">mutable</span> c_vtime : int;<br> <span class="keyword">mutable</span> c_vstart : char;<br> <span class="keyword">mutable</span> c_vstop : char;<br> }<br> <span class="keyword">val</span> tcgetattr : file_descr <span class="keywordsign">-></span> terminal_io<br> <span class="keyword">type</span> setattr_when = <span class="constructor">Unix</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 : file_descr <span class="keywordsign">-></span> setattr_when <span class="keywordsign">-></span> terminal_io <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> tcsendbreak : file_descr <span class="keywordsign">-></span> int <span class="keywordsign">-></span> unit<br> <span class="keyword">val</span> tcdrain : file_descr <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> flush_queue = <span class="constructor">Unix</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 : file_descr <span class="keywordsign">-></span> flush_queue <span class="keywordsign">-></span> unit<br> <span class="keyword">type</span> flow_action = <span class="constructor">Unix</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 : file_descr <span class="keywordsign">-></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>