DLPI_BIND(3DLPI) Data Link Provider Interface Library Functions

NAME


dlpi_bind - bind DLPI handle

SYNOPSIS


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

int dlpi_bind(dlpi_handle_t dh, uint_t sap, uint_t *boundsap);


DESCRIPTION


The dlpi_bind() function attempts to bind the DLPI handle dh to the SAP
sap. The handle must be in the DL_UNBOUND DLPI state and will transition
to the DL_IDLE DLPI state upon success. Some DLPI MAC types can bind to a
different SAP than the SAP requested, in which case boundsap returns the
actual bound SAP. If boundsap is set to NULL, dlpi_bind() fails if the
bound SAP does not match the requested SAP. If the caller does not care
which SAP is chosen, DLPI_ANY_SAP can be specified for sap. This is
primarily useful in conjunction with dlpi_promiscon() and DL_PROMISC_SAP
to receive traffic from all SAPs. If DLPI_ANY_SAP is specified, any
transmitted messages must explicitly specify a SAP using
dlpi_send(3DLPI).


Upon success, the caller can use dlpi_recv(3DLPI) to receive data
matching the bound SAP that is sent to the DLPI link associated with dh.
In addition, the caller can use dlpi_send(3DLPI) to send data over the
bound SAP address associated with DLPI handle dh. The physical address of
the bound handle can be retrieved with dlpi_info(3DLPI).

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_ETIMEDOUT
DLPI operation timed out


DLPI_EUNAVAILSAP
Unavailable DLPI SAP


ATTRIBUTES


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


+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+

SEE ALSO


dlpi_info(3DLPI), dlpi_recv(3DLPI), dlpi_send(3DLPI), dlpi_unbind(3DLPI),
libdlpi(3LIB), attributes(7)

August 22, 2007 DLPI_BIND(3DLPI)