Version: 4.2.1
3.5 Pointer Types
Corresponds to Scheme “C pointer” objects. These pointers can have
an arbitrary Scheme object attached as a type tag. The tag is ignored
by built-in functionality; it is intended to be used by interfaces.
See Tagged C Pointer Types for creating pointer types that
use these tags for safety.
This type can be used with any Scheme object; it corresponds to the
Scheme_Object* type of PLT Scheme’s C API (see
Inside: PLT Scheme C API). It is useful only for libraries that are aware of
PLT Scheme’s C API.
Similar to _pointer, except that when an _fpointer
is extracted from a pointer produced by ffi-obj-ref, then a
level of indirection is skipped. A level of indirection is similarly
skipped when extracting a pointer via get-ffi-obj. Like
_pointer, _fpointer treats #f as NULL
and vice-versa.
A type generated by _cprocedure builds on _fpointer, and normally _cprocedure should be used instead of _fpointer.