module Linux_ext: Linux_ext
sysinfo
Result of sysinfo syscall (man 2 sysinfo)
type
sysinfo = {
|
uptime : Span.t ; |
|
load1 : int ; |
|
load5 : int ; |
|
load15 : int ; |
|
total_ram : int ; |
|
free_ram : int ; |
|
shared_ram : int ; |
|
buffer_ram : int ; |
|
total_swap : int ; |
|
free_swap : int ; |
|
procs : int ; |
|
totalhigh : int ; |
|
freehigh : int ; |
|
mem_unit : int ; |
}
val bin_size_sysinfo : sysinfo Bin_prot.Size.sizer
val bin_write_sysinfo : sysinfo Bin_prot.Write_ml.writer
val bin_write_sysinfo_ : sysinfo Bin_prot.Unsafe_write_c.writer
val bin_writer_sysinfo : sysinfo Bin_prot.Type_class.writer
val bin_read_sysinfo : sysinfo Bin_prot.Read_ml.reader
val bin_read_sysinfo_ : sysinfo Bin_prot.Unsafe_read_c.reader
val bin_read_sysinfo__ : (int -> sysinfo) Bin_prot.Unsafe_read_c.reader
val bin_reader_sysinfo : sysinfo Bin_prot.Type_class.reader
val bin_sysinfo : sysinfo Bin_prot.Type_class.t
val sexp_of_sysinfo : sysinfo -> Sexplib.Sexp.t
val sysinfo_of_sexp : Sexplib.Sexp.t -> sysinfo
val sysinfo : unit -> sysinfo
Filesystem functions
val sendfile : ?pos:int ->
?len:int -> fd:Core_unix.file_descr -> Core_unix.file_descr -> int
sendfile ?pos ?len ~fd sock
sends mmap-able data from file
descriptor
fd
to socket
sock
using offset
pos
and length
len
.
Raises Unix_error
on Unix-errors.
Returns the number of characters actually written.
NOTE: if the returned value is unequal to what was requested (=
the initial size of the data by default), the system call may have
been interrupted by a signal, the source file may have been truncated
during operation, or a timeout occurred on the socket during sending.
It is currently impossible to find out which of the events above
happened. Calling Linux_ext.sendfile
several times on the same descriptor
that only partially accepted data due to a timeout will eventually
lead to the unix error EAGAIN
.
Non-portable TCP-functionality
type
tcp_bool_option =
val bin_size_tcp_bool_option : tcp_bool_option Bin_prot.Size.sizer
val bin_write_tcp_bool_option : tcp_bool_option Bin_prot.Write_ml.writer
val bin_write_tcp_bool_option_ : tcp_bool_option Bin_prot.Unsafe_write_c.writer
val bin_writer_tcp_bool_option : tcp_bool_option Bin_prot.Type_class.writer
val bin_read_tcp_bool_option : tcp_bool_option Bin_prot.Read_ml.reader
val bin_read_tcp_bool_option_ : tcp_bool_option Bin_prot.Unsafe_read_c.reader
val bin_read_tcp_bool_option__ : (int -> tcp_bool_option) Bin_prot.Unsafe_read_c.reader
val bin_reader_tcp_bool_option : tcp_bool_option Bin_prot.Type_class.reader
val bin_tcp_bool_option : tcp_bool_option Bin_prot.Type_class.t
val sexp_of_tcp_bool_option : tcp_bool_option -> Sexplib.Sexp.t
val tcp_bool_option_of_sexp : Sexplib.Sexp.t -> tcp_bool_option
val gettcpopt_bool : Core_unix.file_descr -> tcp_bool_option -> bool
gettcpopt_bool sock opt
Returns the current value of the boolean
TCP socket option opt
for socket sock
.
val settcpopt_bool : Core_unix.file_descr -> tcp_bool_option -> bool -> unit
settcpopt_bool sock opt v
sets the current value of the boolean
TCP socket option opt
for socket sock
to value v
.
val send_nonblocking_no_sigpipe : Core_unix.file_descr -> ?pos:int -> ?len:int -> string -> int option
send_nonblocking_no_sigpipe sock ?pos ?len buf
tries to do a
nonblocking send on socket
sock
given buffer
buf
, offset
pos
and length
len
. Prevents
SIGPIPE
, i.e. raise a Unix-error
in that case immediately.
RaisesInvalid_argument
if the designated buffer range is invalid.
Unix_error
on Unix-errors.
Returns Some bytes_written
or
None
if the operation would have blocked.
pos
: default = 0
len
: default = String.length buf - pos
val send_no_sigpipe : Core_unix.file_descr -> ?pos:int -> ?len:int -> string -> int
send_no_sigpipe sock ?pos ?len buf
tries to do a
blocking send on socket
sock
given buffer
buf
, offset
pos
and length
len
. Prevents
SIGPIPE
, i.e. raise a Unix-error in
that case immediately.
RaisesInvalid_argument
if the designated buffer range is invalid.
Unix_error
on Unix-errors.
Returns the number of bytes written.
pos
: default = 0
len
: default = String.length buf - pos
val sendmsg_nonblocking_no_sigpipe : Core_unix.file_descr ->
?count:int -> string Core_unix.IOVec.t array -> int option
sendmsg_nonblocking_no_sigpipe sock ?count iovecs
tries to do
a nonblocking send on socket
sock
using
count
I/O-vectors
iovecs
. Prevents
SIGPIPE
, i.e. raises a Unix-error in that
case immediately.
RaisesInvalid_argument
if the designated ranges are invalid.
Unix_error
on Unix-errors.
Returns Some bytes_written
or
None
if the
operation would have blocked.
Clock functions
module Clock: sig
.. end
Parent death notifications
val pr_set_pdeathsig : Signal.t -> unit
pr_set_pdeathsig s
sets the signal
s
to be sent to the executing
process when its parent dies. NOTE: the parent may have died
before or while executing this system call. To make sure that you
do not miss this event, you should call
Core_unix.getppid
to get
the parent process id after this system call. If the parent has
died, the returned parent PID will be 1, i.e. the init process will
have adopted the child. You should then either send the signal to
yourself using Unix.kill, or execute an appropriate handler.
val pr_get_pdeathsig : unit -> Signal.t
pr_get_pdeathsig ()
get the signal that will be sent to the
currently executing process when its parent dies.
Task name
val pr_set_name_first16 : string -> unit
pr_set_name_first16 name
sets the name of the executing thread to name
. Only
the first 16 bytes in name
will be used, the rest is ignored.
val pr_get_name : unit -> string
pr_get_name ()
gets the name of the executing thread. The name is
at most 16 bytes long.
Pathname resolution
val file_descr_realpath : Core_unix.file_descr -> string
file_descr_realpath fd
Raises Unix_error
on errors.
Returns the canonicalized absolute
pathname of the file associated with file descriptor fd
.
val out_channel_realpath : Pervasives.out_channel -> string
out_channel_realpath oc
Raises Unix_error
on errors.
Returns the canonicalized absolute
pathname of the file associated with output channel oc
.
val in_channel_realpath : Pervasives.in_channel -> string
in_channel_realpath ic
Raises Unix_error
on errors.
Returns the canonicalized absolute
pathname of the file associated with input channel ic
.
Affinity
val sched_setaffinity : pid:int -> cpuset:int list -> unit
val cores : unit -> int
cores ()
Returns the number of cores on the machine