Contract Management Library Functions
ct_dev_status_get_dev_state(3CONTRACT)
NAME
ct_dev_status_get_dev_state, ct_dev_status_get_aset,
ct_dev_status_get_minor, ct_dev_status_get_noneg - read con-
tract status information from a status objectSYNOPSIS
cc [ flag... ] file... -D_LARGEFILE64_SOURCE -lcontract [ library... ]
#include
#include
int ct_dev_status_get_dev_state(ct_stathdl_t stathdl,
uint_t *statep);
int ct_dev_status_get_aset(ct_stathdl_t stathdl,
uint_t *asetp);
int ct_dev_status_get_minor(ct_stathdl_t stathdl, char *buf,
size_t *buflenp);
int ct_dev_status_get_noneg(ct_stathdl_t stathdl,
uint_t *nonegp);
PARAMETERS
asetp a pointer to a uint_t variable for receiving the
acceptable state set (such as A-set) for the con-
tract buf a buffer for receiving the devfs path of a minor in a contractbuflenp a pointer to a variable of type size_t for pass-
ing the size of the buffer buf. If the buffer istoo small (< PATH_MAX), the minimum size of the
buffer needed (PATH_MAX) is passed back to the
caller with this argument.nonegp a pointer to a uint_t variable for receiving the
setting of the "noneg" term stathdl a status object returned byct_status_read(3CONTRACT)
SunOS 5.11 Last change: 9 Aug 2007 1
Contract Management Library Functionsct_dev_status_get_dev_state(3CONTRACT)
statep a pointer to a uint_t variable for receiving the
current state of the device which is the subject of the contractDESCRIPTION
These functions read contract status information from astatus object stathdl returned by ct_status_read(). The
detail level in the call to ct_status_read() needs to be at
least CTD_FIXED for the following calls to be successful.
The one exception is ct_dev_status_get_minor(), which
requires a detail level of CTD_ALL.
The ct_dev_status_get_dev_state() function returns the
current state of the device which is the subject of the con-
tract. This can be one of the following:CT_DEV_EV_ONLINE The device is online and functioning
normally.CT_DEV_EV_DEGRADED The device is online but degraded.
CT_DEV_EV_OFFLINE The device is offline and not config-
ured.The ct_dev_status_get_aset() function returns the A-set of
the contract. This can be the bitset of one or more of thefollowing states: CT_DEV_EV_ONLINE, CT_DEV_EV_DEGRADED, or
CT_DEV_EV_OFFLINE.
The ct_dev_status_get_minor() function reads the devfs path
of the minor participating in the contract. The devfs path returned does not include the /devices prefix. If the bufferpassed in by the caller is too small (< PATH_MAX), the
minimum size of the buffer required ( PATH_MAX) is returned
to the caller via the buflenp argument.The ct_dev_status_get_noneg() function returns the "noneg"
setting for the contract. A value of 1 is returned in the nonegp argument if NONEG is set, else 0 is returned.RETURN VALUES
Upon successful completion, these functions return 0. Other-
wise, they return a non-zero error value.
SunOS 5.11 Last change: 9 Aug 2007 2
Contract Management Library Functionsct_dev_status_get_dev_state(3CONTRACT)
ERRORS
The ct_dev_status_get_minor() function will fail if:
EOVERFLOW The buffer size is too small to hold the result.The ct_dev_status_get_dev_state(), ct_dev_status_get_aset(),
ct_dev_status_get_minor() and ct_dev_status_get_noneg()
functions will fail if: EINVAL An invalid argument was specified. ENOENT The requested data is not present in the status object.ATTRIBUTES
See attributes(5) for descriptions of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
ct_status_free(3CONTRACT), ct_status_read(3CONTRACT),
libcontract(3LIB), contract(4), devices(4), attributes(5), lfcompile(5)SunOS 5.11 Last change: 9 Aug 2007 3
Contract Management Library Functionsct_dev_status_get_dev_state(3CONTRACT)
SunOS 5.11 Last change: 9 Aug 2007 4