dlpi_open(3dlpi) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

dlpi_open(3dlpi)

Data Link Provider Interface Library Functions                dlpi_open(3DLPI)



NAME
       dlpi_open - open DLPI link

SYNOPSIS
       cc [ flag ... ] file ... -ldlpi [ library ... ]
       #include <libdlpi.h>

       int dlpi_open(const char *linkname, dlpi_handle_t *dhp,
            uint_t flags);

DESCRIPTION
       The dlpi_open() function creates an open instance of the DLPI Version 2
       link named by linkname and associates it with  a  dynamically-allocated
       dlpi_handle_t, which is returned to the caller in dhp upon success. The
       DLPI handle is left in the DL_UNBOUND  DLPI state  after  a  successful
       open  of the DLPI link. The DLPI handles can only be used by one thread
       at a time, but multiple handles can be used by multiple  threads.  This
       function can open both DL_STYLE1 and DL_STYLE2  DLPI links.


       By  default  (if  DLPI_DEVIPNET  is  not set in flags), the dlpi_open()
       function scans the /dev/net and /dev directories  for  DLPI  links,  in
       order.  Within  each  scanned  directory, dlpi_open() first looks for a
       matching DL_STYLE1  link,  then  for  a  matching  DL_STYLE2  link.  If
       provider is considered the linkname with its trailing digits removed, a
       matching DL_STYLE1 link has a filename  of  linkname,  and  a  matching
       DL_STYLE2  link  has  a  filename  of  provider. If a DL_STYLE2 link is
       opened, dlpi_open() automatically performs the  necessary  DLPI  opera‐
       tions to place the DLPI link instance and the associated DLPI handle in
       the DL_UNBOUND state. See dlpi(4P) for the definition of  linkname  and
       the maximum supported length of the Solaris DLPI linkname.


       If  DLPI_DEVIPNET  is set in flags, dlpi_open() opens the file linkname
       in /dev/ipnet as a DL_STYLE1 DLPI device and does not look in any other
       directories.


       The  value  of  flags  is  constructed by a bitwise-inclusive-OR of the
       flags listed below, defined in <libdlpi.h>.

       DLPI_DEVIPNET     Specify that the named DLPI device is an  IP  observ‐
                         ability  device  (see  ipnet(4D)), and dl_open() will
                         open the device from the /dev/ipnet/ directory.


       DLPI_IPNETINFO    This flag is applicable only when opening IP  Observ‐
                         ability devices (with DLPI_DEVIPNET or by opening the
                         /dev/lo0 device). This flag causes the  ipnet  driver
                         to  prepend  an  ipnet  header  to  each  received IP
                         packet.  See  ipnet(4D)  for  the  contents  of  this
                         header.


       DLPI_NATIVE       Enable DLPI native mode (see DLIOCNATIVE in dlpi(4P))
                         on a DLPI link instance. Native mode  persists  until
                         the DLPI handle is closed by dlpi_close(3DLPI).


       DLPI_PASSIVE      Enable  DLPI  passive  mode  (see  DL_PASSIVE_REQ  in
                         dlpi(4P)) on a DLPI link instance. Passive mode  per‐
                         sists   until   the   DLPI   handle   is   closed  by
                         dlpi_close(3DLPI).


       DLPI_RAW          Enable DLPI raw mode (see DLIOCRAW in dlpi(4P)) on  a
                         DLPI  link instance. Raw mode persists until the DLPI
                         handle is closed by dlpi_close(3DLPI).



       Each DLPI handle has an associated timeout value  that  is  used  as  a
       timeout  interval  for  certain libdlpi operations. The default timeout
       value ensures that DLPI_ETIMEDOUT is returned from a libdlpi  operation
       only  in the event that the DLPI link becomes unresponsive. The timeout
       value can be changed with dlpi_set_timeout(3DLPI), although this should
       seldom be necessary.

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 listed in the following section is
       returned.

ERRORS
       The dlpi_open() function will fail if:

       DLPI_EBADLINK            Bad DLPI link


       DLPI_EIPNETINFONOTSUP    The DLPI_IPNETINFO flag was set but the device
                                opened  does  not  support  the DLIOCIPNETINFO
                                ioctl.


       DLPI_ELINKNAMEINVAL      Invalid DLPI  linkname


       DLPI_ENOLINK             DLPI link does not exist


       DLPI_ERAWNOTSUP          DLPI raw mode not supported


       DLPI_ETIMEDOUT           DLPI operation timed out


       DLPI_FAILURE             DLPI operation failed


ATTRIBUTES
       See attributes(7) for description of the following attributes:


       tab() box; lw(2.75i) |lw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ Interface StabilityCommitted _ MT-LevelSafe


SEE ALSO
       dlpi_close(3DLPI),  dlpi_set_timeout(3DLPI),  libdlpi(3LIB), ipnet(4D),
       dlpi(4P), attributes(7)



Oracle Solaris 11.4               7 Apr 2011                  dlpi_open(3DLPI)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3