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