The OpenNET Project / Index page

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

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

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

ddi_add_event_handler (9)
  • >> ddi_add_event_handler (9) ( Solaris man: Ядро )
  •  

    NAME

    ddi_add_event_handler - add an NDI event service callback handler
     
    

    SYNOPSIS

    #include <sys/dditypes.h>
    #include <sys/sunddi.h>
    
    int ddi_add_event_handler(dev_info_t *dip, ddi_eventcookie_t cookie,
        void (*handler)(dev_info_t *, ddi_eventcookie_t, void *, void *),
        void *arg, ddi_registration_id_t *id);
    

     

    INTERFACE LEVEL

    Solaris DDI specific (Solaris DDI).  

    PARAMETERS

    dev_info_t *dip

    Device node registering the callback.

    ddi_eventcookie_t cookie

    Cookie returned from call to ddi_get_eventcookie(9F).

    void (*handler)(dev_info_t *, ddi_eventcookie_t, void *, void *)

    Callback handler responsible for handling an NDI event service notification.

    void *arg

    Pointer to opaque data supplied by the caller. Typically, this would be a pointer to the driver's softstate structure.

    ddi_registration_id_t *id

    Pointer to registration ID where a unique registration id will be returned. Registration ID must be saved and used when calling ddi_remove_event_handler(9F) to unregister a callback.

     

    DESCRIPTION

    The ddi_add_event_handler() function adds a callback handler to be invoked in the face of the event specifed by cookie. The process of adding a callback handler is also known as subscribing to an event. Upon successful subscription, the handler will be invoked by the system when the event occurs. The handler can be unregistered by using ddi_remove_event_handler(9F).

    An instance of a driver can register multiple handlers for an event or a single handler for multiple events. Callback order is not defined and should assumed to be random.

    The routine handler will be invoked with the following arguments:

    dev_info_t *dip

    Device node requesting the notification.

    ddi_eventcookie_t cookie

    Structure describing event that occurred.

    void *arg

    Opaque data pointer provided, by the driver, during callback registration.

    void *impl_data

    Pointer to event specific data defined by the framework which invokes the callback function.

     

    RETURN VALUES

    DDI_SUCCESS

    Callback handler registered successfully.

    DDI_FAILURE

    Failed to register callback handler. Possible reasons include lack of resources or a bad cookie.

     

    CONTEXT

    The ddi_add_event_handler() and handler() function can be called from user and kernel contexts only.  

    ATTRIBUTES

    See attributes(5) for a description of the following attributes:

    ATTRIBUTE TYPEATTRIBUTE VALUE

    Stability LevelCommitted

     

    SEE ALSO

    attributes(5), ddi_get_eventcookie(9F), ddi_remove_event_handler(9F)

    Writing Device Drivers  

    NOTES

    Drivers must remove all registered callback handlers for a device instance by calling ddi_remove_event_handler(9F) before detach completes.


     

    Index

    NAME
    SYNOPSIS
    INTERFACE LEVEL
    PARAMETERS
    DESCRIPTION
    RETURN VALUES
    CONTEXT
    ATTRIBUTES
    SEE ALSO
    NOTES


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




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

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