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