Cstubs_internalstype ('m, 'a) fatptr = ('m, 'a Ctypes.typ) Ctypes_ptr.Fat.ttype ('m, 'a) fatfunptr = ('m, 'a Ctypes.fn) Ctypes_ptr.Fat.tval make_structured : ('a, 's) Ctypes.structured Ctypes.typ -> managed_buffer -> ('a, 's) Ctypes.structuredval make_ptr : 'a Ctypes.typ -> voidp -> 'a Ctypes.ptrval make_fun_ptr : 'a Ctypes.fn -> voidp -> 'a Ctypes_static.static_funptrtype !'a ocaml_type = 'a Ctypes_static.ocaml_type = | | String : string ocaml_type | 
| | Bytes : bytes ocaml_type | 
| | FloatArray : float array ocaml_type | 
type !'a typ = 'a Ctypes_static.typ = | | Void : unit typ | 
| | Primitive : 'a0 Ctypes_primitive_types.prim -> 'a0 typ | 
| | Pointer : 'a1 typ -> 'a1 ptr typ | 
| | Funptr : 'a2 Ctypes.fn -> 'a2 static_funptr typ | 
| | Struct : 'a3 Ctypes_static.structure_type -> 'a3 Ctypes_static.structure typ | 
| | Union : 'a4 Ctypes_static.union_type -> 'a4 Ctypes_static.union typ | 
| | Abstract : Ctypes_static.abstract_type -> 'a5 Ctypes_static.abstract typ | 
| | View : ('a6, 'b) view -> 'a6 typ | 
| | Array : 'a7 typ * int -> 'a7 Ctypes_static.carray typ | 
| | Bigarray : ('c, 'a8, 'd) Ctypes_bigarray.t -> 'a8 typ | 
| | OCaml : 'a9 ocaml_type -> 'a9 ocaml typ | 
and (!'a, !'b) pointer = ('a, 'b) Ctypes_static.pointer = | | CPointer : (Obj.t option, 'a0 typ) Ctypes_ptr.Fat.t -> ('a0, [ `C ]) pointer | 
| | OCamlRef : int * 'a1 * 'a1 ocaml_type -> ('a1, [ `OCaml ]) pointer | 
and !'a ptr = ('a, [ `C ]) pointerand !'a ocaml = ('a, [ `OCaml ]) pointerand !'a static_funptr = 'a Ctypes_static.static_funptr = | | Static_funptr : (Obj.t option, 'a0 Ctypes.fn) Ctypes_ptr.Fat.t -> 'a0 static_funptr | 
and (!'a, !'b) view = ('a, 'b) Ctypes_static.view = {| read : 'b -> 'a; | 
| write : 'a -> 'b; | 
| format_typ : ((Format.formatter -> unit) -> Format.formatter -> unit) option; | 
| format : (Format.formatter -> 'a -> unit) option; | 
| ty : 'b typ; | 
}type !'a prim = 'a Ctypes_primitive_types.prim = | | Char : char prim | 
| | Schar : int prim | 
| | Uchar : Unsigned.uchar prim | 
| | Bool : bool prim | 
| | Short : int prim | 
| | Int : int prim | 
| | Long : Signed.long prim | 
| | Llong : Signed.llong prim | 
| | Ushort : Unsigned.ushort prim | 
| | Sint : Signed.sint prim | 
| | Uint : Unsigned.uint prim | 
| | Ulong : Unsigned.ulong prim | 
| | Ullong : Unsigned.ullong prim | 
| | Size_t : Unsigned.size_t prim | 
| | Int8_t : int prim | 
| | Int16_t : int prim | 
| | Int32_t : int32 prim | 
| | Int64_t : int64 prim | 
| | Uint8_t : Unsigned.uint8 prim | 
| | Uint16_t : Unsigned.uint16 prim | 
| | Uint32_t : Unsigned.uint32 prim | 
| | Uint64_t : Unsigned.uint64 prim | 
| | Camlint : int prim | 
| | Nativeint : nativeint prim | 
| | Float : float prim | 
| | Double : float prim | 
| | LDouble : LDouble.t prim | 
| | Complex32 : Complex.t prim | 
| | Complex64 : Complex.t prim | 
| | Complexld : ComplexL.t prim | 
val build_enum_type : string -> Ctypes_static.arithmetic -> ?typedef:bool -> ?unexpected:(int64 -> 'a) ->
('a * int64) list -> 'a typ