|
idlc 1.5.15
Interface Definition Language Compiler
|
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. | |
Version Components. | |
Individual components of the library version. | |
| #define | IDL_VERSION_MAJOR 1 |
| Major version number (API-breaking changes). | |
| #define | IDL_VERSION_MINOR 5 |
| Minor version number (backwards-compatible additions). | |
| #define | IDL_VERSION_MICRO 15 |
| Micro version number (bug fixes and patches). | |
Version Utilities. | |
Macros for working with version numbers. | |
| #define | IDL_VERSION_ENCODE(major, minor, micro) |
| Encodes version components into a single integer. | |
| #define | IDL_VERSION_STRINGIZE_(major, minor, micro) |
| Internal macro for string version generation. | |
| #define | IDL_VERSION_STRINGIZE(major, minor, micro) |
| Creates version string from components. | |
Current Version. | |
Macros representing the current library version. | |
| #define | IDL_VERSION |
| Encoded library version as integer. | |
| #define | IDL_VERSION_STRING |
| Library version as human-readable string. | |
| #define idl_api |
Controls symbol visibility for shared library builds.
This macro is used to control symbol visibility when building or using the library. On Windows (MSVC) with dynamic linking (non-static build), it expands to __declspec(dllimport). In all other cases (static builds or non-Windows platforms), it expands to nothing. This allows proper importing of symbols from DLLs on Windows platforms.
IDL_STATIC_BUILD for static library configuration. | #define IDL_BEGIN |
Begins a C-linkage declaration block.
In C++, expands to extern "C" { to ensure C-compatible symbol naming. In pure C environments, expands to nothing.
| #define IDL_END |
| #define IDL_FLAGS | ( | idl_enum_t | ) |
Enables bit flag operations for enumerations (C++ only).
Generates overloaded bitwise operators for type-safe flag manipulation:
| [in] | idl_enum_t | Enumeration type to enhance with flag operations. |
| #define IDL_TYPE | ( | idl_name | ) |
Declares an opaque handle type.
Creates a typedef for a pointer to an incomplete struct type, providing type safety while hiding implementation details.
| [in] | idl_name | Base name for the type (suffix _t will be added). |
| #define IDL_VERSION |
Encoded library version as integer.
Combined version value suitable for numeric comparisons. Use IDL_VERSION_STRING for human-readable format.
| #define IDL_VERSION_ENCODE | ( | major, | |
| minor, | |||
| micro ) |
Encodes version components into a single integer.
Combines major, minor, and micro versions into a 32-bit value:
| [in] | major | Major version number. |
| [in] | minor | Minor version number. |
| [in] | micro | Micro version number. |
| #define IDL_VERSION_MAJOR 1 |
Major version number (API-breaking changes).
| #define IDL_VERSION_MICRO 15 |
Micro version number (bug fixes and patches).
| #define IDL_VERSION_MINOR 5 |
Minor version number (backwards-compatible additions).
| #define IDL_VERSION_STRING |
Library version as human-readable string.
Version string in "MAJOR.MINOR.MICRO" format (e.g., "1.5.15"). Use IDL_VERSION for numeric comparisons.
| #define IDL_VERSION_STRINGIZE | ( | major, | |
| minor, | |||
| micro ) |
Creates version string from components.
Generates a string literal from version components (e.g., 1, 5, 15 -> "1.5.15").
| [in] | major | Major version number. |
| [in] | minor | Minor version number. |
| [in] | micro | Micro version number. |
| #define IDL_VERSION_STRINGIZE_ | ( | major, | |
| minor, | |||
| micro ) |
Internal macro for string version generation.
Helper macro that stringizes version components (e.g., 1, 5, 15 -> "1.5.15").
| [in] | major | Major version number. |
| [in] | minor | Minor version number. |
| [in] | micro | Micro version number. |