Module Extended_unix

module Extended_unix: sig .. end
Extensions to Core.Unix.


Extensions to Core.Unix.
val fork_exec : ?stdin:Core.Std.Unix.File_descr.t ->
?stdout:Core.Std.Unix.File_descr.t ->
?stderr:Core.Std.Unix.File_descr.t ->
?path_lookup:bool ->
?env:[ `Extend of (string * string) list | `Replace of (string * string) list ] ->
?working_dir:string ->
?setuid:int -> ?setgid:int -> string -> string list -> Core.Std.Pid.t
fork_exec prog args ~stdin ~stdout ~stderr ~setuid ~setgid forks a new process that executes the program in file prog, with arguments args. The pid of the new process is returned immediately; the new process executes concurrently with the current process.

The function raises EPERM if when using set{gid,uid} and the user id is not 0.

The standard input and outputs of the new process are connected to the descriptors stdin, stdout and stderr.

The close_on_exec flag is cleared from stderr stdout and stdin so it's safe to pass in fds with close_on_exec set.

path_lookup : if true than we use PATH to find the process to exec.
val seteuid : int -> unit
val setreuid : uid:int -> euid:int -> unit
val ntohl : Core.Std.Int32.t -> Core.Std.Int32.t
Network to host order long, like C.
val htonl : Core.Std.Int32.t -> Core.Std.Int32.t
Host to network order long, like C.
type statvfs = {
   bsize : int; (*
file system block size
*)
   frsize : int; (*
fragment size
*)
   blocks : int; (*
size of fs in frsize units
*)
   bfree : int; (*
# free blocks
*)
   bavail : int; (*
# free blocks for non-root
*)
   files : int; (*
# inodes
*)
   ffree : int; (*
# free inodes
*)
   favail : int; (*
# free inodes for non-root
*)
   fsid : int; (*
file system ID
*)
   flag : int; (*
mount flags
*)
   namemax : int; (*
maximum filename length
*)
}
val statvfs : string -> statvfs
get file system statistics
val getloadavg : unit -> float * float * float
get load averages
module Extended_passwd: sig .. end
val strptime : fmt:string -> string -> Core.Std.Unix.tm

The CIDR module moved into Core.Unix
module Inet_port: sig .. end
Simple int wrapper to be explicit about ports.
module Mac_address: sig .. end
module Quota: sig .. end
module Mount_entry: sig .. end
val terminal_width : int Core.Std.Lazy.t
val bin_statvfs : statvfs Core.Std.Bin_prot.Type_class.t
val bin_read_statvfs : statvfs Core.Std.Bin_prot.Read.reader
val __bin_read_statvfs__ : (int -> statvfs) Core.Std.Bin_prot.Read.reader
val bin_reader_statvfs : statvfs Core.Std.Bin_prot.Type_class.reader
val bin_size_statvfs : statvfs Core.Std.Bin_prot.Size.sizer
val bin_write_statvfs : statvfs Core.Std.Bin_prot.Write.writer
val bin_writer_statvfs : statvfs Core.Std.Bin_prot.Type_class.writer
val statvfs_of_sexp : Sexplib.Sexp.t -> statvfs
val sexp_of_statvfs : statvfs -> Sexplib.Sexp.t

get file system statistics

get load averages

of_passwd_line parse a passwd-like line

of_passwd_line_exn parse a passwd-like line

of_passwd_file parse a passwd-like file

of_passwd_file_exn parse a passwd-like file

The CIDR module moved into Core.Unix

Simple int wrapper to be explicit about ports.