sig
  type t = {
    name : string;
    passwd : string;
    uid : int;
    gid : int;
    gecos : string;
    dir : string;
    shell : string;
  }
  val getbyname : string -> Unix.Passwd.t option
  val getbyname_exn : string -> Unix.Passwd.t
  val getbyuid : int -> Unix.Passwd.t option
  val getbyuid_exn : int -> Unix.Passwd.t
  val getpwents : unit -> Unix.Passwd.t list
  module Low_level :
    sig
      val setpwent : unit -> unit
      val getpwent : unit -> Unix.Passwd.t option
      val getpwent_exn : unit -> Unix.Passwd.t
      val endpwent : unit -> unit
    end
  val t_of_sexp : Sexplib.Sexp.t -> Unix.Passwd.t
  val sexp_of_t : Unix.Passwd.t -> Sexplib.Sexp.t
end