DEV_MODULE(9FREEBSD) - Linux man page online | System kernel interfaces

Device driver module declaration macro.

January 19, 2012
DEV_MODULE(9) BSD Kernel Developer's Manual DEV_MODULE(9)


DEV_MODULE — device driver module declaration macro


#include <sys/param.h> #include <sys/kernel.h> #include <sys/module.h> #include <sys/conf.h> DEV_MODULE(name, modeventhand_t evh, void *arg);


The DEV_MODULE() macro declares a device driver kernel module. It fills in a moduledata_t structure and then calls DECLARE_MODULE() with the correct args, where name is the name of the module and evh (with its argument arg) is the event handler for the module (refer to DECLARE_MODULE(9) for more information). The event handler is supposed to create the device with make_dev() on load and to destroy it when it is unloaded using destroy_dev().


#include <sys/module.h> #include <sys/conf.h> static struct cdevsw foo_devsw = { ... }; static struct cdev *sdev; static int foo_load(module_t mod, int cmd, void *arg) { int err = 0; switch (cmd) { case MOD_LOAD: sdev = make_dev(&foo_devsw, 0, UID_ROOT, GID_WHEEL, 0600, "foo"); break; /* Success*/ case MOD_UNLOAD: case MOD_SHUTDOWN: destroy_dev(sdev); break; /* Success*/ default: err = EINVAL; break; } return(err); } DEV_MODULE(foo, foo_load, NULL);


DECLARE_MODULE(9), destroy_dev(9), make_dev(9), module(9)


This manual page was written by Alexander Langer <>.
BSD January 19, 2012 BSD
This manual Reference Other manuals
DEV_MODULE(9freebsd) referred by DECLARE_MODULE(9freebsd) | module(9freebsd) | SYSINIT(9freebsd) | SYSUNINIT(9freebsd)
refer to DECLARE_MODULE(9freebsd) | destroy_dev(9freebsd) | make_dev(9freebsd) | module(9freebsd)
Download raw manual
Main page BSD Kernel Developer's Manual (+1909) BSD (+3984) № 9 (+1939)
Go top