Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

dlpi_send(3dlpi) [opensolaris man page]

dlpi_send(3DLPI)				  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 <libdlpi.h> 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 des- tination address specified by daddrp. The size of msgbuf and daddrp are provided by the msglen and daddrlen arguments, respectively. The attempt will fail if dh is not in the DL_IDLE DLPI state, the address named by daddrp is invalid, daddrlen is larger than DLPI_PHYSADDR_MAX, or msglen is outside the range reported by dlpi_info(3DLPI). If the sendp argument is NULL, data is sent using the bound SAP associated with dh (see dlpi_bind(3DLPI)) and with default priority. Oth- erwise, sendp must point to a dlpi_sendinfo_t structure defined in <libdlpi.h> as follows: typedef struct { 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 using dlpi_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 the link-layer header in msgbuf. If msgbuf is accepted for delivery, no error is returned. However, because only unacknowledged connectionless service (DL_CLDLS) is cur- rently 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 in <sys/dlpi.h> or 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 attributes: +-----------------------------+-----------------------------+ | 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 15 Jul 2008 dlpi_send(3DLPI)

Check Out this Related Man Page

dlpi_recv(3DLPI)				  Data Link Provider Interface Library Functions				  dlpi_recv(3DLPI)

NAME
dlpi_recv - receive a data message using DLPI SYNOPSIS
cc [ flag ... ] file ... -ldlpi [ library ... ] #include <libdlpi.h> int dlpi_recv(dlpi_handle_t dh, void *saddrp, size_t * saddrlenp, void *msgbuf, size_t *msglenp, int msec, dlpi_recvinfo_t *recvp); DESCRIPTION
The dlpi_recv() function attempts to receive data messages over the DLPI link instance associated with the DLPI handle dh. If dh is not in the DL_IDLE DLPI state, the attempt fails. The caller must ensure that msgbuf is at least msglenp bytes in size. Upon success, msgbuf con- tains the data message received, msglenp contains the number of bytes placed in msgbuf. The caller must ensure that saddrp is at least DLPI_PHYSADDR_MAX bytes in size and saddrlenp must contain the length of saddrp. Upon suc- cess, saddrp contains the address of the source sending the data message and saddrlenp contains the source address length. If the caller is not interested in the source address, both saddrp and saddrlenp can be left as NULL. If the source address is not available, saddrp is not filled in and saddrlenp is set to zero. The dlpi_recvinfo_t is a structure defined in <libdlpi.h> as follows: typedef struct { uchar_t dri_destaddr[DLPI_PHYSADDR_MAX]; uchar_t dri_destaddrlen; dlpi_addrtype_t dri_destaddrtype; size_t dri_totmsglen; } dlpi_recvinfo_t; Upon success, if recvp is not set to NULL, dri_destaddr contains the destination address, dri_destaddrlen contains the destination address length, and dri_totmsglen contains the total length of the message received. If the destination address is unicast, dri_destaddrtype is set to DLPI_ADDRTYPE_UNICAST. Otherwise, it is set to DLPI_ADDRTYPE_GROUP. The values of msglenp and dri_totmsglen might vary when a message larger than the size of msgbuf is received. In that case, the caller can use dri_totmsglen to determine the original total length of the message. If the handle is in raw mode, as described in dlpi_open(3DLPI), msgbuf starts with the link-layer header. See dlpi(7P). The values of sad- drp, saddrlenp, and all the members of dlpi_recvinfo_t except dri_totmsglen are invalid because the address information is already included in the link-layer header returned by msgbuf. If no message is received within msec milliseconds, dlpi_recv() returns DLPI_ETIMEDOUT. If msec is 0, dlpi_recv() does not block. If msec is -1, dlpi_recv() does block until a data message is received. 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_EINVAL Invalid argument DLPI_ETIMEDOUT DLPI operation timed out DLPI_EUNAVAILSAP Unavailable DLPI SAP DLPI_FAILURE DLPI operation failed ATTRIBUTES
See attributes(5) for description of the following attributes: +-----------------------------+-----------------------------+ | ATTRIBUTE TYPE | ATTRIBUTE VALUE | +-----------------------------+-----------------------------+ |Interface Stability |Committed | +-----------------------------+-----------------------------+ |MT-Level |Safe | +-----------------------------+-----------------------------+ SEE ALSO
dlpi_bind(3DLPI), dlpi_open(3DLPI), libdlpi(3LIB), attributes(5), dlpi(7P) SunOS 5.11 22 Aug 2007 dlpi_recv(3DLPI)
Man Page