 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Bottom of page |
|
cfg_subsys_state(3)
NAME
cfg_subsys_state - Determine the state of the named subsystem
LIBRARY
Configuration Management Library (libcfg.a)
SYNOPSIS
#include <cfg.h>
cfg_status_t cfg_subsys_state(
cfg_handle_t *handle,
caddr_t subsys,
unsigned int *state);
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 you receive when you call the cfg_connect() routine.
subsys Specifies the name of the subsystem for which you are requesting
state information.
state Returns a collection of bit flags representing the state of the
subsystem. The bit flags are defined in the <sys/sysconfig.h>
header file. The following flags are currently defined:
CFG_STATE_CONFIGURED, CFG_STATE_DYNAMIC, and CFG_STATE_LOADED.
DESCRIPTION
Use the cfg_subsys_state() routine to determine the state of a particular
subsystem. Subsystems can be loaded, loaded and configured, or unloaded.
(Subsystems must be loaded to be configured.) In addition, a subsystem can
be either static (the CFG_STATE_DYNAMIC bit flag is not set) or dynamic
(the CFG_STATE_DYNAMIC bit flag is set). Static subsystems are linked into
the kernel at build time and the only way to add or remove them from the
kernel is to rebuild the kernel. Dynamic subsystems are loadable, meaning
that they can be added and removed from the kernel while the system is
running.
The value returned in the state parameter is an integer representation of a
binary value. The bits in the value designate the state of the subsystem.
For example, the least significant bit designates whether or not the
subsystem is loaded. If this bit is set, the subsystem is loaded. If the
next higher order bit is set, the subsystem is configured. You can
determine the state of a subsystem by using the value returned in the state
parameter in a bitwise AND operation. The <sys/sysconfig.h> header file
defines constants for this purpose. See the EXAMPLES section for more
information about using these constants.
EXAMPLES
The following example illustrates the use of the cfg_subsys_state() library
routine:
cfg_status_t retval;
cfg_handle_t handle;
unsigned int state;
retval = cfg_subsys_state(&handle, "vfs", &state);
if (retval != CFG_SUCCESS)
print_error(retval);
else {
/* Determine whether or not the subsystem is loaded */
/* and configured. Display a message describing the */
/* subsystem state. */
if (state & CFG_STATE_LOADED) {
if (state & CFG_STATE_CONFIGURED)
printf("The subsystem is loaded and configured.\n");
else
printf("The subsystem is loaded but not configured.\n");
else
printf("The subsystem is unloaded.\n");
}
}
In this example, the cfg_subsys_state() routine returns a value
representing the state of the vfs subsystem. The application determines
whether the call to the routine was successful and, if it was, displays a
message describing the state of the subsystem.
RETURN VALUES
Upon successful completion, cfg_subsys_state() 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: cfg_subsys_list(3), libcfg(3)
 |
Index for Section 3 |
|
 |
Alphabetical listing for C |
|
 |
Top of page |
|