Manual Page Result
0
Command: cfg_subsys_op | Section: 3 | Source: Digital UNIX | File: cfg_subsys_op.3.gz
cfg_subsys_op(3) Library Functions Manual cfg_subsys_op(3)
NAME
cfg_subsys_op - Perform a subsystem-specific operation
LIBRARY
Configuration Management Library (libcfg.a)
SYNOPSIS
#include <cfg.h> cfg_status_t cfg_subsys_op(
cfg_handle_t *handle,
caddr_t subsys,
cfg_op_t op,
caddr_t indata,
ulong indata_size,
caddr_t outdata,
ulong outdate_size);
PARAMETERS
Structure identifying the means of communication between your applica-
tion and the configuration management server. For local requests, pass
NULL in this parameter. For remote requests, pass the value returned
from the cfg_connect() routine. Specifies the name of the subsystem
for which you are requesting the subsystem-specific operation. Speci-
fies the request code for the operation. The value of the code must be
between the values of the CFG_OP_SUBSYS_MIN constant and the
CFG_OP_SUBSYS_MAX constant. These constants are defined in
<sys/sysconfig.h>. Specifies the input data needed by the operation.
Specifies the size of the input data in bytes. Specifies the pre-allo-
cated memory location to store any output from the operation. Speci-
fies the size of the output data in bytes.
DESCRIPTION
Use the cfg_subsys_op() routine to request that the system perform sub-
system-specific operations. These operations are defined by the sub-
system.
When your application calls the cfg_subsys_op() routine, it passes the
name of the subsystem and the operation to be performed on the subsys-
tem. The application also passes any input data required by the opera-
tion and the size of that input data.
When the system receives the cfg_subsys_op() call, it packages the in-
put data and sends that data to the subsystem. Once the subsystem has
finished processing the request, control and possibly output data re-
turn to the cfg_subsys_op() routine. The routine collects any data
output by the subsystem and returns it to your application.
Because your application must allocate memory to store the outdata pa-
rameter before it calls cfg_subsys_op(), the actual size of the output
data can differ from the amount of memory allocated. When this situa-
tion occurs, the cfg_subsys_op() routine returns as much data as possi-
ble in the outdata parameter.
EXAMPLES
The following example illustrates the use of the cfg_subsys_op() rou-
tine: char indata[IN_SZ]; char
outdata[OUT_SZ]; cfg_handle_t handle; cfg_status_t
retval;
/***************************************************/ /* Call the
cfg_subsys_op routine */
retval = cfg_subsys_op(&handle, "lvm", CLEAN_UP, indata,
IN_SZ, outdata, OUT_SZ);
if (retval != CFG_SUCCESS)
print_error(retval);
In this example, the application calls the cfg_subsys_op() routine with
the CLEAN_UP operation code. The system passes the CLEAN_UP operation
code and the input data, indata, to the subsystem. The subsystem then
performs the tasks indicated by the CLEAN_UP operation code. The sub-
system returns data, perhaps indicating the status of the CLEAN_UP op-
eration, in the outdata parameter.
RETURN VALUES
Upon successful completion, cfg_subsys_op() returns CFG_SUCCESS. Other
return values indicate that an error has occurred. For information
about handling return values from routines in the configuration manage-
ment library, see libcfg(3).
RELATED INFORMATION
Commands: cfgmgr(8), sysconfig(8)
Routines: libcfg(3) delim off
cfg_subsys_op(3)