Cstubs_internals
type ('m, 'a) fatptr = ('m, 'a Ctypes.typ) Ctypes_ptr.Fat.t
type ('m, 'a) fatfunptr = ('m, 'a Ctypes.fn) Ctypes_ptr.Fat.t
val make_structured : ('a, 's) Ctypes.structured Ctypes.typ -> managed_buffer -> ('a, 's) Ctypes.structured
val make_ptr : 'a Ctypes.typ -> voidp -> 'a Ctypes.ptr
val make_fun_ptr : 'a Ctypes.fn -> voidp -> 'a Ctypes_static.static_funptr
type !'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 ]) pointer
and !'a ocaml = ('a, [ `OCaml ]) pointer
and !'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