The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

Интерактивная система просмотра системных руководств (man-ов)

 ТемаНаборКатегория 
 
 [Cписок руководств | Печать]

DEV_MODULE (9)
  • >> DEV_MODULE (9) ( FreeBSD man: Ядро )

  • BSD mandoc
     

    NAME

    
    
    DEV_MODULE
    
     - device driver module declaration macro
    
     
    

    SYNOPSIS

       #include <sys/param.h>
       #include <sys/kernel.h>
       #include <sys/module.h>
       #include <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 Fa name is the name of the module and Fa evh (with its argument Fa arg ) is the event handler for the module (refer to DECLARE_MODULE9 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_MODULE9, destroy_dev9, make_dev9, module(9)  

    AUTHORS

    This manual page was written by An Alexander Langer Aq alex@FreeBSD.org .


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    EXAMPLES
    SEE ALSO
    AUTHORS


    Поиск по тексту MAN-ов: 




    Партнёры:
    PostgresPro
    Inferno Solutions
    Hosting by Hoster.ru
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2024 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру