The OpenNET Project / Index page

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

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

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

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

    NAME

    dlpi_recv - receive a data message using DLPI
     
    

    SYNOPSIS

    cc [ flag ... ] file ... -ldlpi [ library ... ]
    #include <libdlpi.h>
    
    int dlpi_recv(dlpi_handle_t dh, void *saddrp,
        size_t * saddrlenp, void *msgbuf, size_t *msglenp,
        int msec, dlpi_recvinfo_t *recvp);
    

     

    DESCRIPTION

    The dlpi_recv() function attempts to receive data messages over the DLPI link instance associated with the DLPI handle dh. If dh is not in the DL_IDLE DLPI state, the attempt fails. The caller must ensure that msgbuf is at least msglenp bytes in size. Upon success, msgbuf contains the data message received, msglenp contains the number of bytes placed in msgbuf.

    The caller must ensure that saddrp is at least DLPI_PHYSADDR_MAX bytes in size and saddrlenp must contain the length of saddrp. Upon success, saddrp contains the address of the source sending the data message and saddrlenp contains the source address length. If the caller is not interested in the source address, both saddrp and saddrlenp can be left as NULL. If the source address is not available, saddrp is not filled in and saddrlenp is set to zero.

    The dlpi_recvinfo_t is a structure defined in <libdlpi.h> as follows:

    typedef struct {
           uchar_t         dri_destaddr[DLPI_PHYSADDR_MAX];
           uchar_t         dri_destaddrlen;
           dlpi_addrtype_t dri_destaddrtype;
           size_t          dri_totmsglen;
    } dlpi_recvinfo_t;
    

    Upon success, if recvp is not set to NULL, dri_destaddr contains the destination address, dri_destaddrlen contains the destination address length, and dri_totmsglen contains the total length of the message received. If the destination address is unicast, dri_destaddrtype is set to DLPI_ADDRTYPE_UNICAST. Otherwise, it is set to DLPI_ADDRTYPE_GROUP.

    The values of msglenp and dri_totmsglen might vary when a message larger than the size of msgbuf is received. In that case, the caller can use dri_totmsglen to determine the original total length of the message.

    If the handle is in raw mode, as described in dlpi_open(3DLPI), msgbuf starts with the link-layer header. See dlpi(7P). The values of saddrp, saddrlenp, and all the members of dlpi_recvinfo_t except dri_totmsglen are invalid because the address information is already included in the link-layer header returned by msgbuf.

    If no message is received within msec milliseconds, dlpi_recv() returns DLPI_ETIMEDOUT. If msec is 0, dlpi_recv() does not block. If msec is -1, dlpi_recv() does block until a data message is received.  

    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_EBADMSG

    Bad DLPI message

    DLPI_EINHANDLE

    Invalid DLPI handle

    DLPI_EINVAL

    Invalid argument

    DLPI_ETIMEDOUT

    DLPI operation timed out

    DLPI_EUNAVAILSAP

    Unavailable DLPI SAP

    DLPI_FAILURE

    DLPI operation failed

     

    ATTRIBUTES

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

    ATTRIBUTE TYPEATTRIBUTE VALUE

    Interface StabilityCommitted

    MT-Level

     

    SEE ALSO

    dlpi_bind(3DLPI), dlpi_open(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
    Добавить, Поддержать, Вебмастеру