Hello, I am glad to announce the first release of ExtUnix - extended Unix module. This is a preliminary alpha release, some API may change (based on your feedback). Implemented bindings : * fsync fdatasync * eventfd signalfd * statvfs fstatvfs * dirfd openat unlinkat fstatat * uname * fadvise fallocate * ttyname setpgid getpgid setreuid setregid * realpath * some ioctls This release would have been much less interesting without the major contributions by Sylvain Le Gall, Stéphane Glondu and Kaustuv Chaudhuri. Get it at https://forge.ocamlcore.org/frs/?group_id=175 Homepage: http://extunix.forge.ocamlcore.org/ Get source code: git clone http://git.ocamlcore.org/extunix/extunix.git/ Browse source code: http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=extunix/extunix.git;a=summary ExtUnix aims to collect thin bindings to various low-level system API in one library with consistent interface. Project guidelines (verbatim from README): http://git.ocamlcore.org/cgi-bin/gitweb.cgi?p=extunix/extunix.git;a=blob_plain;f=README.txt;hb=HEAD For OCaml programming style, we follow Unix module: * Values and types should be named by the name of the underlying C function * Raise Unix_error on runtime errors * Uniformly raise Not_available exception for functions not available on the current platform * Be MT friendly by default - i.e. release runtime lock for blocking operations, (FIXME) optionally provide ST variants Portability: * No shell scripting for build and install (think windows :) ) * Write portable C code (use compiler options to catch compatibility issues), NB: msvc doesn't support C99. * Provide module (ExtUnix.Specific) exposing only functions available on the platform where library is built - i.e. guaranteed to not throw Not_available exception (experimental). [Generated by human] -- ygrek http://ygrek.org.ua