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.