xref: /illumos-gate/usr/src/man/man3dlpi/dlpi_bind.3dlpi (revision 6dde88b51419b99fe0aab8e56184c693945826b8)
te
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]
DLPI_BIND 3DLPI "Aug 22, 2007"
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)