man.bsd.lv manual page server

Manual Page Search Parameters

DEVICE_GET_STATE(9) Kernel Developer's Manual DEVICE_GET_STATE(9)

device_get_state, device_busy, device_unbusy, device_is_alive, device_is_attachedmanipulate device state

#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);

The current state of a device is accessed by calling () 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 () which simply returns if the state is greater or equal to DS_ALIVE. To test see if a device was successfully attached, call () which simply returns if the state is greater or equal to DS_ATTACHED.

Each device has a busy count which is incremented when () is called and decremented when () is called. Both routines return an error if the device state is less than DS_ATTACHED.

When () is called on a device in the DS_ATTACHED state, the device changes to the DS_BUSY state. When () is called and after decrementing, the busy count for the device is zero, the device changes to the DS_ATTACHED state.

device(9)

This manual page was written by Doug Rabson.

June 16, 1998 FreeBSD-12.0