123456789_123456789_123456789_123456789_123456789_

Module: FFI::NativeType

Relationships & Source Files
Defined in: ext/ffi_c/Type.c

Overview

This module defines constants for C native types.

Native type constants

Native types are defined by constants and aliases:

  • 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

  • LONGDOUBLE (if the native platform has ‘long double`)

  • POINTER

  • BOOL

  • STRING (immutable string, null terminated)

For function return type only:

  • VOID

For function argument type only:

  • BUFFER_IN

  • BUFFER_OUT

  • BUFFER_INOUT

  • VARARGS (function takes a variable number of arguments)

They are objects of the class Type::Builtin.

Non-alias (the first name in each bullet point) constants are also exported to modules NativeType and (prefixed with TYPE_) ::FFI. All constants and aliases above are exported to the Type class, as well as the following aliases: