sig
external unix_error : int -> string -> string -> 'a = "unix_error_stub"
val mknod :
?file_kind:Unix.file_kind ->
?perm:int -> ?major:int -> ?minor:int -> string -> unit
module IOVec :
sig
type 'a t = private { buf : 'a; pos : int; len : int; }
type 'a kind
type bigstring =
(char, Bigarray.int8_unsigned_elt, Bigarray.c_layout)
Bigarray.Array1.t
val string_kind : string Unix_ext.IOVec.kind
val bigstring_kind : Unix_ext.IOVec.bigstring Unix_ext.IOVec.kind
val empty : 'a Unix_ext.IOVec.kind -> 'a Unix_ext.IOVec.t
val of_string :
?pos:int -> ?len:int -> string -> string Unix_ext.IOVec.t
val of_bigstring :
?pos:int ->
?len:int ->
Unix_ext.IOVec.bigstring -> Unix_ext.IOVec.bigstring Unix_ext.IOVec.t
val drop : 'a Unix_ext.IOVec.t -> int -> 'a Unix_ext.IOVec.t
val max_iovecs : int
end
external int_of_file_descr : Unix.file_descr -> int = "%identity"
external file_descr_of_int : int -> Unix.file_descr = "%identity"
external dirfd : Unix.dir_handle -> Unix.file_descr = "unix_dirfd"
external sync : unit -> unit = "unix_sync"
external fsync : Unix.file_descr -> unit = "unix_fsync"
external fdatasync : Unix.file_descr -> unit = "unix_fdatasync"
external readdir_ino : Unix.dir_handle -> string * int
= "unix_readdir_ino_stub"
val read_assume_nonblocking :
Unix.file_descr -> ?pos:int -> ?len:int -> string -> int
val write_assume_nonblocking :
Unix.file_descr -> ?pos:int -> ?len:int -> string -> int
val writev_assume_nonblocking :
Unix.file_descr -> ?count:int -> string Unix_ext.IOVec.t array -> int
external pselect :
Unix.file_descr list ->
Unix.file_descr list ->
Unix.file_descr list ->
float ->
int list ->
Unix.file_descr list * Unix.file_descr list * Unix.file_descr list
= "unix_pselect_stub"
type clock
external clock_gettime : Unix_ext.clock -> float = "unix_clock_gettime"
external clock_settime : Unix_ext.clock -> float -> unit
= "unix_clock_settime"
external clock_getres : Unix_ext.clock -> float = "unix_clock_getres"
external pthread_getcpuclockid : Thread.t -> Unix_ext.clock
= "unix_pthread_getcpuclockid"
module RLimit :
sig
type limit = Limit of int64 | Infinity
type t = { cur : Unix_ext.RLimit.limit; max : Unix_ext.RLimit.limit; }
type resource = CORE | CPU | DATA | FSIZE | NOFILE | STACK | AS
end
external getrlimit : Unix_ext.RLimit.resource -> Unix_ext.RLimit.t
= "unix_getrlimit"
external setrlimit : Unix_ext.RLimit.resource -> Unix_ext.RLimit.t -> unit
= "unix_setrlimit"
module RUsage :
sig
type who = SELF | CHILDREN
type t = {
ru_utime : float;
ru_stime : float;
ru_maxrss : int64;
ru_ixrss : int64;
ru_idrss : int64;
ru_isrss : int64;
ru_minflt : int64;
ru_majflt : int64;
ru_nswap : int64;
ru_inblock : int64;
ru_oublock : int64;
ru_msgsnd : int64;
ru_msgrcv : int64;
ru_nsignals : int64;
ru_nvcsw : int64;
ru_nivcsw : int64;
}
val ru_utime : Unix_ext.RUsage.t -> float
val ru_stime : Unix_ext.RUsage.t -> float
val ru_maxrss : Unix_ext.RUsage.t -> int64
val ru_ixrss : Unix_ext.RUsage.t -> int64
val ru_idrss : Unix_ext.RUsage.t -> int64
val ru_isrss : Unix_ext.RUsage.t -> int64
val ru_minflt : Unix_ext.RUsage.t -> int64
val ru_majflt : Unix_ext.RUsage.t -> int64
val ru_nswap : Unix_ext.RUsage.t -> int64
val ru_inblock : Unix_ext.RUsage.t -> int64
val ru_oublock : Unix_ext.RUsage.t -> int64
val ru_msgsnd : Unix_ext.RUsage.t -> int64
val ru_msgrcv : Unix_ext.RUsage.t -> int64
val ru_nsignals : Unix_ext.RUsage.t -> int64
val ru_nvcsw : Unix_ext.RUsage.t -> int64
val ru_nivcsw : Unix_ext.RUsage.t -> int64
val add : Unix_ext.RUsage.t -> Unix_ext.RUsage.t -> Unix_ext.RUsage.t
end
external getrusage : Unix_ext.RUsage.who -> Unix_ext.RUsage.t
= "unix_getrusage"
type sysconf =
ARG_MAX
| CHILD_MAX
| HOST_NAME_MAX
| LOGIN_NAME_MAX
| OPEN_MAX
| PAGESIZE
| RE_DUP_MAX
| STREAM_MAX
| SYMLOOP_MAX
| TTY_NAME_MAX
| TZNAME_MAX
| POSIX_VERSION
| PHYS_PAGES
| AVPHYS_PAGES
| IOV_MAX
external sysconf : Unix_ext.sysconf -> int64 = "unix_sysconf"
external mutex_timedlock : Mutex.t -> float -> bool
= "unix_mutex_timedlock"
external condition_timedwait : Condition.t -> Mutex.t -> float -> bool
= "unix_condition_timedwait"
external realpath : string -> string = "unix_realpath"
external mkdtemp : string -> string = "unix_mkdtemp"
external abort : unit -> 'a = "unix_abort" "noalloc"
external initgroups : string -> int -> unit = "unix_initgroups"
end