IDL Base Data Types and IDL-to-C Type Mappings
The following table lists the IDL base data type specifiers. Where applicable, the table shows the size of the corresponding transmittable type and the type macro emitted by the IDL
compiler for resulting declarations.
Base Data Type Specifiers - rpc_intro(1rpc) |
Specifier (sign) |
Specifier (size) |
Specifier (type) |
Size |
Type Macro Emitted by idl |
|
small |
int |
8 bits |
idl_small_int |
|
short |
int |
16 bits |
idl_short_int |
|
long |
int |
32 bits |
idl_long_int |
|
hyper |
int |
64 bits |
idl_hyper_int |
unsigned |
small |
int |
8 bits |
idl_usmall_int |
unsigned |
short |
int |
16 bits |
idl_ushort_int |
unsigned |
long |
int |
32 bits |
idl_ulong_int |
unsigned |
hyper |
int |
64 bits |
idl_uhyper_int |
|
|
float |
32 bits |
idl_short_float |
|
|
double |
64 bits |
idl_long_float |
|
|
char |
8 bits |
idl_char |
|
|
boolean |
8 bits |
idl_boolean |
|
|
byte |
8 bits |
idl_byte |
|
|
void |
- |
idl_void_p_t |
|
|
handle_t |
- |
- |
Note that you can use the idl_ macros in the code you write for an application to ensure that your type declarations are consistent with those in the stubs, even when the application is
ported to another platform. The idl_ macros are especially useful when passing constant values to RPC calls. For maximum portability, all constants passed to RPC calls declared in your
network interfaces should be cast to the appropriate type, because the size of integer constants (like the size of the int data type) is unspecified in the C language.
The idl_ macros are defined in dce/idlbase.h, which is included by header files that the IDL compiler generates.
Related Information Commands:
idl(1rpc)
uuidgen(1rpc)
Books:
OSF DCE Application Development Guide - Introduction and Style Guide
OSF DCE Problem Determination Guide
|