Foreign Function Interface

- « user_error

- Introduction »

- PHP Manual
- Affecting PHP's Behaviour
- Foreign Function Interface

# Foreign Function Interface

- Introduction
- Installing/Configuring
  - Requirements
  - Installation
  - Runtime Configuration
  - Resource Types
- Predefined Constants
- Examples
  - Basic FFI usage
  - PHP Callbacks
  - A Complete PHP/FFI/preloading Example
- FFI — Main interface to C code and data
  - FFI::addr — Creates an unmanaged pointer to C data
  - FFI::alignof — Gets the alignment
  - FFI::arrayType — Dynamically constructs a new C array type
  - FFI::cast — Performs a C type cast
  - FFI::cdef — Creates a new FFI object
  - FFI::free — Releases an unmanaged data structure
  - FFI::isNull — Checks whether a FFI\CData is a null pointer
  - FFI::load — Loads C declarations from a C header file
  - FFI::memcmp — Compares memory areas
  - FFI::memcpy — Copies one memory area to another
  - FFI::memset — Fills a memory area
  - FFI::new — Creates a C data structure
  - FFI::scope — Instantiates an FFI object with C declarations parsed during preloading
  - FFI::sizeof — Gets the size of C data or types
  - FFI::string — Creates a PHP string from a memory area
  - FFI::type — Creates an FFI\CType object from a C declaration
  - FFI::typeof — Gets the FFI\CType of FFI\CData
- FFI\CData — C Data Handles
- FFI\CType — C Type Handles
  - FFI\CType::getAlignment — Description
  - FFI\CType::getArrayElementType — Description
  - FFI\CType::getArrayLength — Description
  - FFI\CType::getAttributes — Description
  - FFI\CType::getEnumKind — Description
  - FFI\CType::getFuncABI — Description
  - FFI\CType::getFuncParameterCount — Description
  - FFI\CType::getFuncParameterType — Description
  - FFI\CType::getFuncReturnType — Description
  - FFI\CType::getKind — Description
  - FFI\CType::getName — Description
  - FFI\CType::getPointerType — Description
  - FFI\CType::getSize — Description
  - FFI\CType::getStructFieldNames — Description
  - FFI\CType::getStructFieldOffset — Description
  - FFI\CType::getStructFieldType — Description
- FFI\Exception — FFI Exceptions
- FFI\ParserException — FFI Parser Exceptions