Index Index for
Section 3
Index Alphabetical
listing for C
Bottom of page Bottom of
page

cfg_subsys_op(3)

NAME

cfg_subsys_op - perform a subsystem-specific operation

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 );

LIBRARY

Configuration Management Library (libcfg.a)

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.

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).

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.

SEE ALSO

Commands: cfgmgr(8), sysconfig(8) Routines: libcfg(3)

Index Index for
Section 3
Index Alphabetical
listing for C
Top of page Top of
page