sig
  module type INTERNAL =
    sig
      val enum : (string * int64) list -> 'a Ctypes.typ -> unit
      val structure : 'a Ctypes.structure Ctypes.typ -> unit
      val union : 'a Ctypes.union Ctypes.typ -> unit
      val typedef : 'a Ctypes.typ -> string -> unit
      val internal :
        ?runtime_lock:bool ->
        string -> ('a -> 'b) Ctypes.fn -> ('a -> 'b) -> unit
    end
  module type BINDINGS = functor (F : INTERNAL) -> sig end
  val write_c :
    Stdlib.Format.formatter ->
    prefix:string -> (module Cstubs_inverted.BINDINGS) -> unit
  val write_c_header :
    Stdlib.Format.formatter ->
    prefix:string -> (module Cstubs_inverted.BINDINGS) -> unit
  val write_ml :
    Stdlib.Format.formatter ->
    prefix:string -> (module Cstubs_inverted.BINDINGS) -> unit
end