Module Ctypes_static
type abstract_type
=
{
aname : string;
asize : int;
aalignment : int;
}
type _ ocaml_type
=
|
String : string ocaml_type
|
Bytes : Stdlib.Bytes.t ocaml_type
|
FloatArray : float array ocaml_type
type incomplete_size
=
{
mutable isize : int;
}
type structured_spec
=
{
size : int;
align : int;
}
type 'a structspec
=
|
Incomplete of incomplete_size
|
Complete of structured_spec
type _ typ
=
|
Void : unit typ
|
Primitive : 'a Ctypes_primitive_types.prim -> 'a typ
|
Pointer : 'a0 typ -> 'a0 ptr typ
|
Funptr : 'a1 fn -> 'a1 static_funptr typ
|
Struct : 'a2 structure_type -> 'a2 structure typ
|
Union : 'a3 union_type -> 'a3 union typ
|
Abstract : abstract_type -> 'a4 abstract typ
|
View : ('a5, 'b) view -> 'a5 typ
|
Array : 'a6 typ * int -> 'a6 carray typ
|
Bigarray : ('c, 'a7, 'd) Ctypes_bigarray.t -> 'a7 typ
|
OCaml : 'a8 ocaml_type -> 'a8 ocaml typ
and 'a carray
=
{
astart : 'a ptr;
alength : int;
}
and ('a, 'kind) structured
=
{
structured : ('a, 'kind) structured ptr;
}
and 'a union
= ('a, [ `Union ]) structured
and 'a structure
= ('a, [ `Struct ]) structured
and 'a abstract
= ('a, [ `Abstract ]) structured
and (_, _) pointer
=
|
CPointer : 'a typ Ctypes_ptr.Fat.t -> ('a, [ `C ]) pointer
|
OCamlRef : int * 'a0 * 'a0 ocaml_type -> ('a0, [ `OCaml ]) pointer
and 'a ptr
= ('a, [ `C ]) pointer
and 'a ocaml
= ('a, [ `OCaml ]) pointer
and 'a static_funptr
=
|
Static_funptr of 'a fn Ctypes_ptr.Fat.t
and ('a, 'b) view
=
{
read : 'b -> 'a;
write : 'a -> 'b;
format_typ : ((Stdlib.Format.formatter -> unit) -> Stdlib.Format.formatter -> unit) option;
format : (Stdlib.Format.formatter -> 'a -> unit) option;
ty : 'b typ;
}
and ('a, 's) field
=
{
ftype : 'a typ;
foffset : int;
fname : string;
}
and 'a structure_type
=
{
tag : string;
mutable spec : 'a structspec;
mutable fields : 'a structure boxed_field list;
}
and 'a union_type
=
{
utag : string;
mutable uspec : structured_spec option;
mutable ufields : 'a union boxed_field list;
}
and 's0 boxed_field
=
|
BoxedField : ('a, 's) field -> 's boxed_field
and _ fn
=
|
Returns : 'a typ -> 'a fn
|
Function : 'a0 typ * 'b fn -> ('a0 -> 'b) fn
type _ bigarray_class
=
|
Genarray : < ba_repr : 'b; bigarray : ('a, 'b, 'l) Bigarray.Genarray.t; carray : 'a carray; dims : int array; element : 'a; layout : 'l; > bigarray_class
|
Array1 : < ba_repr : 'b0; bigarray : ('a0, 'b0, 'l0) Bigarray.Array1.t; carray : 'a0 carray; dims : int; element : 'a0; layout : 'l0; > bigarray_class
|
Array2 : < ba_repr : 'b1; bigarray : ('a1, 'b1, 'l1) Bigarray.Array2.t; carray : 'a1 carray carray; dims : int * int; element : 'a1; layout : 'l1; > bigarray_class
|
Array3 : < ba_repr : 'b2; bigarray : ('a2, 'b2, 'l2) Bigarray.Array3.t; carray : 'a2 carray carray carray; dims : int * int * int; element : 'a2; layout : 'l2; > bigarray_class
type boxed_typ
=
|
BoxedType : 'a typ -> boxed_typ
val sizeof : 'a typ -> int
val alignment : 'a typ -> int
val passable : 'a typ -> bool
val ocaml_value : 'a typ -> bool
val has_ocaml_argument : 'a fn -> bool
val void : unit typ
val char : char typ
val schar : int typ
val float : float typ
val double : float typ
val ldouble : LDouble.t typ
val complex32 : Stdlib.Complex.t typ
val complex64 : Stdlib.Complex.t typ
val complexld : ComplexL.t typ
val short : int typ
val int : int typ
val sint : Signed.sint typ
val long : Signed.long typ
val llong : Signed.llong typ
val nativeint : nativeint typ
val int8_t : int typ
val int16_t : int typ
val int32_t : Signed.Int32.t typ
val int64_t : Signed.Int64.t typ
val camlint : int typ
val uchar : Unsigned.uchar typ
val bool : bool typ
val uint8_t : Unsigned.UInt8.t typ
val uint16_t : Unsigned.UInt16.t typ
val uint32_t : Unsigned.UInt32.t typ
val uint64_t : Unsigned.UInt64.t typ
val size_t : Unsigned.size_t typ
val ushort : Unsigned.ushort typ
val uint : Unsigned.uint typ
val ulong : Unsigned.ulong typ
val ullong : Unsigned.ullong typ
val array : int -> 'a typ -> 'a carray typ
val ocaml_string : string ocaml typ
val ocaml_bytes : Stdlib.Bytes.t ocaml typ
val ocaml_float_array : float array ocaml typ
val ptr : 'a typ -> 'a ptr typ
val (@->) : 'a typ -> 'b fn -> ('a -> 'b) fn
val abstract : name:string -> size:int -> alignment:int -> 'a abstract typ
val view : ?format_typ:((Stdlib.Format.formatter -> unit) -> Stdlib.Format.formatter -> unit) -> ?format:(Stdlib.Format.formatter -> 'b -> unit) -> read:('a -> 'b) -> write:('b -> 'a) -> 'a typ -> 'b typ
val typedef : 'a typ -> string -> 'a typ
val bigarray : < ba_repr : 'c; bigarray : 'd; carray : 'e; dims : 'b; element : 'a; layout : Bigarray.c_layout; > bigarray_class -> 'b -> ('a, 'c) Bigarray.kind -> 'd typ
val fortran_bigarray : < ba_repr : 'c; bigarray : 'd; carray : 'e; dims : 'b; element : 'a; layout : Bigarray.fortran_layout; > bigarray_class -> 'b -> ('a, 'c) Bigarray.kind -> 'd typ
val returning : 'a typ -> 'a fn
val static_funptr : 'a fn -> 'a static_funptr typ
val structure : string -> 'a structure typ
val union : string -> 'a union typ
val offsetof : ('a, 'b) field -> int
val field_type : ('a, 'b) field -> 'a typ
val field_name : ('a, 'b) field -> string
val unsupported : ('a, unit, string, 'b) Stdlib.format4 -> 'a