Module: FFI::NativeType

Defined in:
ext/ffi_c/Type.c,
ext/ffi_c/Type.c

Overview

This module defines constants for native (C) types.

Native type constants

Native types are defined by constants :

  • INT8, SCHAR, CHAR

  • UINT8, UCHAR

  • INT16, SHORT, SSHORT

  • UINT16, USHORT

  • INT32,, INT, SINT

  • UINT32, UINT

  • INT64, LONG_LONG, SLONG_LONG

  • UINT64, ULONG_LONG

  • LONG, SLONG

  • ULONG

  • FLOAT32, FLOAT

  • FLOAT64, DOUBLE

  • POINTER

  • CALLBACK

  • FUNCTION

  • CHAR_ARRAY

  • BOOL

  • STRING (immutable string, nul terminated)

  • STRUCT (struct-b-value param or result)

  • ARRAY (array type definition)

  • MAPPED (custom native type)

For function return type only :

  • VOID

For function argument type only :

  • BUFFER_IN

  • BUFFER_OUT

  • VARARGS (function takes a variable number of arguments)

All these constants are exported to FFI module prefixed with “TYPE_”. They are objets from Type::Builtin class.