sig
  type t = {
    uid : int;
    euid : int;
    suid : int;
    fsuid : int;
    gid : int;
    egid : int;
    sgid : int;
    fsgid : int;
  }
  val fsgid : Procfs.Process.Status.t -> int
  val sgid : Procfs.Process.Status.t -> int
  val egid : Procfs.Process.Status.t -> int
  val gid : Procfs.Process.Status.t -> int
  val fsuid : Procfs.Process.Status.t -> int
  val suid : Procfs.Process.Status.t -> int
  val euid : Procfs.Process.Status.t -> int
  val uid : Procfs.Process.Status.t -> int
  module Fields :
    sig
      val names : string list
      val fsgid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
      val sgid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
      val egid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
      val gid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
      val fsuid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
      val suid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
      val euid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
      val uid : (Procfs.Process.Status.t, int) Fieldslib.Field.t
      val fold :
        init:'acc__ ->
        uid:('acc__ ->
             (Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'acc__) ->
        euid:('acc__ ->
              (Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'acc__) ->
        suid:('acc__ ->
              (Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'acc__) ->
        fsuid:('acc__ ->
               (Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'acc__) ->
        gid:('acc__ ->
             (Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'acc__) ->
        egid:('acc__ ->
              (Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'acc__) ->
        sgid:('acc__ ->
              (Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'acc__) ->
        fsgid:('acc__ ->
               (Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'acc__) ->
        'acc__
      val make_creator :
        uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
             'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
        euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
              'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
        suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
              'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
        fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
               'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
        gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
             'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
        egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
              'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
        sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
              'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
        fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
               'compile_acc__ -> ('input__ -> int) * 'compile_acc__) ->
        'compile_acc__ ->
        ('input__ -> Procfs.Process.Status.t) * 'compile_acc__
      val create :
        uid:int ->
        euid:int ->
        suid:int ->
        fsuid:int ->
        gid:int ->
        egid:int -> sgid:int -> fsgid:int -> Procfs.Process.Status.t
      val iter :
        uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
        euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
        suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
        fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
        gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
        egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
        sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
        fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> unit) ->
        unit
      val map :
        uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
        euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
        suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
        fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
        gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
        egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
        sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
        fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> int) ->
        Procfs.Process.Status.t
      val map_poly :
        (Procfs.Process.Status.t, 'x0) Fieldslib.Field.user -> 'x0 list
      val for_all :
        uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        bool
      val exists :
        uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> bool) ->
        bool
      val to_list :
        uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'elem__) ->
        euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'elem__) ->
        suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'elem__) ->
        fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'elem__) ->
        gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'elem__) ->
        egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'elem__) ->
        sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'elem__) ->
        fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t -> 'elem__) ->
        'elem__ list
      module Direct :
        sig
          val iter :
            Procfs.Process.Status.t ->
            uid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                 Procfs.Process.Status.t -> int -> unit) ->
            euid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                  Procfs.Process.Status.t -> int -> unit) ->
            suid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                  Procfs.Process.Status.t -> int -> unit) ->
            fsuid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                   Procfs.Process.Status.t -> int -> unit) ->
            gid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                 Procfs.Process.Status.t -> int -> unit) ->
            egid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                  Procfs.Process.Status.t -> int -> unit) ->
            sgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                  Procfs.Process.Status.t -> int -> unit) ->
            fsgid:((Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                   Procfs.Process.Status.t -> int -> unit) ->
            unit
          val fold :
            Procfs.Process.Status.t ->
            init:'acc__ ->
            uid:('acc__ ->
                 (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                 Procfs.Process.Status.t -> int -> 'acc__) ->
            euid:('acc__ ->
                  (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                  Procfs.Process.Status.t -> int -> 'acc__) ->
            suid:('acc__ ->
                  (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                  Procfs.Process.Status.t -> int -> 'acc__) ->
            fsuid:('acc__ ->
                   (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                   Procfs.Process.Status.t -> int -> 'acc__) ->
            gid:('acc__ ->
                 (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                 Procfs.Process.Status.t -> int -> 'acc__) ->
            egid:('acc__ ->
                  (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                  Procfs.Process.Status.t -> int -> 'acc__) ->
            sgid:('acc__ ->
                  (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                  Procfs.Process.Status.t -> int -> 'acc__) ->
            fsgid:('acc__ ->
                   (Procfs.Process.Status.t, int) Fieldslib.Field.t ->
                   Procfs.Process.Status.t -> int -> 'acc__) ->
            'acc__
        end
    end
  val t_of_sexp : Sexplib.Sexp.t -> Procfs.Process.Status.t
  val sexp_of_t : Procfs.Process.Status.t -> Sexplib.Sexp.t
end