Index of values

(!@) [Ctypes]

!@ p dereferences the pointer p.

(+@) [Ctypes]

If p is a pointer to an array element then p +@ n computes the address of the nth next element.

(-@) [Ctypes]

If p is a pointer to an array element then p -@ n computes the address of the nth previous element.

(<-@) [Ctypes]

p <-@ v writes the value v to the address p.

(@->) [Ctypes_types.TYPE]

Construct a function type from a type and an existing function type.

(@->) [Ctypes.FOREIGN]
(@.) [Ctypes]

s @. f computes the address of the field f in the structure or union value s.

(|->) [Ctypes]

p |-> f computes the address of the field f in the structure or union value pointed to by p.

A
abi_code [Libffi_abi]
abs [LDouble]

abs f returns absolute value of f

abstract [Ctypes_types.TYPE]

Create an abstract type specification from the size and alignment requirements for the type.

acos [LDouble]

Arc cosine

acosh [LDouble]

Inverse hyperbolic cosine

add [ComplexL]

Addition

add [LDouble]

Addition

addr [Ctypes]

addr s returns the address of the structure or union s.

aix [Libffi_abi]
alignment [Ctypes]

alignment t computes the alignment requirements of the type t.

allocate [Ctypes]

allocate t v allocates a fresh value of type t, initialises it with v and returns its address.

allocate_n [Ctypes]

allocate_n t ~count:n allocates a fresh array with element type t and length n, and returns its address.

arg [ComplexL]

Argument.

array [Ctypes_types.TYPE]

Construct a sized array type from a length and an existing type (called the element type).

array1 [Ctypes]

The class of Bigarray.Array1.t values

array2 [Ctypes]

The class of Bigarray.Array2.t values

array3 [Ctypes]

The class of Bigarray.Array3.t values

array_of_bigarray [Ctypes]

array_of_bigarray c b converts the bigarray value b to a value of type Ctypes.CArray.t.

asin [LDouble]

Arc sine

asinh [LDouble]

Inverse hyperbolic sine

atan [LDouble]

Arc tangent

atan2 [LDouble]

atan2 y x returns the arc tangent of y /. x.

atanh [LDouble]

Inverse hyperbolic tangent

B
bigarray [Ctypes_types.TYPE]

Construct a sized C-layout bigarray type representation from a bigarray class, the dimensions, and the Bigarray_compat.kind.

bigarray_of_array [Ctypes]

bigarray_of_array c k a converts the Ctypes.CArray.t value a to a C-layout bigarray value.

bigarray_of_ptr [Ctypes]

bigarray_of_ptr c dims k p converts the C pointer p to a C-layout bigarray value.

bigarray_start [Ctypes]

Return the address of the first element of the given Bigarray value.

bool [Ctypes_types.TYPE]

Value representing the C type bool.

byte_sizes [LDouble]

size, in bytes, used for storing long doubles, and the actual number of bytes used by the value.

C
camlint [Ctypes_types.TYPE]

Value representing an integer type with the same storage requirements as an OCaml int.

ceil [LDouble]

Round above to an integer value.

char [Ctypes_types.TYPE]

Value representing the C type char.

classify [LDouble]

Return the class of the given floating-point number: normal, subnormal, zero, infinite, or not a number.

clock_t [PosixTypes]
coerce [Ctypes]

coerce t1 t2 returns a coercion function between the types represented by t1 and t2.

coerce_fn [Ctypes]

coerce_fn f1 f2 returns a coercion function between the function types represented by f1 and f2.

complex32 [Ctypes_types.TYPE]

Value representing the C99 single-precision float complex type.

complex64 [Ctypes_types.TYPE]

Value representing the C99 double-precision double complex type.

complexld [Ctypes_types.TYPE]

Value representing the C99 long-double-precision long double complex type.

conj [ComplexL]

Conjugate: given the complex x + i.y, returns x - i.y.

constant [Cstubs_structs.TYPE]
constant [Ctypes.TYPE]

constant name typ retrieves the value of the compile-time constant name of type typ.

copy [Ctypes.CArray]

copy a creates a fresh array with the same elements as a.

copysign [LDouble]

copysign x y returns a float whose absolute value is that of x and whose sign is that of y.

cos [LDouble]

Cosine.

cosh [LDouble]

Hyperbolic cosine

create [Ctypes.Root]

create v allocates storage for the address of the OCaml value v, registers the storage as a root, and returns its address.

D
darwin [Libffi_abi]
default_abi [Libffi_abi]
dev_t [PosixTypes]
div [ComplexL]

Division

div [LDouble]

Division

dlclose [Dl]

Close a dynamic library.

dlopen [Dl]

Open a dynamic library.

dlsym [Dl]

Look up a symbol in a dynamic library.

double [Ctypes_types.TYPE]

Value representing the C type double.

dynamic_funptr [Foreign]

Define a type representation for passing OCaml functions to C with explicit lifetime management.

E
eabi [Libffi_abi]
element_type [Ctypes.CArray]

Retrieve the element type of an array.

enum [Cstubs_inverted.INTERNAL]
enum [Cstubs_structs.TYPE]
enum [Ctypes.TYPE]

enum name ?unexpected alist builds a type representation for the enum named name.

epsilon [LDouble]

The difference between 1.0 and the smallest exactly representable floating-point number greater than 1.0.

exp [ComplexL]

Exponentiation.

exp [LDouble]

Exponential

expm1 [LDouble]

expm1 x computes exp x -. 1.0, giving numerically-accurate results even if x is close to 0.0.

F
fastcall [Libffi_abi]
field [Ctypes_types.TYPE]

field ty label ty' adds a field of type ty' with label label to the structure or union type ty and returns a field value that can be used to read and write the field in structure or union instances (e.g.

field_name [Ctypes]

field_name f returns the name of the field f.

field_type [Ctypes]

field_type f returns the type of the field f.

float [Ctypes_types.TYPE]

Value representing the C single-precision float type.

floor [LDouble]

Round below to an integer value.

fold_left [Ctypes.CArray]

CArray.fold_left (@) x a computes (((x @ a.(0)) @ a.(1)) ...) @ a.(n-1) where n is the length of the array a.

fold_right [Ctypes.CArray]

CArray.fold_right f a x computes a.(0) @ (a.(1) @ ( ... (a.(n-1) @ x) ...)) where n is the length of the array a.

foreign [Foreign]

foreign name typ exposes the C function of type typ named by name as an OCaml value.

foreign [Ctypes.FOREIGN]
foreign_value [Foreign]

foreign_value name typ exposes the C value of type typ named by name as an OCaml value.

foreign_value [Ctypes.FOREIGN]
format [Ctypes]

Pretty-print a representation of the C value to the specified formatter.

format_array [Ctypes_printers]
format_clock_t [Ctypes_printers]
format_complexld [Ctypes_printers]
format_dev_t [Ctypes_printers]
format_fn [Ctypes_printers]
format_fn [Ctypes]

Pretty-print a C representation of the function type to the specified formatter.

format_ino_t [Ctypes_printers]
format_ldouble [Ctypes_printers]
format_llong [Ctypes_printers]
format_long [Ctypes_printers]
format_mode_t [Ctypes_printers]
format_nlink_t [Ctypes_printers]
format_ocaml [Ctypes_printers]
format_off_t [Ctypes_printers]
format_pid_t [Ctypes_printers]
format_pointer [Ctypes_printers]
format_sint [Ctypes_printers]
format_size_t [Ctypes_printers]
format_ssize_t [Ctypes_printers]
format_struct [Ctypes_printers]
format_time_t [Ctypes_printers]
format_typ [Ctypes_printers]
format_typ [Ctypes]

Pretty-print a C representation of the type to the specified formatter.

format_uchar [Ctypes_printers]
format_uint [Ctypes_printers]
format_uint16 [Ctypes_printers]
format_uint32 [Ctypes_printers]
format_uint64 [Ctypes_printers]
format_uint8 [Ctypes_printers]
format_ullong [Ctypes_printers]
format_ulong [Ctypes_printers]
format_union [Ctypes_printers]
format_useconds_t [Ctypes_printers]
format_ushort [Ctypes_printers]
fortran_bigarray [Ctypes_types.TYPE]

Construct a sized Fortran-layout bigarray type representation from a bigarray class, the dimensions, and the Bigarray_compat.kind.

fortran_bigarray_of_ptr [Ctypes]

fortran_bigarray_of_ptr c dims k p converts the C pointer p to a Fortran-layout bigarray value.

free [Foreign.Funptr]

Indicate that the fptr is no longer needed.

frexp [LDouble]

frexp f returns the pair of the significant and the exponent of f.

from_ptr [Ctypes.CArray]

from_ptr p n creates an n-length array reference to the memory at address p.

from_voidp [Ctypes]

Conversion from void *.

funptr [Foreign]

Construct a function pointer type from a function type.

funptr_of_raw_address [Ctypes]

Convert the numeric representation of an address to a function pointer

funptr_opt [Foreign]

Construct a function pointer type from a function type.

G
gcc_sysv [Libffi_abi]
genarray [Ctypes]

The class of Bigarray.Genarray.t values

get [Ctypes.Root]

get p retrieves the OCaml value whose address is stored at p.

get [Ctypes.CArray]

get a n returns the nth element of the zero-indexed array a.

getf [Ctypes]

getf s f retrieves the value of the field f in the structure or union s.

H
hypot [LDouble]
I
i [ComplexL]

0 + i

ignore_errno [Cstubs]

Generate code with no special support for errno.

im [ComplexL]

return the imaginary part of the long double complex

infinity [LDouble]

Positive infinity

ino_t [PosixTypes]
int [Ctypes_types.TYPE]

Value representing the C type (signed) int.

int16_t [Ctypes_types.TYPE]

Value representing a 16-bit signed integer C type.

int32_t [Ctypes_types.TYPE]

Value representing a 32-bit signed integer C type.

int64_t [Ctypes_types.TYPE]

Value representing a 64-bit signed integer C type.

int8_t [Ctypes_types.TYPE]

Value representing an 8-bit signed integer C type.

internal [Cstubs_inverted.INTERNAL]
intptr_t [Ctypes_types.TYPE]

Value representing the C type intptr_t.

inv [ComplexL]

Multiplicative inverse (1/z).

is_null [Ctypes]

is_null p is true when p is a null pointer.

iter [Ctypes.CArray]

iter f a is analogous to Array.iter f a: it applies f in turn to all the elements of a.

L
ldexp [LDouble]

ldexp x n returns x *. 2 ** n.

ldouble [Ctypes_types.TYPE]

Value representing the C type long double.

length [Ctypes.CArray]

Return the number of elements of the given array.

lift_typ [Ctypes_types.TYPE]

lift_typ t turns a concrete type representation into an abstract type representation.

linux [Libffi_abi]
linux64 [Libffi_abi]
linux_soft_float [Libffi_abi]
llong [Ctypes_types.TYPE]

Value representing the C type (signed) long long.

log [ComplexL]

Natural logarithm (in base e).

log [LDouble]

Natural logarithm

log10 [LDouble]

Base 10 logarithm

log1p [LDouble]

log1p x computes log(1.0 +. x) (natural logarithm), giving numerically-accurate results even if x is close to 0.0.

long [Ctypes_types.TYPE]

Value representing the C type (signed) long.

lwt_jobs [Cstubs]

Generate code which implements C function calls as Lwt jobs:

lwt_preemptive [Cstubs]

Generate code which runs C function calls with the Lwt_preemptive module:

M
make [Ctypes.CArray]

make t n creates an n-length array of type t.

make [Ctypes]

Allocate a fresh, uninitialised structure or union value.

make [ComplexL]

make x y creates the long double complex value x + y * i

mant_dig [LDouble]

size of mantissa

map [Ctypes.CArray]

map t f a is analogous to Array.map f a: it creates a new array with element type t whose elements are obtained by applying f to the elements of a.

mapi [Ctypes.CArray]

mapi behaves like Array.mapi, except that it also passes the index of each element as the first argument to f and the element itself as the second argument.

max_float [LDouble]

The largest positive finite value

min_float [LDouble]

The smallest positive, non-zero, non-denormalized value

mode_t [PosixTypes]
modf [LDouble]

return (fractional,integer) parts of number.

ms_cdecl [Libffi_abi]
mul [ComplexL]

Multiplication

mul [LDouble]

Multiplication

N
n32 [Libffi_abi]
n32_soft_float [Libffi_abi]
n64 [Libffi_abi]
n64_soft_float [Libffi_abi]
nan [LDouble]

A special floating-point value denoting the result of an undefined operation such as 0.0 /. 0.0.

nativeint [Ctypes_types.TYPE]

Value representing the C type (signed) int.

neg [ComplexL]

Unary negation

neg [LDouble]

Negation

neg_infinity [LDouble]

Negative infinity

nlink_t [PosixTypes]
norm [ComplexL]

Norm: given x + i.y, returns sqrt(x^2 + y^2).

norm2 [ComplexL]

Norm squared: given x + i.y, returns x^2 + y^2.

null [Ctypes]

A null pointer.

O
o32 [Libffi_abi]
o32_soft_float [Libffi_abi]
ocaml_bytes [Ctypes_types.TYPE]

Value representing the directly mapped storage of an OCaml byte array.

ocaml_bytes_start [Ctypes]

ocaml_bytes_start s allows to pass a pointer to the contents of an OCaml byte array directly to a C function.

ocaml_string [Ctypes_types.TYPE]

Value representing the directly mapped storage of an OCaml string.

ocaml_string_start [Ctypes]

ocaml_string_start s allows to pass a pointer to the contents of an OCaml string directly to a C function.

of_complex [ComplexL]

create a long double complex from a Complex.t

of_float [LDouble]

Create a long double from a float

of_fun [Foreign.Funptr]

Turn an OCaml closure into a function pointer that can be passed to C.

of_int [LDouble]

Create a long double from an int

of_list [Ctypes.CArray]

of_list t l builds an array of type t of the same length as l, and writes the elements of l to the corresponding elements of the array.

of_string [Ctypes.CArray]

of_string s builds an array of the same length as s, and writes the elements of s to the corresponding elements of the array.

of_string [LDouble]

Create a long double from a string

off_t [PosixTypes]
offsetof [Ctypes]

offsetof f returns the offset, in bytes, of the field f from the beginning of the associated struct type.

one [ComplexL]

1 + i0

one [LDouble]

1.0

osf [Libffi_abi]
P
pa32 [Libffi_abi]
pid_t [PosixTypes]
polar [ComplexL]

polar norm arg returns the complex having norm norm and argument arg.

pow [ComplexL]

Power function.

pow [LDouble]

Exponentiation

ptr [Ctypes_types.TYPE]

Construct a pointer type from an existing type (called the reference type).

ptr_compare [Ctypes]

If p and q are pointers to elements i and j of the same array then ptr_compare p q compares the indexes of the elements.

ptr_diff [Ctypes]

ptr_diff p q computes q - p.

ptr_of_raw_address [Ctypes]

Convert the numeric representation of an address to a pointer

ptr_opt [Ctypes_types.TYPE]

Construct a pointer type from an existing type (called the reference type).

ptrdiff_t [Ctypes_types.TYPE]

Value representing the C type ptrdiff_t.

R
raw_address_of_ptr [Ctypes]

raw_address_of_ptr p returns the numeric representation of p.

re [ComplexL]

return the real part of the long double complex

reference_type [Ctypes]

Retrieve the reference type of a pointer.

release [Ctypes.Root]

release p unregsiters the root p.

rem [LDouble]

rem x y is the remainder of dividing x by y

report_leaked_funptr [Foreign]

Hook called on collection of closures associated with Foreign.dynamic_funptr values that have not been deallocated with free.

return_errno [Cstubs]

Generate code that returns errno in addition to the return value of each function.

returning [Ctypes_types.TYPE]

Give the return type of a C function.

returning [Ctypes.FOREIGN]
S
schar [Ctypes_types.TYPE]

Value representing the C type signed char.

seal [Ctypes_types.TYPE]

seal t completes the struct or union type t so that no further fields can be added.

sequential [Cstubs]

Generate code with no special support for concurrency.

set [Ctypes.Root]

set p v updates the OCaml value stored as a root at p.

set [Ctypes.CArray]

set a n v overwrites the nth element of the zero-indexed array a with v.

setf [Ctypes]

setf s f v overwrites the value of the field f in the structure or union s with v.

short [Ctypes_types.TYPE]

Value representing the C type (signed) short.

sigset_t [PosixTypes]
sin [LDouble]

Sine.

sinh [LDouble]

Hyperbolic sine

sint [Ctypes_types.TYPE]

Value representing the C type int.

size_t [Ctypes_types.TYPE]

Value representing the C type size_t, an alias for one of the unsigned integer types.

size_t [PosixTypes]
sizeof [Ctypes]

sizeof t computes the size in bytes of the type t.

sqrt [ComplexL]

Square root.

sqrt [LDouble]

Square root

ssize_t [PosixTypes]
start [Ctypes.CArray]

Return the address of the first element of the given array.

static_funptr [Ctypes_types.TYPE]

Construct a function pointer type from an existing function type (called the reference type).

stdcall [Libffi_abi]
string [Ctypes_types.TYPE]

A high-level representation of the string type.

string_from_ptr [Ctypes]

string_from_ptr p ~length creates a string initialized with the length characters at address p.

string_of [Ctypes]

Return a string representation of the C value.

string_of_fn [Ctypes]

Return a C representation of the function type.

string_of_typ [Ctypes]

Return a C representation of the type.

string_opt [Ctypes_types.TYPE]

A high-level representation of the string type.

structure [Cstubs_inverted.INTERNAL]
structure [Ctypes_types.TYPE]

Construct a new structure type.

sub [Ctypes.CArray]

sub a ~pos ~length creates a fresh array of length length containing the elements a.(pos) to a.(pos + length - 1) of a.

sub [ComplexL]

Subtraction

sub [LDouble]

Subtraction

sysv [Libffi_abi]
T
t [Foreign.Funptr]

A type representation for a function pointer type with explicit lifetime management.

t_opt [Foreign.Funptr]

This behaves like Foreign.Funptr.t, except that null pointers appear in OCaml as None.

tan [LDouble]

Tangent.

tanh [LDouble]

Hyperbolic tangent

thiscall [Libffi_abi]
time_t [PosixTypes]
to_complex [ComplexL]

Convert a long double complex to a Complex.t.

to_float [LDouble]

Convert a long double to a float.

to_int [LDouble]

Convert a long double to an int.

to_list [Ctypes.CArray]

to_list a builds a list of the same length as a such that each element of the list is the result of reading the corresponding element of a.

to_string [LDouble]

Convert a long double to a string.

to_voidp [Ctypes]

Conversion to void *.

typ_of_bigarray_kind [Ctypes_types.TYPE]

typ_of_bigarray_kind k is the type corresponding to the Bigarray kind k.

typedef [Cstubs_inverted.INTERNAL]
typedef [Ctypes_types.TYPE]

typedef t name creates a C type representation t' which is equivalent to t except its name is printed as name.

U
uchar [Ctypes_types.TYPE]

Value representing the C type unsigned char.

uint [Ctypes_types.TYPE]

Value representing the C type unsigned int.

uint16_t [Ctypes_types.TYPE]

Value representing a 16-bit unsigned integer C type.

uint32_t [Ctypes_types.TYPE]

Value representing a 32-bit unsigned integer C type.

uint64_t [Ctypes_types.TYPE]

Value representing a 64-bit unsigned integer C type.

uint8_t [Ctypes_types.TYPE]

Value representing an 8-bit unsigned integer C type.

uintptr_t [Ctypes_types.TYPE]

Value representing the C type uintptr_t.

ullong [Ctypes_types.TYPE]

Value representing the C type unsigned long long.

ulong [Ctypes_types.TYPE]

Value representing the C type unsigned long.

union [Cstubs_inverted.INTERNAL]
union [Ctypes_types.TYPE]

Construct a new union type.

unix [Libffi_abi]
unix64 [Libffi_abi]
unlocked [Cstubs]

Generate code that releases the runtime lock during C calls.

unsafe_get [Ctypes.CArray]

unsafe_get a n behaves like get a n except that the check that n between 0 and (CArray.length a - 1) is not performed.

unsafe_set [Ctypes.CArray]

unsafe_set a n v behaves like set a n v except that the check that n between 0 and (CArray.length a - 1) is not performed.

useconds_t [PosixTypes]
ushort [Ctypes_types.TYPE]

Value representing the C type unsigned short.

V
v8 [Libffi_abi]
v8plus [Libffi_abi]
v9 [Libffi_abi]
vfp [Libffi_abi]
view [Ctypes_types.TYPE]

view ~read:r ~write:w t creates a C type representation t' which behaves like t except that values read using t' are subsequently transformed using the function r and values written using t' are first transformed using the function w.

void [Ctypes_types.TYPE]

Value representing the C void type.

W
with_fun [Foreign.Funptr]

with_fun fn (fun fptr -> e) - Turn an OCaml closure into a function pointer and perform simple life cycle management.

write_c [Cstubs_inverted]

write_c fmt ~prefix bindings generates C stubs for the functions bound with internal in bindings.

write_c [Cstubs.Types]
write_c [Cstubs]

write_c fmt ~prefix bindings generates C stubs for the functions bound with foreign in bindings.

write_c [Cstubs_structs]
write_c_header [Cstubs_inverted]

write_c_header fmt ~prefix bindings generates a C header file for the functions bound with internal in bindings.

write_ml [Cstubs_inverted]

write_ml fmt ~prefix bindings generates ML bindings for the functions bound with internal in bindings.

write_ml [Cstubs]

write_ml fmt ~prefix bindings generates ML bindings for the functions bound with foreign in bindings.

Z
zero [ComplexL]

0 + i0

zero [LDouble]

0.0