dce_error_inq_text(3dce)
Retrieves message text associated with a DCE error code
Synopsis
#include <dce/dce_error.h>
void dce_error_inq_text(
error_status_t status_to_convert,
dce_error_string_t error_text,
int *status);
Parameters
Input
status_to_convert DCE status code for which text message is to be retrieved.
Output
error_text The message text associated with the status_to_convert.
status Returns the status code from this operation. The status code is set to 0 on success, and to -1 on failure.
Description The dce_error_inq_text( ) routine retrieves from the installed DCE component message catalogs the message text associated with an error status code returned
by a DCE library routine.
All DCE message texts are assigned a unique 32-bit message ID. The special value of all-bits-zero is reserved to indicate success.
The dce_error_inq_text( ) routine uses the message ID as a series of indices into the correct DCE component's message catalog; the text found by this indexing is the message that explains
the status code that was returned by the DCE or DCE application routine.
All messages for a given component are stored in a single message catalog generated by the sams utility when the component is built. (The messages may also be compiled into the component
code, rendering the successful retrieval of message text independent of whether or not the message catalogs were correctly installed.)
If the user sets their LANG variable and has the correct message catalog files installed, the user can receive translated messages. That is, the text string returned by
dce_error_inq_text( ) is dependent on the current locale.
Examples The following code fragment shows how dce_error_inq_text( ) can be used to retrieve the message text describing the status code returned by a DCE RPC library
routine:
dce_error_string_t error_string; error_status_t status; int print_status; rpc_server_register_if(application_v1_0_s_ifspec, &type_uuid,
(rpc_mgr_epv_t)&manager_epv, &status); if (status != rpc_s_ok) {
dce_error_inq_text(status, error_string, &print_status);
fprintf(stderr," Server: %s: %s\en", caller, error_string); }
|