idlc 1.5.14
Interface Definition Language Compiler
Loading...
Searching...
No Matches
idl-platform.h File Reference

Platform-specific definitions and utilities. More...

#include <stdint.h>

Go to the source code of this file.

Macros

#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.
 

Typedefs

Platform-independent type definitions.

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.
 

Detailed Description

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