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 dev_t 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 <alex@FreeBSD.org>.
FreeBSD 5.2.1			March 11, 2001			 FreeBSD 5.2.1  [ Back ] |