Combinators for binding to C libraries without writing any C
Library ctypes
Module Ctypes . Root

Registration of OCaml values as roots

val create : 'a -> unit ptr

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

val get : unit ptr -> 'a

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

val set : unit ptr -> 'a -> unit

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

val release : unit ptr -> unit

release p unregsiters the root p.