sig
  type uids = { ruid : int; euid : int; suid : int; }
  val setresuid :
    (?ruid:int -> ?euid:int -> ?suid:int -> unit -> unit) Core.Std.Or_error.t
  val getresuid : (unit -> Extended_linux.uids) Core.Std.Or_error.t
  module Splice :
    sig
      type flag = MOVE | NONBLOCK | MORE | GIFT
      type flags
      val make_flags :
        Extended_linux.Splice.flag array -> Extended_linux.Splice.flags
      val splice :
        (?assume_fd_is_nonblocking:bool ->
         fd_in:Core.Std.Unix.File_descr.t ->
         ?off_in:int ->
         fd_out:Core.Std.Unix.File_descr.t ->
         ?off_out:int ->
         len:int -> Extended_linux.Splice.flags -> int * int * int)
        Core.Std.Or_error.t
      val tee :
        (?assume_fd_is_nonblocking:bool ->
         fd_in:Core.Std.Unix.File_descr.t ->
         fd_out:Core.Std.Unix.File_descr.t ->
         int -> Extended_linux.Splice.flags -> int)
        Core.Std.Or_error.t
      val vmsplice :
        (?assume_fd_is_nonblocking:bool ->
         Core.Std.Unix.File_descr.t ->
         Core.Std.Bigstring.t Core.Std.Unix.IOVec.t array ->
         ?count:int -> Extended_linux.Splice.flags -> int)
        Core.Std.Or_error.t
      val bin_flag :
        Extended_linux.Splice.flag Core.Std.Bin_prot.Type_class.t
      val bin_read_flag :
        Extended_linux.Splice.flag Core.Std.Bin_prot.Read.reader
      val __bin_read_flag__ :
        (int -> Extended_linux.Splice.flag) Core.Std.Bin_prot.Read.reader
      val bin_reader_flag :
        Extended_linux.Splice.flag Core.Std.Bin_prot.Type_class.reader
      val bin_size_flag :
        Extended_linux.Splice.flag Core.Std.Bin_prot.Size.sizer
      val bin_write_flag :
        Extended_linux.Splice.flag Core.Std.Bin_prot.Write.writer
      val bin_writer_flag :
        Extended_linux.Splice.flag Core.Std.Bin_prot.Type_class.writer
      val flag_of_sexp : Sexplib.Sexp.t -> Extended_linux.Splice.flag
      val sexp_of_flag : Extended_linux.Splice.flag -> Sexplib.Sexp.t
    end
  module Statfs :
    sig
      type f_type =
          ADFS_SUPER_MAGIC
        | AFFS_SUPER_MAGIC
        | BEFS_SUPER_MAGIC
        | BFS_MAGIC
        | CIFS_MAGIC_NUMBER
        | CODA_SUPER_MAGIC
        | COH_SUPER_MAGIC
        | CRAMFS_MAGIC
        | DEVFS_SUPER_MAGIC
        | EFS_SUPER_MAGIC
        | EXT_SUPER_MAGIC
        | EXT2_OLD_SUPER_MAGIC
        | EXT2_SUPER_MAGIC
        | EXT3_SUPER_MAGIC
        | HFS_SUPER_MAGIC
        | HPFS_SUPER_MAGIC
        | HUGETLBFS_MAGIC
        | ISOFS_SUPER_MAGIC
        | JFFS2_SUPER_MAGIC
        | JFS_SUPER_MAGIC
        | MINIX_SUPER_MAGIC
        | MINIX_SUPER_MAGIC2
        | MINIX2_SUPER_MAGIC
        | MINIX2_SUPER_MAGIC2
        | MSDOS_SUPER_MAGIC
        | NCP_SUPER_MAGIC
        | NFS_SUPER_MAGIC
        | NTFS_SB_MAGIC
        | UNKNOWN_SUPER_MAGIC of Core.Std.Int32.t
      type t = {
        f_type : Extended_linux.Statfs.f_type;
        f_bsize : int;
        f_blocks : int;
        f_bfree : int;
        f_bavail : int;
        f_files : int;
        f_ffree : int;
        f_namelen : int;
      }
    end
  val statfs : (string -> Extended_linux.Statfs.t) Core.Std.Or_error.t
  val bin_uids : Extended_linux.uids Core.Std.Bin_prot.Type_class.t
  val bin_read_uids : Extended_linux.uids Core.Std.Bin_prot.Read.reader
  val __bin_read_uids__ :
    (int -> Extended_linux.uids) Core.Std.Bin_prot.Read.reader
  val bin_reader_uids :
    Extended_linux.uids Core.Std.Bin_prot.Type_class.reader
  val bin_size_uids : Extended_linux.uids Core.Std.Bin_prot.Size.sizer
  val bin_write_uids : Extended_linux.uids Core.Std.Bin_prot.Write.writer
  val bin_writer_uids :
    Extended_linux.uids Core.Std.Bin_prot.Type_class.writer
  val uids_of_sexp : Sexplib.Sexp.t -> Extended_linux.uids
  val sexp_of_uids : Extended_linux.uids -> Sexplib.Sexp.t
end