The OpenNET Project / Index page

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

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

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

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

    NAME

    dlpi_info - get DLPI information
     
    

    SYNOPSIS

    cc [ flag ... ] file ... -ldlpi [ library ... ]
    #include <libdlpi.h>
    
    int dlpi_info(dlpi_handle_t dh, dlpi_info_t *infop, 
        uint_t opt);
    

     

    DESCRIPTION

    The dlpi_info() function provides DLPI information about the open DLPI link instance associated with DLPI handle dh. DLPI information can be retrieved in any state of dh, but some of the information might not be available if dh is in the DL_UNBOUND DLPI state. The DLPI information received is copied into infop, which must point to a dlpi_info_t allocated by the caller. The opt argument is reserved for future use and must be set to 0.

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

    typedef struct {
        uint_t                  di_opts;
        uint_t                  di_max_sdu;
        uint_t                  di_min_sdu;
        uint_t                  di_state;
        uchar_t                 di_mactype;
        char                    di_linkname[DLPI_LINKNAME_MAX];  
        uchar_t                 di_physaddr[DLPI_PHYSADDR_MAX];
        uchar_t                 di_physaddrlen;
        uchar_t                 di_bcastaddr[DLPI_PHYSADDR_MAX];
        uchar_t                 di_bcastaddrlen;
        uint_t                  di_sap;
        int                     di_timeout;
        dl_qos_cl_sel1_t        di_qos_sel;
        dl_qos_cl_range1_t      di_qos_range;
    } dlpi_info_t;
    

    di_opts

    Reserved for future dlpi_info_t expansion.

    di_max_sdu

    Maximum message size, in bytes, that the DLPI link is able to accept for transmission. The value is guaranteed to be greater than or equal to di_min_sdu.

    di_min_sdu

    Minimum message size, in bytes, that the DLPI link is able to accept for transmission. The value is guaranteed to be greater than or equal to one.

    di_state

    Current DLPI state of dh; either DL_UNBOUND or DL_IDLE.

    di_mactype

    MAC type supported by the DLPI link associated with dh. See <sys/dlpi.h> for the list of possible MAC types.

    di_linkname

    Link name associated with DLPI handle dh.

    di_physaddr

    Link-layer physical address of bound dh. If dh is in the DL_UNBOUND DLPI state, the contents of di_physaddr are unspecified.

    di_physaddrlen

    Physical address length, in bytes. If dh is in the DL_UNBOUND DLPI state, di_physaddrlen is set to zero.

    di_bcastaddr

    Link-layer broadcast address. If the di_mactype of the DLPI link does not support broadcast, the contents of di_bcastaddr are unspecified.

    di_bcastaddrlen

    Link-layer broadcast address length, in bytes. If the di_mactype of the DLPI link does not support broadcast, di_bcastaddrlen is set to zero.

    di_sap

    SAP currently bound to handle. If dh is in the DL_UNBOUND DLPI state, di_sap is set to zero.

    di_timeout

    Current timeout value, in seconds, set on the dlpi handle.

    di_qos_sel

    Current QOS parameters supported by the DLPI link instance associated with dh. Unsupported QOS parameters are set to DL_UNKNOWN.

    di_qos_range

    Available range of QOS parameters supported by a DLPI link instance associated with the DLPI handle dh. Unsupported QOS range values are set to DL_UNKNOWN.

     

    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_EMODENOTSUP

    Unsupported DLPI connection mode

    DLPI_ETIMEDOUT

    DLPI operation timed out

    DLPI_EVERNOTSUP

    Unsupported DLPI Version

    DLPI_FAILURE

    DLPI operation failed

     

    EXAMPLES

    Example 1 Get link-layer broadcast address

    The following example shows how dlpi_info() can be used.

    #include <libdlpi.h>
    
    uchar_t *
    get_bcastaddr(const char *linkname, uchar_t *baddrlenp)
    {
           dlpi_handle_t   dh;
           dlpi_info_t     dlinfo;
           uchar_t         *baddr;
    
           if (dlpi_open(linkname, &dh, 0) != DLPI_SUCCESS)
                   return (NULL);
    
           if (dlpi_info(dh, &dlinfo, 0) != DLPI_SUCCESS) {
                   dlpi_close(dh);
                   return (NULL);
           }
           dlpi_close(dh);            
    
           *baddrlenp = dlinfo.di_bcastaddrlen;
           if ((baddr = malloc(*baddrlenp)) == NULL)
                   return (NULL);
    
           return (memcpy(baddr, dlinfo.di_bcastaddr, *baddrlenp));
    }
    

     

    ATTRIBUTES

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

    ATTRIBUTE TYPEATTRIBUTE VALUE

    Interface StabilityCommitted

    MT-Level

     

    SEE ALSO

    dlpi_bind(3DLPI), libdlpi(3LIB), attributes(5)


     

    Index

    NAME
    SYNOPSIS
    DESCRIPTION
    RETURN VALUES
    ERRORS
    EXAMPLES
    ATTRIBUTES
    SEE ALSO


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




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

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