`sig
type 'a optaddr
val optaddr : 'a option -> 'a Gpointer.optaddr
type optstring
val raw_null : Gpointer.optstring
val optstring : string option -> Gpointer.optstring
type boxed
val boxed_null : Gpointer.boxed
val peek_string : ?pos:int -> ?len:int -> Gpointer.boxed -> string
val peek_int : Gpointer.boxed -> int
val poke_int : Gpointer.boxed -> int -> unit
val peek_nativeint : Gpointer.boxed -> nativeint
val poke_nativeint : Gpointer.boxed -> nativeint -> unit
type 'a optboxed
val optboxed : 'a option -> 'a Gpointer.optboxed
val may_box : f:('a -> 'b) -> 'a option -> 'b Gpointer.optboxed
type 'a variant_table constraint 'a = [> ]
val decode_variant : ([> ] as 'a) Gpointer.variant_table -> int -> 'a
val encode_variant : ([> ] as 'a) Gpointer.variant_table -> 'a -> int
val decode_flags : ([> ] as 'a) Gpointer.variant_table -> int -> 'a list
val encode_flags : ([> ] as 'a) Gpointer.variant_table -> 'a list -> int
exception Null
type 'a stable
val stable_copy : 'a -> 'a Gpointer.stable
type region
val length : Gpointer.region -> int
val get_addr : Gpointer.region -> nativeint
val sub : ?pos:int -> ?len:int -> Gpointer.region -> Gpointer.region
val get_byte : Gpointer.region -> pos:int -> int
val set_byte : Gpointer.region -> pos:int -> int -> unit
val blit : src:Gpointer.region -> dst:Gpointer.region -> unit
val region_of_bytes : bytes -> Gpointer.region
val bytes_of_region : Gpointer.region -> bytes
type 'a bigarray =
(int, Stdlib.Bigarray.int8_unsigned_elt, 'a) Stdlib.Bigarray.Array1.t
val region_of_bigarray : 'a Gpointer.bigarray -> Gpointer.region
val unsafe_create_region :
path:int array -> get_length:('a -> int) -> 'a -> Gpointer.region
external unsafe_get_byte : Gpointer.region -> pos:int -> int
= "ml_gpointer_get_char"
external unsafe_set_byte : Gpointer.region -> pos:int -> int -> unit
= "ml_gpointer_set_char"
end`