MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


Data Link Provider Interface Library Functions   dlpiopen(3DLPI)



NAME
     dlpiopen - open DLPI link

SYNOPSIS
     cc [ flag ... ] file ... -ldlpi [ library ... ]
     #include 

     int dlpiopen(const char *linkname, dlpihandlet *dhp,
          uintt flags);


DESCRIPTION
     The dlpiopen() function creates an  open  instance  of  the
     DLPI Version 2 link named by linkname and associates it with
     a dynamically-allocated dlpihandlet, which is returned  to
     the  caller  in dhp upon success. The DLPI handle is left in
     the DLUNBOUND 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 DLSTYLE1 and DLSTYLE2
     DLPI links.


     By default (if DLPIDEVIPNET  is  not  set  in  flags),  the
     dlpiopen() function scans the /dev/net and /dev directories
     for DLPI links, in order.  Within  each  scanned  directory,
     dlpiopen()  first looks for a matching DLSTYLE1 link, then
     for a matching DLSTYLE2 link. If provider is considered the
     linkname  with  its  trailing  digits  removed,  a  matching
     DLSTYLE1 link has a filename of linkname,  and  a  matching
     DLSTYLE2  link  has  a filename of provider. If a DLSTYLE2
     link  is  opened,  dlpiopen()  automatically  performs  the
     necessary  DLPI  operations  to place the DLPI link instance
     and the associated DLPI handle in the DLUNBOUND state.  See
     dlpi(7P) for the definition of linkname.


     If DLPIDEVIPNET is set in flags, dlpiopen() opens the file
     linkname  in  /dev/ipnet as a DLSTYLE1 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 .

     DLPIDEVIPNET     Specify that the named DLPI device  is  an
                       IP  observability  device (see ipnet(7D)),
                       and dlopen() will open  the  device  from
                       the /dev/ipnet/ directory.






SunOS 5.11          Last change: 17 Nov 2008                    1






Data Link Provider Interface Library Functions   dlpiopen(3DLPI)



     DLPIPNETINFO    This flag is applicable only when  opening
                       IP     Observability     devices     (with
                       DLPIDEVIPNET 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(7D) for the
                       contents of this header.


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


     DLPIPASIVE      Enable    DLPI    passive    mode     (see
                       DLPASIVEREQ in dlpi(7P)) on a DLPI link
                       instance. Passive mode persists until  the
                       DLPI      handle      is     closed     by
                       dlpiclose(3DLPI).


     DLPIRAW          Enable DLPI  raw  mode  (see  DLIOCRAW  in
                       dlpi(7P))  on  a  DLPI  link instance. Raw
                       mode persists until  the  DLPI  handle  is
                       closed by dlpiclose(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  DLPIETIMEDOUT  is
     returned from a libdlpi operation only in the event that the
     DLPI link becomes unresponsive. The  timeout  value  can  be
     changed  with  dlpisettimeout(3DLPI), although this should
     seldom be necessary.

RETURN VALUES
     Upon success, DLPISUCES  is  returned.  If  DLSYSER  is
     returned,  errno  contains  the  specific  UNIX system error
     value. Otherwise, a DLPI error value defined in 
     or listed in the following section is returned.

ERORS
     The dlpiopen() function will fail if:

     DLPIEBADLINK            Bad DLPI link


     DLPIEIPNETINFONOTSUP    The DLPIPNETINFO flag was set but
                              the  device opened does not support
                              the DLIOCIPNETINFO ioctl.



SunOS 5.11          Last change: 17 Nov 2008                    2






Data Link Provider Interface Library Functions   dlpiopen(3DLPI)



     DLPIELINKNAMEINVAL      Invalid DLPI linkname


     DLPIENOLINK             DLPI link does not exist


     DLPIERAWNOTSUP          DLPI raw mode not supported


     DLPIETIMEDOUT           DLPI operation timed out


     DLPIFAILURE             DLPI operation failed


ATRIBUTES
     See attributes(5) for description of  the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Interface Stability          Committed                   
    
     MT-Level                     Safe                        
    


SEE ALSO
     dlpiclose(3DLPI),  dlpisettimeout(3DLPI),  libdlpi(3LIB),
     attributes(5), dlpi(7P), ipnet(7D)






















SunOS 5.11          Last change: 17 Nov 2008                    3



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™