dce_svc_table(3dce) — Subroutines
Name
dce_svc_table − Returns a registered component’s subcomponent table
Synopsis
#include <dce/dce.h>
#include <dce/svcremote.h> void dce_svc_table(
dce_svc_string_t component,
dce_svc_subcomparray_t ∗table,
error_status_t ∗status);
Parameters
Input
componentThe name of the serviceability-registered component, defined in the component field of the application’s sams file.
Output
tableAn array of elements, each of which describes one of the component’s serviceability subcomponents (as defined in its sams file).
statusReturns the status code from this operation. The status code is a value that indicates whether the routine completed successfully and if not, why not.
Description
The dce_svc_table routine returns the serviceability subcomponent table registered with the specified component. The returned table consists of an array of elements, each of which describes one subcomponent. Each element consists of four fields, which contain the subcomponent name, its description, its message catalog ID, and the current value of its debug message level.
The first three of these values are specified in the sams file which is processed during the application’s compilation, and from which the application’s message catalogs and other serviceability and message files are generated.
Examples
The following code fragment shows how the remote operation might be called from an application’s client side, and how the results might be printed out:
#include <dce/rpc.h>
#include <dce/service.h>
handle_t svc_bind_handle;
dce_svc_string_t component;
dce_svc_subcomparray_t subcomponents_table;
error_status_t remote_status;
int i;
dce_svc_inq_table(svc_bind_handle, component, &subcomponents_table, &remote_status);
fprintf(stdout, "Subcomponent table size received is: %d...\n",
subcomponents_table.tab_size);
fprintf(stdout, "Subcomponent table contents are:\n");
for (i = 0; i < subcomponents_table.tab_size; i++)
{
fprintf(stdout, "Name: %s\n",
subcomponents_table.table[i].sc_name);
fprintf(stdout, "Desc: %s\n",
subcomponents_table.table[i].sc_descr);
fprintf(stdout, "Msg Cat ID: 0x%8.8lx\n",
(long) subcomponents_table.table[i].sc_descr_msgid);
fprintf(stdout, "Active debug level: %d\n\n",
subcomponents_table.table[i].sc_level);
}
Errors
The following describes a partial list of errors that might be returned. Refer to the OSF DCE Problem Determination Guide for complete descriptions of all error messages.
See dce_svc_register(3dce).
Files
dce/service.idl