DEVICE(9)

명칭
device - 디바이스의 추상 표현

서식
typedef struct device *device_t;

해설
디바이스 오브젝트는 확장 카드, 카드가 꽂아지는 버스, 확장 카드에 접속된다 디스크 드라이버등의 시스템에 아탓치 된 하드웨어의 일부를 표현합니다. 시스템은 1 개의 디바이스 root_bus (을)를 정의해, 다른 모든 디바이스는 자동 배치의 사이에 동적으로 생성됩니다. 통상, 시스템 (ISA, PCI 등) 안의 톱 레벨의 버스를 표현하는 디바이스는, root_bus 에 직접 아탓치 되어 다른 디바이스는 그러한 적절한 버스의 아이로서 추가됩니다.

시스템안의 디바이스는 나무 구조를 형성합니다. root_bus (을)를 제외하는 모든 디바이스는 부모 ( device_get_parent(9) (을)를 참조)를 가지고 있습니다. 더해, 모든 디바이스는 거기에 아탓치 되는 아이 ( device_add_child(9), device_add_child_ordered(9), device_find_child(9), device_get_children(9), device_delete_child(9) (을)를 참조) (을)를 가지는 것이 가능합니다.

프로브에 성공해 시스템에 아탓치 되고 있는 디바이스는 드라이버 ( device_get_driver(9) (와)과 driver(9) (을)를 참조) 및 디바이스 클래스 ( device_get_devclass(9) (와)과 devclass(9) (을)를 참조) 도 가집니다. 디바이스의 여러가지 다른 속성은, 유니트 번호 ( device_get_unit(9) (을)를 참조), (통상 드라이버에 의해 공급된다) 장황한 기술 ( device_set_desc(9) (와)과 device_get_desc(9) (을)를 참조), 버스 고유의 변수의 조 ( device_get_ivars(9) (을)를 참조), 및 driver 고유의 변수의 조 ( device_get_softc(9) (을)를 참조) (을)를 포함합니다.

디바이스는 이하의 몇개의 상태 중의 1 개(살)을 취하는 것이 가능합니다.

DS_NOTPRESENT
    디바이스는 존재 확인의 프로브가되어 있지 않은지, 실패했습니다.

DS_ALIVE
    디바이스의 프로브에는 성공했습니다만, 아직 아탓치 되고 있지 않습니다.

DS_ATTACHED
    디바이스의 아탓치가 성공했습니다.

DS_BUSY
    디바이스는 현재 오픈되고 있습니다.

디바이스의 현재 상태는, device_get_state(9) 의 호출에 의해 결정하는 것이 가능합니다.

관련 항목
devclass(9), driver(9)

저자
이 메뉴얼 페이지는 Doug Rabson 하지만 썼습니다.