The following subsections contain topics, beyond those directly related to the RPC API, that application programmers need to know. IDL-to-C Mappings The Interface Definition Language (IDL) compiler converts an interface definition into output files. The rpc_intro reference page in the OSF DCE Command Reference contains a summary of the idl command, which invokes the IDL compiler. Additional information about the IDL compiler appears in the following table, which shows the IDL base types and the IDL-to-C 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 ___________________________________________________________ Specifier Type Macro (sign) (size) (type) Size 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 SYS$COMMON:[DCE$LIBRARY]IDLBASE.H, which is included by header files that the IDL compiler generates. Management Commands for Programmers In addition to the idl command for programmers, DCE RPC provides two management commands for the RPC control program and the DCE Host daemon, as follows: + The rpccp control program accesses RPCCP, the RPC control program. This program provides a set of commands for accessing the operations of the RPC Name Service Interface (NSI operations). RPCCP also supports showing the elements of the local endpoint map and removing elements from it. You can manage the name service with RPCCP commands or with DCE RPC runtime routines. For example, suppose you want to obtain the members of a group. You can give the show group command to RPCCP or you can write an application program that calls the following DCE RPC runtime routines: - rpc_ns_group_mbr_inq_begin() - rpc_ns_group_mbr_inq_next() - rpc_ns_group_mbr_inq_done() + The dced command starts the DCE Host daemon. The daemon maintains the local endpoint map for RPC servers and looks up endpoints for RPC clients. See the OSF DCE Administration Reference for more information about these two management commands.