Up

module Cstubs_internals

: sig
#
type voidp = Ctypes_raw.voidp
#
type managed_buffer = Memory_stubs.managed_buffer
#
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 raw_ptr : 'a Ctypes.ptr -> voidp
#
type 'a ocaml_type = 'a Static.ocaml_type =
# | String : string ocaml_type
# | Bytes : Bytes.t ocaml_type
# | FloatArray : float array ocaml_type
#
type 'a typ = 'a Static.typ =
# | Void : unit typ
# | Primitive : 'a Primitives.prim -> 'a typ
# | Pointer : 'a typ -> 'a ptr typ
# | Struct : 'a Static.structure_type -> 'a Static.structure typ
# | Union : 'a Static.union_type -> 'a Static.union typ
# | Abstract : Static.abstract_type -> 'a Static.abstract typ
# | View : ('a, 'b) view -> 'a typ
# | Array : 'a typ * int -> 'a Static.carray typ
# | Bigarray : (_, 'a) Ctypes_bigarray.t -> 'a typ
# | OCaml : 'a ocaml_type -> 'a ocaml typ
#
type 'a cptr = 'a Static.cptr = {
# reftype
: 'a typ;
# raw_ptr
: voidp;
# pmanaged
: Obj.t option;
# pbyte_offset
: int;
}
#
type ('a, 'b) pointer = ('a, 'b) Static.pointer =
# | CPointer : 'a cptr -> ('a, [
| `C
]) pointer
# | OCamlRef : int * 'a * 'a ocaml_type -> ('a, [
| `OCaml
]) pointer
#
type 'a ptr = ('a, [
| `C
]) pointer
#
type 'a ocaml = ('a, [
| `OCaml
]) pointer
#
type ('a, 'b) view = ('a, 'b) Static.view = {
# read
: 'b -> 'a;
# write
: 'a -> 'b;
# format_typ
: ((Format.formatter -> unit) -> Format.formatter -> unit) option;
# ty
: 'b typ;
}
#
type 'a fn = 'a Static.fn =
# | Returns : 'a typ -> 'a fn
# | Function : 'a typ * 'b fn -> ('a -> 'b) fn
#
type 'a prim = 'a Primitives.prim =
# | Char : char prim
# | Schar : int prim
# | Uchar : Unsigned.uchar prim
# | Short : int prim
# | Int : int prim
# | Long : Signed.long prim
# | Llong : Signed.llong prim
# | Ushort : Unsigned.ushort 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
# | Complex32 : Complex.t prim
# | Complex64 : Complex.t prim
end