DLPI_BIND(3DLPI) Data Link Provider Interface Library Functions
dlpi_bind - bind DLPI handle
cc [ flag ... ] file ... -ldlpi [ library ... ]
#include <libdlpi.h>
int dlpi_bind(dlpi_handle_t dh, uint_t sap, uint_t *boundsap);
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).
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.
DLPI_EBADMSG
Bad DLPI message
DLPI_EINHANDLE
Invalid DLPI handle
DLPI_ETIMEDOUT
DLPI operation timed out
DLPI_EUNAVAILSAP
Unavailable DLPI SAP
See attributes(7) for description of the following attributes:
+--------------------+-----------------+
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
+--------------------+-----------------+
|Interface Stability | Committed |
+--------------------+-----------------+
|MT-Level | Safe |
+--------------------+-----------------+
dlpi_info(3DLPI), dlpi_recv(3DLPI), dlpi_send(3DLPI),
dlpi_unbind(3DLPI), libdlpi(3LIB), attributes(7)
August 22, 2007 DLPI_BIND(3DLPI)
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)