:man| Alphabetical   Categories   About us 
 
DEV_MODULE (9) | Kernel routines | Unix Manual Pages | :man

NAME

DEV_MODULE - device driver module declaration macro

CONTENTS

Synopsis
Description
Examples
See Also
Authors

SYNOPSIS


.In sys/param.h
.In sys/kernel.h
.In sys/module.h
.In sys/conf.h DEV_MODULE "name" "modeventhand_t evh" "void *arg"

DESCRIPTION

The DEV_MODULE macro declares a device driver kernel module. It fills in a
.Vt 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.

EXAMPLES


#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);

SEE ALSO

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

AUTHORS

 
Created by Blin Media, 2008-2013