Copyright (c) 2007, Sun Microsystems, Inc. All Rights Reserved
The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
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.
Bad DLPI message
Invalid DLPI handle
DLPI operation timed out
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)