BUS_SETUP_INTR(9)

명칭
BUS_SETUP_INTR, bus_setup_intr, BUS_TEARDOWN_INTR, bus_teardown_intr - 인터럽트 처리기의 작성과 접속 및 파괴

서식
<sys/param.h> <sys/bus.h> int BUS_SETUP_INTR(device_t dev, device_t child, struct resource *irq, int flags, driver_intr_t *intr, void *arg, void **cookiep) int bus_setup_intr(device_t dev, struct resource *r, int flags, driver_intr_t handler, void *arg, void **cookiep) int BUS_TEARDOWN_INTR(device_t dev, device_t child, struct resource *irq, void *cookiep) int bus_teardown_intr(device_t dev, struct resource *r, void *cookiep)

해설
메소드 BUS_SETUP_INTR (은)는, 자원 매니저의 BUS_ALLOC_RESOURCE(9) 메소드에 의해 이전에 할당할 수 있었던 세치기에 대해, 인터럽트 처리기를 생성해 아탓치 합니다. flags 하 <sys/bus.h> 그리고 발견되어, 세치기의 대범한 종류를 줍니다. 또, flags (은)는 디바이스 드라이버의 특성에 대한 신뢰할 수 있는 정보를, 인터럽트 처리기에게 전합니다. INTR_FAST (은)는 그 핸들러가 시간에 위기인 함수를 위한 핸들러인 것을 의미합니다. 이러한 핸들러의 스피드업을 위해서(때문에) 특별한 주의가 지불해집니다. 이것의 이용은 INTR_EXCL (을)를 은근히 포함합니다. INTR_EXCL (은)는 그 핸들러를 이 세치기를 위한 배타적인 핸들러로서 기록합니다. INTR_MPSAFE (은)는 그 인터럽트 처리기는 비선점형인 환경에서 적절히 행동하는 (``SMP 세이프'') 일, 및 ``자이언트 락'' mutex 에 의해 보호될 필요가 없는 것을, 스케쥴러에 통지합니다. INTR_ENTROPY (은)는 그 세치기가 엔트로피의 좋은 공급원이다고 하여 기록합니다. 이것은, 엔트로피데바이스 /dev/tandom 에 의해 사용될 수가 있습니다. 핸들러 intr (은)는 유일한 인수 arg 의 값을 따라 불려 갑니다.

인터럽트 처리기는, BUS_TEARDOWN_INTR() 에 의해 데탓치 됩니다. 올바른 인터럽트 처리기를 파기하기 위해서, 쿠키가 BUS_TEARDOWN_INTR() 에게 건네질 필요가 있습니다.

반환값
성공시에는 0 이 돌려주어져 그 이외의 경우는 적절한 에러가 돌려주어집니다.

관련 항목
random(4), device(9), driver(9)

저자
-nosplit 이 메뉴얼 페이지는, Doug Rabson <dfr@FreeBSD.org> 하지만 쓴 BUS_CREATE_INTR 및 BUS_CONNECT_INTR 의 메뉴얼 페이지를 기본으로, Jeroen Ruigrok van der Werven <asmodai@FreeBSD.org> 하지만 썼습니다.