sig
exception Not_available of string
external fsync : Unix.file_descr -> unit = "caml_extunix_fsync"
external fdatasync : Unix.file_descr -> unit = "caml_extunix_fdatasync"
external eventfd : int -> Unix.file_descr = "caml_extunix_eventfd"
external eventfd_read : Unix.file_descr -> int64
= "caml_extunix_eventfd_read"
external eventfd_write : Unix.file_descr -> int64 -> unit
= "caml_extunix_eventfd_write"
external dirfd : Unix.dir_handle -> Unix.file_descr = "caml_extunix_dirfd"
type statvfs =
ExtUnixAll.statvfs = {
f_bsize : int;
f_blocks : int64;
f_bfree : int64;
f_bavail : int64;
f_files : int64;
f_ffree : int64;
f_favail : int64;
f_fsid : int64;
f_flag : int;
f_namemax : int;
}
external statvfs : string -> statvfs = "caml_extunix_statvfs"
external fstatvfs : Unix.file_descr -> statvfs = "caml_extunix_fstatvfs"
type at_flag =
ExtUnixAll.at_flag =
AT_EACCESS
| AT_SYMLINK_NOFOLLOW
| AT_REMOVEDIR
| AT_SYMLINK_FOLLOW
external openat :
Unix.file_descr ->
string -> Unix.open_flag list -> Unix.file_perm -> Unix.file_descr
= "caml_extunix_openat"
external fstatat : Unix.file_descr -> string -> Unix.stats
= "caml_extunix_fstatat"
external unlinkat : Unix.file_descr -> string -> at_flag list -> unit
= "caml_extunix_unlinkat"
external renameat :
Unix.file_descr -> string -> Unix.file_descr -> string -> unit
= "caml_extunix_renameat"
external mkdirat : Unix.file_descr -> string -> int -> unit
= "caml_extunix_mkdirat"
external linkat :
Unix.file_descr ->
string -> Unix.file_descr -> string -> at_flag list -> unit
= "caml_extunix_linkat"
external symlinkat : string -> Unix.file_descr -> string -> unit
= "caml_extunix_symlinkat"
module Uname :
sig
type t =
ExtUnixAll.Uname.t = {
sysname : string;
nodename : string;
release : string;
version : string;
machine : string;
}
val to_string : t -> string
end
external uname : unit -> Uname.t = "caml_extunix_uname"
type advice =
ExtUnixAll.advice =
POSIX_FADV_NORMAL
| POSIX_FADV_SEQUENTIAL
| POSIX_FADV_RANDOM
| POSIX_FADV_NOREUSE
| POSIX_FADV_WILLNEED
| POSIX_FADV_DONTNEED
external fadvise : Unix.file_descr -> int -> int -> advice -> unit
= "caml_extunix_fadvise"
external fallocate : Unix.file_descr -> int -> int -> unit
= "caml_extunix_fallocate"
module LargeFile :
sig
external fadvise : Unix.file_descr -> int64 -> int64 -> advice -> unit
= "caml_extunix_fadvise64"
external fallocate : Unix.file_descr -> int64 -> int64 -> unit
= "caml_extunix_fallocate64"
end
module Ioctl :
sig
external siocgifconf : sock:Unix.file_descr -> (string * string) list
= "caml_extunix_ioctl_siocgifconf"
external crtscts : Unix.file_descr -> int = "caml_extunix_crtscts"
external tiocmget : Unix.file_descr -> int
= "caml_extunix_ioctl_TIOCMGET"
external tiocmset : Unix.file_descr -> int -> unit
= "caml_extunix_ioctl_TIOCMSET"
external tiocmbic : Unix.file_descr -> int -> unit
= "caml_extunix_ioctl_TIOCMBIC"
external tiocmbis : Unix.file_descr -> int -> unit
= "caml_extunix_ioctl_TIOCMBIS"
end
external ttyname : Unix.file_descr -> string = "caml_extunix_ttyname"
external ctermid : unit -> string = "caml_extunix_ctermid"
external setpgid : int -> int -> unit = "caml_extunix_setpgid"
external getpgid : int -> int = "caml_extunix_getpgid"
external getsid : int -> int = "caml_extunix_getsid"
external setreuid : int -> int -> unit = "caml_extunix_setreuid"
external setregid : int -> int -> unit = "caml_extunix_setregid"
external realpath : string -> string = "caml_extunix_realpath"
external is_open_descr : Unix.file_descr -> bool
= "caml_extunix_is_open_descr"
external tcgetpgrp : Unix.file_descr -> int = "caml_extunix_tcgetpgrp"
external tcsetpgrp : Unix.file_descr -> int -> unit
= "caml_extunix_tcsetpgrp"
val int_of_file_descr : Unix.file_descr -> int
val file_descr_of_int : int -> Unix.file_descr
external signalfd :
?fd:Unix.file_descr ->
sigs:int list -> flags:int list -> unit -> Unix.file_descr
= "caml_extunix_signalfd"
type ssi = ExtUnixAll.ssi
external signalfd_read : Unix.file_descr -> ssi
= "caml_extunix_signalfd_read"
external ssi_signo_sys : ssi -> int = "caml_extunix_ssi_signo_sys"
external ssi_signo : ssi -> int32 = "caml_extunix_ssi_signo"
external ssi_errno : ssi -> int32 = "caml_extunix_ssi_errno"
external ssi_code : ssi -> int32 = "caml_extunix_ssi_code"
external ssi_pid : ssi -> int32 = "caml_extunix_ssi_pid"
external ssi_uid : ssi -> int32 = "caml_extunix_ssi_uid"
external ssi_fd : ssi -> Unix.file_descr = "caml_extunix_ssi_fd"
external ssi_tid : ssi -> int32 = "caml_extunix_ssi_tid"
external ssi_band : ssi -> int32 = "caml_extunix_ssi_band"
external ssi_overrun : ssi -> int32 = "caml_extunix_ssi_overrun"
external ssi_trapno : ssi -> int32 = "caml_extunix_ssi_trapno"
external ssi_status : ssi -> int32 = "caml_extunix_ssi_status"
external ssi_int : ssi -> int32 = "caml_extunix_ssi_int"
external ssi_ptr : ssi -> int64 = "caml_extunix_ssi_ptr"
external ssi_utime : ssi -> int64 = "caml_extunix_ssi_utime"
external ssi_stime : ssi -> int64 = "caml_extunix_ssi_stime"
external ssi_addr : ssi -> int64 = "caml_extunix_ssi_addr"
external ptrace_traceme : unit -> unit = "caml_extunix_ptrace_traceme"
external ptrace_peekdata : int -> nativeint -> nativeint
= "caml_extunix_ptrace_peekdata"
external ptrace_peektext : int -> nativeint -> nativeint
= "caml_extunix_ptrace_peektext"
type ptrace_request =
ExtUnixAll.ptrace_request =
PTRACE_ATTACH
| PTRACE_DETACH
external ptrace : int -> ptrace_request -> unit = "caml_extunix_ptrace"
type which_prio_t =
ExtUnixAll.which_prio_t =
PRIO_PROCESS of int
| PRIO_PGRP of int
| PRIO_USER of int
type priority = int
type resource =
ExtUnixAll.resource =
RLIMIT_CORE
| RLIMIT_CPU
| RLIMIT_DATA
| RLIMIT_FSIZE
| RLIMIT_NOFILE
| RLIMIT_STACK
| RLIMIT_AS
val string_of_resource : resource -> string
module Rlimit :
sig
type t = int64 option
val string_of_bytes : int64 -> string
val to_string : ?r:resource -> int64 option -> string
val compare : Int64.t option -> Int64.t option -> int
val eq : Int64.t option -> Int64.t option -> bool
val gt : Int64.t option -> Int64.t option -> bool
val ge : Int64.t option -> Int64.t option -> bool
val lt : Int64.t option -> Int64.t option -> bool
val le : Int64.t option -> Int64.t option -> bool
end
external getpriority : which_prio_t -> priority
= "caml_extunix_getpriority"
external setpriority : which_prio_t -> priority -> unit
= "caml_extunix_setpriority"
external getrlimit : resource -> Rlimit.t * Rlimit.t
= "caml_extunix_getrlimit"
external setrlimit : resource -> soft:Rlimit.t -> hard:Rlimit.t -> unit
= "caml_extunix_setrlimit"
external sys_exit : int -> 'a = "caml_sys_exit"
type mlockall_flag = ExtUnixAll.mlockall_flag = MCL_CURRENT | MCL_FUTURE
external mlockall : mlockall_flag list -> unit = "caml_extunix_mlockall"
external munlockall : unit -> unit = "caml_extunix_munlockall"
external strptime : string -> string -> Unix.tm = "caml_extunix_strptime"
external asctime : Unix.tm -> string = "caml_extunix_asctime"
external strftime : string -> Unix.tm -> string = "caml_extunix_strftime"
external tzname : bool -> string = "caml_extunix_tzname"
external posix_openpt : Unix.open_flag list -> Unix.file_descr
= "caml_extunix_posix_openpt"
external grantpt : Unix.file_descr -> unit = "caml_extunix_grantpt"
external unlockpt : Unix.file_descr -> unit = "caml_extunix_unlockpt"
external ptsname : Unix.file_descr -> string = "caml_extunix_ptsname"
external backtrace : unit -> string array = "caml_extunix_backtrace"
external setenv : string -> string -> bool -> unit = "caml_extunix_setenv"
external unsetenv : string -> unit = "caml_extunix_unsetenv"
external clearenv : unit -> unit = "caml_extunix_clearenv"
external mkdtemp : string -> string = "caml_extunix_mkdtemp"
val have : string -> bool option
end