Ruby 2.7.7p221 (2022-11-24 revision 168ec2b1e5ad0e4688e963d9de019557c78feed9)
Macros | Functions | Variables
types.c File Reference
#include <ffi.h>
#include <ffi_common.h>

Go to the source code of this file.

Macros

#define LIBFFI_HIDE_BASIC_TYPES
 
#define FFI_TYPEDEF(name, type, id, maybe_const)
 
#define FFI_COMPLEX_TYPEDEF(name, type, maybe_const)
 
#define FFI_LDBL_CONST   const
 

Functions

 FFI_TYPEDEF (uint8, UINT8, FFI_TYPE_UINT8, const)
 
 FFI_TYPEDEF (sint8, SINT8, FFI_TYPE_SINT8, const)
 
 FFI_TYPEDEF (uint16, UINT16, FFI_TYPE_UINT16, const)
 
 FFI_TYPEDEF (sint16, SINT16, FFI_TYPE_SINT16, const)
 
 FFI_TYPEDEF (uint32, UINT32, FFI_TYPE_UINT32, const)
 
 FFI_TYPEDEF (sint32, SINT32, FFI_TYPE_SINT32, const)
 
 FFI_TYPEDEF (uint64, UINT64, FFI_TYPE_UINT64, const)
 
 FFI_TYPEDEF (sint64, SINT64, FFI_TYPE_SINT64, const)
 
 FFI_TYPEDEF (pointer, void *, FFI_TYPE_POINTER, const)
 
 FFI_TYPEDEF (float, float, FFI_TYPE_FLOAT, const)
 
 FFI_TYPEDEF (double, double, FFI_TYPE_DOUBLE, const)
 

Variables

const ffi_type ffi_type_void
 

Macro Definition Documentation

◆ FFI_COMPLEX_TYPEDEF

#define FFI_COMPLEX_TYPEDEF (   name,
  type,
  maybe_const 
)
Value:
static ffi_type *ffi_elements_complex_##name [2] = { \
(ffi_type *)(&ffi_type_##name), NULL \
}; \
struct struct_align_complex_##name { \
char c; \
_Complex type x; \
}; \
maybe_const ffi_type ffi_type_complex_##name = { \
sizeof(_Complex type), \
offsetof(struct struct_align_complex_##name, x), \
FFI_TYPE_COMPLEX, \
(ffi_type **)ffi_elements_complex_##name \
}
VALUE type(ANYARGS)
ANYARGS-ed function type.
Definition: cxxanyargs.hpp:39
const char * name
Definition: nkf.c:208
#define NULL

Definition at line 47 of file types.c.

◆ FFI_LDBL_CONST

#define FFI_LDBL_CONST   const

Definition at line 82 of file types.c.

◆ FFI_TYPEDEF

#define FFI_TYPEDEF (   name,
  type,
  id,
  maybe_const 
)
Value:
struct struct_align_##name { \
char c; \
type x; \
}; \
maybe_const ffi_type ffi_type_##name = { \
sizeof(type), \
offsetof(struct struct_align_##name, x), \
id, NULL \
}

Definition at line 36 of file types.c.

◆ LIBFFI_HIDE_BASIC_TYPES

#define LIBFFI_HIDE_BASIC_TYPES

Definition at line 29 of file types.c.

Function Documentation

◆ FFI_TYPEDEF() [1/11]

FFI_TYPEDEF ( double  ,
double  ,
FFI_TYPE_DOUBLE  ,
const   
)

◆ FFI_TYPEDEF() [2/11]

FFI_TYPEDEF ( float  ,
float  ,
FFI_TYPE_FLOAT  ,
const   
)

◆ FFI_TYPEDEF() [3/11]

FFI_TYPEDEF ( pointer  ,
void ,
FFI_TYPE_POINTER  ,
const   
)

◆ FFI_TYPEDEF() [4/11]

FFI_TYPEDEF ( sint16  ,
SINT16  ,
FFI_TYPE_SINT16  ,
const   
)

◆ FFI_TYPEDEF() [5/11]

FFI_TYPEDEF ( sint32  ,
SINT32  ,
FFI_TYPE_SINT32  ,
const   
)

◆ FFI_TYPEDEF() [6/11]

FFI_TYPEDEF ( sint64  ,
SINT64  ,
FFI_TYPE_SINT64  ,
const   
)

◆ FFI_TYPEDEF() [7/11]

FFI_TYPEDEF ( sint8  ,
SINT8  ,
FFI_TYPE_SINT8  ,
const   
)

◆ FFI_TYPEDEF() [8/11]

FFI_TYPEDEF ( uint16  ,
UINT16  ,
FFI_TYPE_UINT16  ,
const   
)

◆ FFI_TYPEDEF() [9/11]

FFI_TYPEDEF ( uint32  ,
UINT32  ,
FFI_TYPE_UINT32  ,
const   
)

◆ FFI_TYPEDEF() [10/11]

FFI_TYPEDEF ( uint64  ,
UINT64  ,
FFI_TYPE_UINT64  ,
const   
)

◆ FFI_TYPEDEF() [11/11]

FFI_TYPEDEF ( uint8  ,
UINT8  ,
FFI_TYPE_UINT8  ,
const   
)

Variable Documentation

◆ ffi_type_void

const ffi_type ffi_type_void
Initial value:
= {
1, 1, FFI_TYPE_VOID, NULL
}

Definition at line 63 of file types.c.

Referenced by int_to_ffi_type(), and main().