gtpa2m2vApplication Programming

TPF RPC Run-Time Library

The Open Software Foundation Distributed Computing Environment (OSF DCE) RPC run-time library consists of RPC routines that perform a variety of functions. The TPF 4.1 system has implemented the subset of those routines that relate to server support. The RPC run-time library was ported from MVS/ESA OpenEdition DCE. The code is written in C language and is implemented as a dynamic link library (DLL) on the TPF 4.1 system; therefore, TPF RPC server applications must be compiled with the DLL option.

The RPC run-time library allows you to develop RPC server applications that are accessed using Transmission Control Protocol (TCP) or User Datagram Protocol (UDP). The RPC library name is CRPC and the library ordinal number is 0011. The RPC library APIs establish all required client/server connections using socket APIs. The following is a list of supported RPC run-time library APIs:

rpc_binding_copy
Returns a copy of a binding handle.

rpc_binding_free
Releases binding handle resources.

rpc_binding_inq_object
Returns the object UUID from a binding handle.

rpc_binding_to_string_binding
Returns a string representation of a binding handle.

rpc_binding_vector_free
Frees the memory used to store a vector of binding handles.

rpc_if_id_vector_free
Frees a vector and the interface identifier structure it contains.

rpc_if_inq_id
Returns the interface identifier for an interface specification.

rpc_mgmt_inq_if_ids
Returns a vector of interface identifiers of interfaces a server offers.

rpc_mgmt_inq_stats
Returns RPC run-time library statistics.

rpc_mgmt_is_server_listening
Tells whether a server is listening for remote procedure calls.

rpc_mgmt_stats_vector_free
Frees a statistics vector.

rpc_mgmt_stop_server_listening
Tells a server to stop listening for remote procedure calls.

rpc_network_inq_protseqs
Returns all protocol sequences supported by both the RPC run-time library and the operating system.

rpc_network_is_protseq_valid
Tells whether the specified protocol sequence is supported by both the RPC run-time library and the operating system.

rpc_object_inq_type
Returns the type of an object.

rpc_object_set_inq_fn
Registers an object inquiry function.

rpc_object_set_type
Registers the type of an object with the RPC run-time library.

rpc_protseq_vector_free
Frees the memory used by a vector and its protocol sequences.

rpc_server_inq_bindings
Returns binding handles for communications with a server.

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

rpc_server_listen
Tells the RPC run-time library to listen for remote procedure calls.

rpc_server_register_if
Registers an interface with the RPC run-time library.

rpc_server_unregister_if
Removes an interface from the RPC run-time library.

rpc_server_use_all_protseqs_if
Tells the RPC run-time library to use all the protocol sequences and endpoints specified in the interface specification for receiving remote procedure calls.

rpc_server_use_protseq_ep
Tells the RPC run-time library to use the specified protocol sequence combined with the specified endpoint for receiving remote procedure calls.

rpc_server_use_protseq_if
Tells the RPC run-time library to use the specified protocol sequence combined with the endpoints in the interface specification for receiving remote procedure calls.

rpc_ss_allocate
Allocates memory within the RPC stub memory management scheme.

rpc_ss_free
Frees memory allocated by the rpc_ss_allocate routine.

rpc_string_binding_compose
Combines the components of a string binding into a string binding.

rpc_string_binding_parse
Returns, as separate strings, the components of a string binding.

rpc_string_free
Frees a character string allocated by the run-time library.

uuid_compare
Compares two UUIDs and determines their order.

uuid_create
Creates a new UUID.

uuid_create_nil
Creates a nil UUID.

uuid_equal
Determines if two UUIDs are equal.

uuid_from_string
Converts a string UUID to its binary representation.

uuid_hash
Creates a hash value for a UUID.

uuid_is_nil
Determines if a UUID is nil.

uuid_to_string
Converts a UUID from a binary representation to a string representation.

See the OSF DCE Application Development Reference for more information on the DCE RPC APIs.

The first time an RPC API is called, the run-time library is initialized. After the first API is completed, the server runs in a thread environment. See Threads for more information about the thread environment and thread safety.