FreeBSD manual

download PDF document: device_busy.9.pdf

DEVICE_GET_STATE(9) FreeBSD Kernel Developer's Manual DEVICE_GET_STATE(9)
NAME device_get_state, device_busy, device_unbusy, device_is_alive, device_is_attached - manipulate device state
SYNOPSIS #include <sys/param.h> #include <sys/bus.h>
device_state_t device_get_state(device_t dev);
void device_busy(device_t dev);
void device_unbusy(device_t dev);
int device_is_alive(device_t dev);
int device_is_attached(device_t dev);
DESCRIPTION The current state of a device is accessed by calling device_get_state() which returns DS_NOTPRESENT, DS_ALIVE, DS_ATTACHED or DS_BUSY (described in device(9)). To test see if a device was successfully probed, call device_is_alive() which simply returns if the state is greater or equal to DS_ALIVE. To test see if a device was successfully attached, call device_is_attached() which simply returns if the state is greater or equal to DS_ATTACHED.
Each device has a busy count which is incremented when device_busy() is called and decremented when device_unbusy() is called. Both routines return an error if the device state is less than DS_ATTACHED.
When device_busy() is called on a device in the DS_ATTACHED state, the device changes to the DS_BUSY state. When device_unbusy() is called and after decrementing, the busy count for the device is zero, the device changes to the DS_ATTACHED state.
SEE ALSO device(9)
AUTHORS This manual page was written by Doug Rabson.
FreeBSD 14.0-RELEASE-p11 June 16, 1998 FreeBSD 14.0-RELEASE-p11