Manual Page Result
0
Command: cfg_subsys_state | Section: 3 | Source: Digital UNIX | File: cfg_subsys_state.3.gz
cfg_subsys_state(3) Library Functions Manual 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
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 you re-
ceive when you call the cfg_connect() routine. Specifies the name of
the subsystem for which you are requesting state information. 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 follow-
ing flags are currently defined: CFG_STATE_CONFIGURED, CFG_STATE_DY-
NAMIC, and CFG_STATE_LOADED.
DESCRIPTION
Use the cfg_subsys_state() routine to determine the state of a particu-
lar subsystem. Subsystems can be loaded, loaded and configured, or un-
loaded. (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 sub-
systems 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 config-
ured. You can determine the state of a subsystem by using the value re-
turned 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() li-
brary routine:
cfg_status_t retval; cfg_handle_t handle; un-
signed int state;
retval = cfg_subsys_state(&handle, "presto", &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 repre-
senting the state of the presto 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 informa-
tion 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) delim off
cfg_subsys_state(3)