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