manpagez: man pages & more
info libffi
Home | html | info | man
[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

2.3.1 Primitive Types

Libffi provides a number of built-in type descriptors that can be used to describe argument and return types:

ffi_type_void

The type void. This cannot be used for argument types, only for return values.

ffi_type_uint8

An unsigned, 8-bit integer type.

ffi_type_sint8

A signed, 8-bit integer type.

ffi_type_uint16

An unsigned, 16-bit integer type.

ffi_type_sint16

A signed, 16-bit integer type.

ffi_type_uint32

An unsigned, 32-bit integer type.

ffi_type_sint32

A signed, 32-bit integer type.

ffi_type_uint64

An unsigned, 64-bit integer type.

ffi_type_sint64

A signed, 64-bit integer type.

ffi_type_float

The C float type.

ffi_type_double

The C double type.

ffi_type_uchar

The C unsigned char type.

ffi_type_schar

The C signed char type. (Note that there is not an exact equivalent to the C char type in libffi; ordinarily you should either use ffi_type_schar or ffi_type_uchar depending on whether char is signed.)

ffi_type_ushort

The C unsigned short type.

ffi_type_sshort

The C short type.

ffi_type_uint

The C unsigned int type.

ffi_type_sint

The C int type.

ffi_type_ulong

The C unsigned long type.

ffi_type_slong

The C long type.

ffi_type_longdouble

On platforms that have a C long double type, this is defined. On other platforms, it is not.

ffi_type_pointer

A generic void * pointer. You should use this for all pointers, regardless of their real type.

Each of these is of type ffi_type, so you must take the address when passing to ffi_prep_cif.


[ << ] [ < ] [ Up ] [ > ] [ >> ]         [Top] [Contents] [Index] [ ? ]

This document was generated on March 29, 2013 using texi2html 5.0.

© manpagez.com 2000-2024
Individual documents may contain additional copyright information.