Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

OpenSolaris 2009.06 - man page for ct_dev_status_get_dev_state (opensolaris section 3contract)

ct_dev_status_get_dev_state(3CONTRACT)		       Contract Management Library Functions		    ct_dev_status_get_dev_state(3CONTRACT)

ct_dev_status_get_dev_state, ct_dev_status_get_aset, ct_dev_status_get_minor, ct_dev_status_get_noneg - read contract status information from a status object
cc [ flag... ] file... -D_LARGEFILE64_SOURCE -lcontract [ library... ] #include <libcontract.h> #include <sys/contract/device.h> 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);
asetp a pointer to a uint_t variable for receiving the acceptable state set (such as A-set) for the contract buf a buffer for receiving the devfs path of a minor in a contract buflenp a pointer to a variable of type size_t for passing the size of the buffer buf. If the buffer is too small (< PATH_MAX), the min- imum 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 by ct_status_read(3CONTRACT) statep a pointer to a uint_t variable for receiving the current state of the device which is the subject of the contract
These functions read contract status information from a status 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 contract. 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 configured. The ct_dev_status_get_aset() function returns the A-set of the contract. This can be the bitset of one or more of the following 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 buffer passed 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.
Upon successful completion, these functions return 0. Otherwise, they return a non-zero error value.
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.
See attributes(5) for descriptions of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+
ct_status_free(3CONTRACT), ct_status_read(3CONTRACT), libcontract(3LIB), contract(4), devices(4), attributes(5), lfcompile(5) SunOS 5.11 9 Aug 2007 ct_dev_status_get_dev_state(3CONTRACT)