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 SAPATTRIBUTES
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)