sig
  type mallinfo = {
    arena : int;
    ordblks : int;
    smblks : int;
    hblks : int;
    hblkhd : int;
    usmblks : int;
    fsmblks : int;
    uordblks : int;
    fordblks : int;
    keepcost : int;
  }
  val bin_size_mallinfo : Malloc.mallinfo Bin_prot.Size.sizer
  val bin_write_mallinfo : Malloc.mallinfo Bin_prot.Write_ml.writer
  val bin_write_mallinfo_ : Malloc.mallinfo Bin_prot.Unsafe_write_c.writer
  val bin_writer_mallinfo : Malloc.mallinfo Bin_prot.Type_class.writer
  val bin_read_mallinfo : Malloc.mallinfo Bin_prot.Read_ml.reader
  val bin_read_mallinfo_ : Malloc.mallinfo Bin_prot.Unsafe_read_c.reader
  val bin_read_mallinfo__ :
    (int -> Malloc.mallinfo) Bin_prot.Unsafe_read_c.reader
  val bin_reader_mallinfo : Malloc.mallinfo Bin_prot.Type_class.reader
  val bin_mallinfo : Malloc.mallinfo Bin_prot.Type_class.t
  val sexp_of_mallinfo : Malloc.mallinfo -> Sexplib.Sexp.t
  val mallinfo_of_sexp : Sexplib.Sexp.t -> Malloc.mallinfo
  external mallinfo : unit -> Malloc.mallinfo = "malloc_mallinfo_stub"
  type opt =
      TRIM_THRESHOLD
    | TOP_PAD
    | MMAP_THRESHOLD
    | MMAP_MAX
    | CHECK_ACTION
    | PERTURB
  val bin_size_opt : Malloc.opt Bin_prot.Size.sizer
  val bin_write_opt : Malloc.opt Bin_prot.Write_ml.writer
  val bin_write_opt_ : Malloc.opt Bin_prot.Unsafe_write_c.writer
  val bin_writer_opt : Malloc.opt Bin_prot.Type_class.writer
  val bin_read_opt : Malloc.opt Bin_prot.Read_ml.reader
  val bin_read_opt_ : Malloc.opt Bin_prot.Unsafe_read_c.reader
  val bin_read_opt__ : (int -> Malloc.opt) Bin_prot.Unsafe_read_c.reader
  val bin_reader_opt : Malloc.opt Bin_prot.Type_class.reader
  val bin_opt : Malloc.opt Bin_prot.Type_class.t
  val sexp_of_opt : Malloc.opt -> Sexplib.Sexp.t
  val opt_of_sexp : Sexplib.Sexp.t -> Malloc.opt
  external mallopt : Malloc.opt -> int -> unit = "malloc_mallopt_stub"
  external malloc_trim : int -> unit = "malloc_trim_stub"
  external malloc_stats : unit -> unit = "malloc_stats_stub"
end