sig
  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
  val seteuid : int -> unit
  val setreuid : uid:int -> euid:int -> unit
  val gettid : unit -> int
  external ntohl : Core.Std.Int32.t -> Core.Std.Int32.t = "extended_ml_ntohl"
  external htonl : Core.Std.Int32.t -> Core.Std.Int32.t = "extended_ml_htonl"
  type statvfs = {
    bsize : int;
    frsize : int;
    blocks : int;
    bfree : int;
    bavail : int;
    files : int;
    ffree : int;
    favail : int;
    fsid : int;
    flag : int;
    namemax : int;
  }
  external statvfs : string -> Extended_unix.statvfs = "statvfs_stub"
  external getloadavg : unit -> float * float * float = "getloadavg_stub"
  module Extended_passwd :
    sig
      val of_passwd_line : string -> Core.Std.Unix.Passwd.t option
      val of_passwd_line_exn : string -> Core.Std.Unix.Passwd.t
      val of_passwd_file : string -> Core.Std.Unix.Passwd.t list option
      val of_passwd_file_exn : string -> Core.Std.Unix.Passwd.t list
    end
  external strptime : fmt:string -> string -> Core.Std.Unix.tm
    = "unix_strptime"
  module Inet_port :
    sig
      type t
      val of_int : int -> Extended_unix.Inet_port.t option
      val of_int_exn : int -> Extended_unix.Inet_port.t
      val of_string : string -> Extended_unix.Inet_port.t option
      val of_string_exn : string -> Extended_unix.Inet_port.t
      val to_int : Extended_unix.Inet_port.t -> int
      val to_string : Extended_unix.Inet_port.t -> string
      val t_of_sexp : Sexplib.Sexp.t -> Extended_unix.Inet_port.t
      val sexp_of_t : Extended_unix.Inet_port.t -> Sexplib.Sexp.t
    end
  module Mac_address :
    sig
      type t
      val equal :
        Extended_unix.Mac_address.t -> Extended_unix.Mac_address.t -> bool
      val of_string : string -> Extended_unix.Mac_address.t
      val to_string : Extended_unix.Mac_address.t -> string
      val to_string_cisco : Extended_unix.Mac_address.t -> string
      val bin_t : Extended_unix.Mac_address.t Core.Std.Bin_prot.Type_class.t
      val bin_read_t :
        Extended_unix.Mac_address.t Core.Std.Bin_prot.Read_ml.reader
      val bin_read_t_ :
        Extended_unix.Mac_address.t Core.Std.Bin_prot.Unsafe_read_c.reader
      val bin_read_t__ :
        (int -> Extended_unix.Mac_address.t)
        Core.Std.Bin_prot.Unsafe_read_c.reader
      val bin_reader_t :
        Extended_unix.Mac_address.t Core.Std.Bin_prot.Type_class.reader
      val bin_size_t :
        Extended_unix.Mac_address.t Core.Std.Bin_prot.Size.sizer
      val bin_write_t :
        Extended_unix.Mac_address.t Core.Std.Bin_prot.Write_ml.writer
      val bin_write_t_ :
        Extended_unix.Mac_address.t Core.Std.Bin_prot.Unsafe_write_c.writer
      val bin_writer_t :
        Extended_unix.Mac_address.t Core.Std.Bin_prot.Type_class.writer
      val t_of_sexp : Sexplib.Sexp.t -> Extended_unix.Mac_address.t
      val sexp_of_t : Extended_unix.Mac_address.t -> Sexplib.Sexp.t
    end
  module Quota :
    sig
      type bytes = private Core.Std.Int63.t
      type inodes = private Core.Std.Int63.t
      val bytes : Core.Std.Int63.t -> Extended_unix.Quota.bytes
      val inodes : Core.Std.Int63.t -> Extended_unix.Quota.inodes
      type 'units limit = {
        soft : 'units option;
        hard : 'units option;
        grace : Core.Std.Time.t option;
      }
      type 'units usage = private 'units
      val query :
        [ `Group | `User ] ->
        id:int ->
        path:string ->
        (Extended_unix.Quota.bytes Extended_unix.Quota.limit *
         Extended_unix.Quota.bytes Extended_unix.Quota.usage *
         Extended_unix.Quota.inodes Extended_unix.Quota.limit *
         Extended_unix.Quota.inodes Extended_unix.Quota.usage)
        Core.Std.Or_error.t
      val set :
        [ `Group | `User ] ->
        id:int ->
        path:string ->
        Extended_unix.Quota.bytes Extended_unix.Quota.limit ->
        Extended_unix.Quota.inodes Extended_unix.Quota.limit ->
        unit Core.Std.Or_error.t
      val bytes_of_sexp : Sexplib.Sexp.t -> Extended_unix.Quota.bytes
      val sexp_of_bytes : Extended_unix.Quota.bytes -> Sexplib.Sexp.t
      val inodes_of_sexp : Sexplib.Sexp.t -> Extended_unix.Quota.inodes
      val sexp_of_inodes : Extended_unix.Quota.inodes -> Sexplib.Sexp.t
      val limit_of_sexp :
        (Sexplib.Sexp.t -> 'units) ->
        Sexplib.Sexp.t -> 'units Extended_unix.Quota.limit
      val sexp_of_limit :
        ('units -> Sexplib.Sexp.t) ->
        'units Extended_unix.Quota.limit -> Sexplib.Sexp.t
    end
  module Mount_entry :
    sig
      type t
      val parse_line :
        string -> Extended_unix.Mount_entry.t option Core.Std.Or_error.t
      val fsname : Extended_unix.Mount_entry.t -> string
      val directory : Extended_unix.Mount_entry.t -> string
      val fstype : Extended_unix.Mount_entry.t -> string
      val options : Extended_unix.Mount_entry.t -> string
      val dump_freq : Extended_unix.Mount_entry.t -> int option
      val fsck_pass : Extended_unix.Mount_entry.t -> int option
      val visible_filesystem :
        Extended_unix.Mount_entry.t list ->
        Extended_unix.Mount_entry.t Core.Std.String.Map.t
      val t_of_sexp : Sexplib.Sexp.t -> Extended_unix.Mount_entry.t
      val sexp_of_t : Extended_unix.Mount_entry.t -> Sexplib.Sexp.t
    end
  val bin_statvfs : Extended_unix.statvfs Core.Std.Bin_prot.Type_class.t
  val bin_read_statvfs :
    Extended_unix.statvfs Core.Std.Bin_prot.Read_ml.reader
  val bin_read_statvfs_ :
    Extended_unix.statvfs Core.Std.Bin_prot.Unsafe_read_c.reader
  val bin_read_statvfs__ :
    (int -> Extended_unix.statvfs) Core.Std.Bin_prot.Unsafe_read_c.reader
  val bin_reader_statvfs :
    Extended_unix.statvfs Core.Std.Bin_prot.Type_class.reader
  val bin_size_statvfs : Extended_unix.statvfs Core.Std.Bin_prot.Size.sizer
  val bin_write_statvfs :
    Extended_unix.statvfs Core.Std.Bin_prot.Write_ml.writer
  val bin_write_statvfs_ :
    Extended_unix.statvfs Core.Std.Bin_prot.Unsafe_write_c.writer
  val bin_writer_statvfs :
    Extended_unix.statvfs Core.Std.Bin_prot.Type_class.writer
  val statvfs_of_sexp : Sexplib.Sexp.t -> Extended_unix.statvfs
  val sexp_of_statvfs : Extended_unix.statvfs -> Sexplib.Sexp.t
end