PreviousNext

Overview of DCE RPC Runtime Services

The RPC runtime services consist of RPC routines that perform a variety of operations.

Note that the RPC API is thread safe and synchronous cancel safe (in the context of POSIX threads). However, the RPC API is not asynchronous cancel safe. For more information about threads and their cancellation, see the OSF DCE Application Development Guide - Core Components.

The rest of this overview consists of the following items:

· An explanation of abbreviations in the names of the RPC runtime routines

· An alphabetical list of DCE RPC runtime routines. With each routine name is its description and the type of application program that most likely calls the routine.

An alphabetical list of abbreviations in the names of the DCE RPC routines follows. The list can help you remember the names more easily. For example, consider the routine name rpc_mgmt_ep_elt_inq_begin( ). Use the next list to expand the name to "RPC management endpoint element inquiry begin," which summarizes the description "Creates an inquiry context for viewing the elements in a local or remote endpoint map. (Management)."

auth authentication, authorization
com communications
cs character/code set interoperability
dce distributed computing environment
dflt default
elt element
ep endpoint
exp expiration
fn function
id identifier
idl_es IDL encoding services
if interface
inq inquiry
mbr member
mgmt management
ns name service
protseq protocol sequence
rgy DCE character and code set registry
rpc remote procedure call
stats statistics
An alphabetical list of the RPC runtime routines follows. With each routine name is its description and the type of application program that most likely calls the routine.

cs_byte_from_netcs( )
Converts international character data from a network code set to a local code set. (Client, server).

cs_byte_local_size( )
Calculates the necessary buffer size for a code set conversion from a network code set to a local code set. (Client, server).

cs_byte_net_size( )
Calculates the necessary buffer size for a code set conversion from a local code set to a network code set. (Client, server).

cs_byte_to_netcs( )
Converts international character data from a local code set to a network code set. (Client, server).

dce_cs_loc_to_rgy( )
Maps a local name for a code set to a code set value in the code set registry. (Client, server).

dce_cs_rgy_to_loc( )
Maps a code set value in the code set registry to a local name for a code set. (Client, server).

idl_es_decode_buffer( )
Returns a buffer decoding handle. (Client, server).

idl_es_decode_incremental
Returns an incremental decoding handle. (Client, server).

idl_es_encode_dyn_buffer( )
Returns a dynamic buffer encoding handle. (Client, server).

idl_es_encode_fixed_buffer( )
Returns a fixed buffer encoding handle. (Client, server).

idl_es_encode_incremental( )
Returns an incremental encoding handle. (Client, server).

idl_es_handle_free( )
Returns an IDL encoding services handle. (Client, server).

idl_es_inq_encoding_id
Identifies an application encoding operation. (Client, server).

rpc_binding_copy( )
Returns a copy of a binding handle. (Client or server).

rpc_binding_free( )
Releases binding handle resources. (Client or server).

rpc_binding_from_string_binding( )
Returns a binding handle from a string representation of a binding handle. (Client or management).

rpc_binding_inq_auth_caller( )
Returns authentication and authorization information from the binding handle for an authenticated client. (Server).

rpc_binding_inq_auth_client( )
Returns authentication and authorization information from the binding handle for an authenticated client. (Server).

rpc_binding_inq_auth_info( )
Returns authentication and authorization information from a server binding handle. (Client).

rpc_binding_inq_object( )
Returns the object UUID from a binding handle. (Client or server).

rpc_binding_reset( )
Resets a server binding handle so the host remains specified, but the server instance on that host is unspecified. (Client or management).

rpc_binding_server_from_client( )
Converts a client binding handle to a server binding handle. (Server).

rpc_binding_set_auth_info( )
Sets authentication and authorization information into a server binding handle. (Client).

rpc_binding_set_object( )
Sets the object UUID value into a server binding handle. (Client).

rpc_binding_to_string_binding( )
Returns a string representation of a binding handle. (Client, server, or management).

rpc_binding_vector_free( )
Frees the memory used to store a vector and binding handles. (Client or server).

rpc_cs_binding_set_tags( )
Places code set tags into a server binding handle. (Client).

rpc_cs_char_set_compat_check( )
Evaluates character set compatibility between a client and a server. (Client).

rpc_cs_eval_with_universal( )
Evaluates a server's supported character sets and code sets during the server binding selection process. (Client).

rpc_cs_eval_without_universal( )
Evaluates a server's supported character sets and code sets during the server binding selection process. (Client).

rpc_cs_get_tags( )
Retrieves code set tages from a binding handle. (Client, server).

rpc_ep_register( )
Adds to, or replaces, server address information in the local endpoint map. (Server).

rpc_ep_register_no_replace( )
Adds to server address information in the local endpoint map. (Server).

rpc_ep_resolve_binding( )
Resolves a partially bound server binding handle into a fully bound server binding handle. (Client or management).

rpc_ep_unregister( )
Removes server address information from the local endpoint map. (Server).

rpc_if_id_vector_free( )
Frees a vector and the interface identifier structures it contains. (Client, server, or management).

rpc_if_inq_id( )
Returns the interface identifier for an interface specification. (Client or server).

rpc_mgmt_ep_elt_inq_begin( )
Creates an inquiry context for viewing the elements in a local or remote endpoint map. (Management).

rpc_mgmt_ep_elt_inq_done( )
Deletes the inquiry context for viewing the elements in a local or remote endpoint map. (Management).

rpc_mgmt_ep_elt_inq_next( )
Returns one element at a time from a local or remote endpoint map. (Management).

rpc_mgmt_ep_unregister( )
Removes server address information from a local or remote endpoint map. (Management).

rpc_mgmt_inq_com_timeout( )
Returns the communications time-out value in a binding handle. (Client).

rpc_mgmt_inq_dflt_protect_level( )
Returns the default protection level for an authentication service. (Client or server).

rpc_mgmt_inq_if_ids( )
Returns a vector of interface identifiers of interfaces a server offers. (Client, server, or management).

rpc_mgmt_inq_server_princ_name( )
Returns a server's principal name. (Client, server, or management).

rpc_mgmt_inq_stats( )
Returns RPC runtime statistics. (Client, server, or management).

rpc_mgmt_is_server_listening( )
Tells whether a server is listening for remote procedure calls. (Client, server, or management).

rpc_mgmt_set_authorization_fn( )
Establishes an authorization function for processing remote calls to a server's management routines. (Server).

rpc_mgmt_set_cancel_timeout( )
Sets the lower bound on the time to wait before timing out after forwarding a cancel. (Client).

rpc_mgmt_set_com_timeout( )
Sets the communications time-out value in a binding handle. (Client).

rpc_mgmt_set_server_stack_size( )
Specifies the stack size for each server thread. (Server).

rpc_mgmt_stats_vector_free( )
Frees a statistics vector. (Client, server, or management).

rpc_mgmt_stop_server_listening( )
Tells a server to stop listening for remote procedure calls. (Client, server, or management).

rpc_network_inq_protseqs( )
Returns all protocol sequences supported by both the RPC runtime and the operating system. (Client or server).

rpc_network_is_protseq_valid( )
Tells whether the specified protocol sequence is supported by both the RPC runtime and the operating system. (Client or server).

rpc_ns_binding_export( )
Establishes a name service database entry with binding handles or object UUIDs for a server. (Server).

rpc_ns_binding_import_begin( )
Creates an import context for an interface and an object in the name service database. (Client).

rpc_ns_binding_import_done( )
Deletes the import context for searching the name service database. (Client).

rpc_ns_binding_import_next( )
Returns a binding handle of a compatible server (if found) from the name service database. (Client).

rpc_ns_binding_inq_entry_name( )
Returns the name of an entry in the name service database from which the server binding handle came. (Client).

rpc_ns_binding_lookup_begin( )
Creates a lookup context for an interface and an object in the name service database. (Client).

rpc_ns_binding_lookup_done( )
Deletes the lookup context for searching the name service database. (Client).

rpc_ns_binding_lookup_next( )
Returns a list of binding handles of one or more compatible servers (if found) from the name service database. (Client).

rpc_ns_binding_select( )
Returns a binding handle from a list of compatible server binding handles. (Client).

rpc_ns_binding_unexport( )
Removes the binding handles for an interface, or object UUIDs, from an entry in the name service database. (Server).

rpc_ns_entry_expand_name( )
Expands the name of a name service entry. (Client, server, or management).

rpc_ns_entry_inq_resolution( )
Resolves the cell namespace components of a name and returns partial results.

rpc_ns_entry_object_inq_begin( )
Creates an inquiry context for viewing the objects of an entry in the name service database. (Client, server, or management).

rpc_ns_entry_object_inq_done( )
Deletes the inquiry context for viewing the objects of an entry in the name service database. (Client, server, or management).

rpc_ns_entry_object_inq_next( )
Returns one object at a time from an entry in the name service database. (Client, server, or management).

rpc_ns_group_delete( )
Deletes a group attribute. (Client, server, or management).

rpc_ns_group_mbr_add( )
Adds an entry name to a group; if necessary, creates the entry. (Client, server, or management).

rpc_ns_group_mbr_inq_begin( )
Creates an inquiry context for viewing group members. (Client, server, or management).

rpc_ns_group_mbr_inq_done( )
Deletes the inquiry context for a group. (Client, server, or management).

rpc_ns_group_mbr_inq_next( )
Returns one member name at a time from a group. (Client, server, or management).

rpc_ns_group_mbr_remove( )
Removes an entry name from a group. (Client, server, or management).

rpc_ns_import_ctx_add_eval( )
Adds an evaluation routine to an import context. (Client).

rpc_ns_mgmt_binding_unexport( )
Removes multiple binding handles, or object UUIDs, from an entry in the name service database. (Management).

rpc_ns_mgmt_entry_create( )
Creates an entry in the name service database. (Management).

rpc_ns_mgmt_entry_delete( )
Deletes an entry from the name service database. (Management).

rpc_ns_mgmt_entry_inq_if_ids( )
Returns the list of interfaces exported to an entry in the name service database. (Client, server, or management).

rpc_ns_mgmt_free_codesets( )
Frees a code sets array that has been allocated in memory. (Client).

rpc_ns_mgmt_handle_set_exp_age( )
Sets a handle's expiration age for local copies of name service data. (Client, server, or management).

rpc_ns_mgmt_inq_exp_age( )
Returns the application's global expiration age for local copies of name service data. (Client, server, or management).

rpc_ns_mgmt_read_codesets( )
Reads the code sets attribute associated with an RPC server entry in the name service database. (Client).

rpc_ns_mgmt_remove_attribute( )
Removes an attribute from an RPC server entry in the name service database. (Server, management).

rpc_ns_mgmt_set_attribute( )
Adds an attribute to an RPC server entry in the name service database. (Server, management).

rpc_ns_mgmt_set_exp_age( )
Modifies the application's global expiration age for local copies of name service data. (Client, server, or management).

rpc_ns_profile_delete( )
Deletes a profile attribute. (Client, server, or management).

rpc_ns_profile_elt_add( )
Adds an element to a profile. If necessary, creates the entry. (Client, server, or management).

rpc_ns_profile_elt_inq_begin( )
Creates an inquiry context for viewing the elements in a profile. (Client, server, or management).

rpc_ns_profile_elt_inq_done( )
Deletes the inquiry context for a profile. (Client, server, or management).

rpc_ns_profile_elt_inq_next( )
Returns one element at a time from a profile. (Client, server, or management).

rpc_ns_profile_elt_remove( )
Removes an element from a profile. (Client, server, or management).

rpc_object_inq_type( )
Returns the type of an object. (Server).

rpc_object_set_inq_fn( )
Registers an object inquiry function. (Server).

rpc_object_set_type( )
Assigns the type of an object. (Server).

rpc_protseq_vector_free( )
Frees the memory used by a vector and its protocol sequences. (Client or server).

rpc_rgy_get_codesets( )
Gets supported code sets information from the local host. (Client, server).

rpc_rgy_get_max_bytes( )
Gets the maximum number of bytes that a code set uses to encode on character. (Client, server).

rpc_server_inq_bindings( )
Returns binding handles for communication with a server. (Server).

rpc_server_inq_if( )
Returns the manager entry point vector registered for an interface. (Server).

rpc_server_listen( )
Tells the RPC runtime to listen for remote procedure calls. (Server).

rpc_server_register_auth_info( )
Registers authentication information with the RPC runtime. (Server).

rpc_server_register_if( )
Registers an interface with the RPC runtime. (Server).

rpc_server_unregister_if( )
Unregisters an interface from the RPC runtime. (Server).

rpc_server_use_all_protseqs( )
Tells the RPC runtime to use all supported protocol sequences for receiving remote procedure calls. (Server).

rpc_server_use_all_protseqs_if( )
Tells the RPC runtime to use all the protocol sequences and endpoints specified in the interface specification for receiving remote procedure calls. (Server).

rpc_server_use_protseq( )
Tells the RPC runtime to use the specified protocol sequence for receiving remote procedure calls. (Server).

rpc_server_use_protseq_ep( )
Tells the RPC runtime to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls. (Server).

rpc_server_use_protseq_if( )
Tells the RPC runtime to use the specified protocol sequence combined with the endpoints in the interface specification for receiving remote procedure calls. (Server).

rpc_sm_allocate( )
Allocates memory within the RPC stub memory management scheme. (Usually server, possibly client).

rpc_sm_client_free( )
Frees memory allocated by the current memory allocation and freeing mechanism used by the client stubs. (Client).

rpc_sm_destroy_client_context( )
Reclaims the client memory resources for a context handle, and sets the context handle to NULL. (Client).

rpc_sm_disable_allocate( )
Releases resources and allocated memory within the RPC stub memory management scheme. (Client).

rpc_sm_enable_allocate( )
Enables the stub memory management environment. (Client).

rpc_sm_free( )
Frees memory allocated by the rpc_sm_allocate( ) routine. (Usually server, possibly client).

rpc_sm_get_thread_handle( )
Gets a thread handle for the stub memory management environment. (Usually server, possibly client).

rpc_sm_set_client_alloc_free(3rpc)
Sets the memory allocation and freeing mechanism used by the client stubs. (Client).

rpc_sm_set_thread_handle( )
Sets a thread handle for the stub memory management environment. (Usually server, possibly client).

rpc_sm_swap_client_alloc_free( )
Exchanges the current memory allocation and freeing mechanism used by the client stubs with one supplied by the client. (Client).

rpc_string_binding_compose( )
Combines the components of a string binding into a string binding. (Client or server).

rpc_string_binding_parse( )
Returns, as separate strings, the components of a string binding. (Client or server).

rpc_string_free( )
Frees a character string allocated by the runtime. (Client, server, or management).

uuid_compare( )
Compares two UUIDs and determines their order. (Client, server, or management).

uuid_create( )
Creates a new UUID. (Client, server, or management).

uuid_create_nil( )
Creates a nil UUID. (Client, server, or management).

uuid_equal( )
Determines if two UUIDs are equal. (Client, server, or management).

uuid_from_string( )
Converts a string UUID to its binary representation. (Client, server, or management).

uuid_hash( )
Creates a hash value for a UUID. (Client, server, or management).

uuid_is_nil( )
Determines if a UUID is nil. (Client, server, or management).

uuid_to_string( )
Converts a UUID from a binary representation to a string representation. (Client, server, or management).

wchar_t_from_netcs( )
Converts international character data from a network code set to a local code set. (Client, server).

wchar_t_local_size( )
Calculates the necessary buffer size for a code set conversion from a network code set to a local code set. (Client, server).

wchar_t_net_size( )
Calculates the necessary buffer size for a code set conversion from a local code set to a network code set. (Client, server).

wchar_t_to_netcs( )
Converts international character data from a local code set to a network code set. (Client, server).