svcadm(8)을 검색하려면 섹션에서 8 을 선택하고, 맨 페이지 이름에 svcadm을 입력하고 검색을 누른다.
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)