Museum

Home

Lab Overview

Retrotechnology Articles

Online Manuals

⇒ cfg_subsys_state(3) — Digital UNIX 3.2c

Media Vault

Software Library

Restoration Projects

Artifacts Sought

Related Articles

cfgmgr(8)

sysconfig(8)

cfg_subsys_list(3)

libcfg(3)

cfg_subsys_state(3)  —  Subroutines

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

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

subsysSpecifies the name of the subsystem for which you are requesting state information. 

stateReturns 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: loaded and configured. 

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

The value returned in the state parameter is an integer representation of a binary value.  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, "lvm", &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 lvm 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)

Typewritten Software • bear@typewritten.org • Edmonds, WA 98026