 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Bottom of page |
|
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
handle 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.
subsys Specifies the name of the subsystem for which you are requesting
the subsystem-specific operation.
op 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>.
indata Specifies the input data needed by the operation.
indata_size
Specifies the size of the input data in bytes.
outdata Specifies the pre-allocated memory location to store any output
from the operation.
outdata_size
Specifies the size of the output data in bytes.
DESCRIPTION
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.
EXAMPLES
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.
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 management
library, see libcfg(3).
RELATED INFORMATION
Commands: cfgmgr(8), sysconfig(8)
Routines: libcfg(3)
 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Top of page |
|