Ruby: ext/fiddle/libffi-3.2.1/src/types.c File Reference

Ruby 3.0.5p211 (2022-11-24 revision ba5cf0f7c52d4d35cc6a173c89eda98ceffa2dcf)

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 \
}
name
const char * name
Definition: nkf.c:208
NULL
#define NULL
Definition: regenc.h:69

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 \
}
id
const int id
Definition: nkf.c:209

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 main(), and rb_fiddle_int_to_ffi_type().