MODULE(9)

명칭
module - 커널 모듈의 구조 기술

해설
커널내의 개개의 모듈은 module_t 구조체에 의해 기술됩니다. 이 구조체는, 몇개의 커널의 내부 데이터는 물론, 디바이스의 이름, 고유의 ID 번호, 이벤트 핸들러 함수에의 포인터, 및 이벤트 핸들러에게 건네지는 인수를 포함하고 있습니다.

DECLARE_MODULE(9) 매크로는 시스템에 모듈을 등록합니다. 그 모듈이 로드 되었을 때에, what 인수에 MOD_LOAD 하지만 설정되어, 이벤트 핸들러 함수가 불려 갑니다. 언로드시에는, what 에는 MOD_UNLOAD 하지만 설정됩니다. 시스템이 셧다운 될 때에는, what 하 MOD_SHUTDOWN 의 값을 포함합니다.

사용예

    #include <sys/param.h>
    #include <sys/kernel.h>
    #include <sys/module.h>
    static int foo_handler(module_t mod, int /*modeventtype_t*/ what,
                           void *arg);
    static moduledata_t mod_data= {
            "foo",
            foo_handler,
            0
    };
    MODULE_VERSION(foo, 1);
    MODULE_DEPEND(foo, bar, 1, 3, 4);
    DECLARE_MODULE(foo, mod_data, SI_SUB_EXEC, SI_ORDER_ANY);

관련 항목
DECLARE_MODULE(9), DEV_MODULE(9), DRIVER_MODULE(9), MODULE_DEPEND(9), MODULE_VERSION(9), SYSCALL_MODULE(9)

/usr/share/examples/kld

저자
이 메뉴얼 페이지는 Alexander Langer <alex@FreeBSD.org> 하지만 썼습니다.