Data Link Provider Interface Library Functions dlpi_send(3DLPI)
NAME
dlpi_send - send a data message using DLPI
SYNOPSIS
cc [ flag... ] file... -ldlpi [ library... ]
#include
int dlpi_send(dlpi_handle_t dh, const void *daddrp,
size_t daddrlen, const void *msgbuf, size_t msglen,
const dlpi_sendinfo_t *sendp);
DESCRIPTION
The dlpi_send() function attempts to send the contents of
msgbuf over the DLPI link instance associated with the DLPI handle dh to the destination address specified by daddrp. The size of msgbuf and daddrp are provided by the msglen and daddrlen arguments, respectively. The attempt will failif dh is not in the DL_IDLE DLPI state, the address named by
daddrp is invalid, daddrlen is larger thanDLPI_PHYSADDR_MAX, or msglen is outside the range reported
by dlpi_info(3DLPI).
If the sendp argument is NULL, data is sent using the boundSAP associated with dh (see dlpi_bind(3DLPI)) and with
default priority. Otherwise, sendp must point to adlpi_sendinfo_t structure defined in
typedef struct {as follows: uint_t dsi_sap;
dl_priority_t dsi_prio;
} dlpi_sendinfo_t;
The dsi_sap value indicates the SAP to use for the message
and the dsi_prio argument indicates the priority. The
priority range spans from 0 to 100, with 0 being the highest priority. If one wishes to only alter the SAP or priority (but not both), the current SAP can be retrieved usingdlpi_info(3DLPI), and the default priority can be specified
by using the DL_QOS_DONT_CARE constant.
If the handle is in raw mode (see DLPI_RAW in
dlpi_open(3DLPI)), msgbuf must start with the link-layer
header (see dlpi(7P)). In raw mode, the contents of daddrp and sendp are ignored, as they are already specified by thelink-layer header in msgbuf.
SunOS 5.11 Last change: 15 Jul 2008 1
Data Link Provider Interface Library Functions dlpi_send(3DLPI)
If msgbuf is accepted for delivery, no error is returned. However, because only unacknowledged connectionless service(DL_CLDLS) is currently supported, a successful return does
not guarantee that the data will be successfully delivered to daddrp.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 inor an error value listed in the following section is returned. ERRORS
DLPI_EINHANDLE Invalid DLPI handle
DLPI_EINVAL Invalid argument
ATTRIBUTES
See attributes(5) for description of the following attri-
butes:____________________________________________________________
| ATTRIBUTE TYPE | ATTRIBUTE VALUE |
|_____________________________|_____________________________|
| Interface Stability | Committed ||_____________________________|_____________________________|
| MT-Level | Safe |
|_____________________________|_____________________________|
SEE ALSO
dlpi_bind(3DLPI), dlpi_info(3DLPI), dlpi_open(3DLPI),
libdlpi(3LIB), attributes(5), dlpi(7P)SunOS 5.11 Last change: 15 Jul 2008 2