PreviousNext

dce_svc_table(3dce)

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

component
The name of the serviceability-registered component, defined in the component field of the application's sams file.

Output

table
An array of elements, each of which describes one of the component's serviceability sub-components (as defined in its sams file).

status
Returns 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 sub-component. Each element consists of four fields, which contain the sub-component 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