cfgmgr_set_status(9r)cfgmgr_set_status(9r)NAMEcfgmgr_set_status - General: Reports failure to the cfgmgr framework
SYNOPSIS
int cfgmgr_set_status(
char *driver_name );
ARGUMENTS
Specifies the name of the device driver for which you want to report an
associated failure. This name is a string that matches the string you
specified for the entry_name item in the /etc/sysconfigtab database.
Typically, third-party driver writers specify the driver name (followed
by a colon) in the sysconfigtab file fragment, which gets appended to
the /etc/sysconfigtab database during the driver product installation.
DESCRIPTION
The cfgmgr_set_status routine reports to the cfgmgr framework that a
failure has occurred during static configuration. If the specified
device driver is in the static configuration state, it does not know
that the configuration operation is complete until all register call‐
back requests (routines) have successfully completed. Therefore, a
device driver calls cfgmgr_set_status to report a possible failure dur‐
ing static configuration to the cfgmgr framework.
Specifically, cfgmgr_set_status performs the following failure opera‐
tions: Adjusts the state of the specified device driver Unconfigures
the specified device driver from the cfgmgr framework
The cfgmgr_set_status routine calls the device driver's configure rou‐
tine at its CFG_OP_UNCONFIGURE entry point as part of these failure
operations. The code associated with the CFG_OP_UNCONFIGURE entry point
is responsible for determining how to deallocate any allocated
resources during these failure operations.
The cfgmgr_set_status routine does not notify the operator of a config‐
uration failure. Part of the code associated with the CFG_OP_UNCONFIG‐
URE entry point could include an error logging operation to record the
fact that a failure has occurred. The reason for doing this is that the
cfgmgr framework's task is to accomplish the unconfigure operation of a
statically configured device driver.
You call the cfgmgr_set_status routine in the device driver's callback
routine when the static configuration operation fails. You register a
callback routine by calling the register_callback routine.
RETURN VALUES
Upon successful completion, cfgmgr_set_status returns the value ESUC‐
CESS. This success value indicates that cfgmgr_set_status adjusted the
state of the device driver and caused the cfgmgr framework to unconfig‐
ure the driver. Otherwise, cfgmgr_set_status returns one of the follow‐
ing error constants defined in /usr/sys/include/sys/sysconfig.h and
/usr/sys/include/sys/errno.h: The device driver that you specified in
the driver_name argument does not exist. In this case, cfgmgr_set_sta‐
tus cannot adjust the state and unconfigure the device driver. The
device driver that you specified in the driver_name argument was not
statically configured. The device driver that you specified in the
driver_name argument is not in the static configuration state.
EXAMPLES
See Writing Device Drivers: Tutorial for a code example of the cfg‐
mgr_set_status interface.
SEE ALSO
Routines: cfgmgr_get_state(9r), register_callback(9r)cfgmgr_set_status(9r)