Platform-specific definitions and utilities.
More...
#include <stdint.h>
Go to the source code of this file.
|
#define | IDL_BEGIN |
| Begins a C-linkage declaration block.
|
|
#define | IDL_END |
| Ends a C-linkage declaration block.
|
|
#define | idl_api |
| Controls symbol visibility for shared library builds.
|
|
#define | IDL_FLAGS(idl_enum_t) |
| Enables bit flag operations for enumerations (C++ only).
|
|
#define | IDL_TYPE(idl_name) |
| Declares an opaque handle type.
|
|
|
|
Fixed-size types guaranteed to work across all supported platforms.
|
typedef char | idl_char_t |
| symbol type.
|
|
typedef int32_t | idl_bool_t |
| boolean type.
|
|
typedef int8_t | idl_sint8_t |
| 8 bit signed integer.
|
|
typedef uint8_t | idl_uint8_t |
| 8 bit unsigned integer.
|
|
typedef int16_t | idl_sint16_t |
| 16 bit signed integer.
|
|
typedef uint16_t | idl_uint16_t |
| 16 bit unsigned integer.
|
|
typedef int32_t | idl_sint32_t |
| 32 bit signed integer.
|
|
typedef uint32_t | idl_uint32_t |
| 32 bit unsigned integer.
|
|
typedef int64_t | idl_sint64_t |
| 64 bit signed integer.
|
|
typedef uint64_t | idl_uint64_t |
| 64 bit unsigned integer.
|
|
typedef float | idl_float32_t |
| 32 bit float point.
|
|
typedef double | idl_float64_t |
| 64 bit float point.
|
|
typedef const char * | idl_utf8_t |
| utf8 string.
|
|
typedef void * | idl_data_t |
| pointer to data.
|
|
typedef const void * | idl_cdata_t |
| pointer to immutable data.
|
|
Platform-specific definitions and utilities.
This header provides cross-platform macros, type definitions, and utility macros for the Idl library. It handles:
- Platform detection (Windows, macOS, iOS, Android, Linux, Web)
- Symbol visibility control (DLL import/export on Windows)
- C/C++ interoperability
- Type definitions for consistent data sizes across platforms
- Bit flag operations for enumerations (C++ only).
- Author
- Vladimir Shaleev vladi.nosp@m.mirs.nosp@m.halee.nosp@m.v@gm.nosp@m.ail.c.nosp@m.om
- Copyright
- MIT License