The OpenNET Project / Index page

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

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

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

dlpi_enabnotify (3)
  • >> dlpi_enabnotify (3) ( Solaris man: Библиотечные вызовы )
  •  

    NAME

    dlpi_enabnotify - enable DLPI notification
     
    

    SYNOPSIS

    cc [ flag... ] file... -ldlpi [ library... ]
    #include <libdlpi.h>
    
    int dlpi_enabnotify(dlpi_handle_t dh, uint_t notes,
        dlpi_notifyfunc_t *funcp, void *arg, dlpi_notifyid_t *id);
    

    typedef void dlpi_notifyfunc_t(dlpi_handle_t,
        dlpi_notifyinfo_t *, void *);
    

     

    DESCRIPTION

    The dlpi_enabnotify() function enables a notification callback for the set of events specified in notes, which must be one or more (by a logical OR operation) of the DLPI notifications documented in dlpi(7P). The DLPI handle dh must be in the DL_IDLE DLPI state for this operation to succeed. The callback function funcp is registered with the DLPI handle dh and is invoked when dh receives notification for any of the specified event types. Upon success, id contains the identifier associated with the registration.

    Multiple event types can be registered for a callback function on the DLPI handle dh. Similarly, the same event type can be registered multiple times on the same handle.

    Once a callback has been registered, libdlpi will check for notification events on the DLPI handle dh, when exchanging DLPI messages with the underlying DLPI link instance. The dlpi_recv(3DLPI) function will always check for notification events, but other libdlpi operations may also lead to an event callback being invoked. Although there may be no expected data messages to be received, dlpi_recv() can be called, as shown below, with a null buffer to force a check for pending events on the underlying DLPI link instance.

    dlpi_recv(dh, NULL, NULL, NULL, NULL, 0, NULL);
    

    When a notification event of interest occurs, the callback function is invoked with the arguments arg, originally passed to dlpi_disabnotify(3DLPI), and infop, whose members are described below.

    uint_t dni_note

    Notification event type.

    uint_t dni_speed

    Current speed, in kilobits per second, of the DLPI link. Valid only for DL_NOTE_SPEED.

    uint_t dni_size

    Current maximum message size, in bytes, that the DLPI link is able to accept for transmission. Valid only for DL_NOTE_SDU_SIZE.

    uchar_t dni_physaddrlen

    Link-layer physical address length, in bytes. Valid only for DL_NOTE_PHYS_ADDR.

    uchar_t dni_physaddr[]

    Link-layer physical address of DLPI link. Valid only for DL_NOTE_PHYS_ADDR.

    The libdlpi library will allocate and free the dlpi_notifyinfo_t structure and the caller must not allocate the structure or perform any operations that require its size to be known.

    The callback is not allowed to block. This precludes calling dlpi_enabnotify() from a callback, but non-blocking libdlpi functions, including dlpi_disabnotify(), can be called.  

    RETURN VALUES

    Upon success, DLPI_SUCCESS is returned. If DL_SYSERR is returned, errno contains the specific UNIX system error value. Otherwise, a DLPI error value defined in <sys/dlpi.h> or an error value listed in the following section is returned.  

    ERRORS

    DLPI_EINHANDLE

    A DLPI handle is invalid.

    DLPI_EINVAL

    An argument is invalid.

    DLPI_ENOTEIDINVAL

    The DLPI notification ID is invalid.

    DLPI_ENOTENOTSUP

    The DLPI notification is not supported by the link.

    DLPI_ETIMEDOUT

    The DLPI operation timed out.

    DLPI_FAILURE

    The DLPI operation failed.

     

    ATTRIBUTES

    See attributes(5) for descriptions of the following attributes:

    ATTRIBUTE TYPEATTRIBUTE VALUE

    Interface StabilityCommitted

    MT-Level

     

    SEE ALSO

    dlpi_disabnotify(3DLPI), dlpi_recv(3DLPI), libdlpi(3LIB), attributes(5), dlpi(7P)


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    ERRORS
    ATTRIBUTES
    SEE ALSO


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




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

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