|
cfg_subsys_op(3)
Contents
|
cfg_subsys_op - perform a subsystem-specific operation
#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 );
Configuration Management Library (libcfg.a)
Structure identifying the means of communication between
your application 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.
Specifies 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-allocated memory
location to store any output from the operation.
Specifies the size of the output data in bytes.
Use the cfg_subsys_op() routine to request that the system
perform subsystem-specific operations. These operations
are defined by the subsystem.
When your application calls the cfg_subsys_op() routine,
it passes the name of the subsystem and the operation to
be performed on the subsystem. The application also passes
any input data required by the operation and the size of
that input data.
When the system receives the cfg_subsys_op() call, it
packages the input data and sends that data to the subsystem.
Once the subsystem has finished processing the
request, control and possibly output data return 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 parameter before it calls cfg_subsys_op(), the
actual size of the output data can differ from the amount
of memory allocated. When this situation occurs, the
cfg_subsys_op() routine returns as much data as possible
in the outdata parameter.
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 management library,
see libcfg(3).
The following example illustrates the use of the cfg_subsys_op()
routine:
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, "vfs", 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 subsystem
returns data, perhaps indicating the status of the
CLEAN_UP operation, in the outdata parameter.
Commands: cfgmgr(8), sysconfig(8)
Routines: libcfg(3)
cfg_subsys_op(3)
[ Back ] |