On this page:
_ pointer
_ scheme
_ fpointer
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.