Kernel Functions for Drivers dlbindack(9F)
NAME
dlbindack, dlphysaddrack, dlokack, dlerrorack, dluderrorind
- DLPI device driver helper functions
SYNOPSIS
#include
void dlokack(queue_t *wq, mblk_t *mp, t_uscalar_t correct_primitive);
void dlerrorack(queue_t *wq, mblk_t *mp, t_uscalar_t error_primitive,
t_uscalar_t error, t_uscalar_t unix_errno);
void dlbindack(queue_t *wq, mblk_t *mp, t_scalar_t sap, const void *addrp,
t_uscalar_t addrlen, t_uscalar_t maxconind, t_uscalar_t xidtest);
void dlphysaddrack(queue_t *wq, mblk_t *mp, const void *addrp,
t_uscalar_t addrlen);
void dluderrorind(queue_t *wq, mblk_t *mp, const void *addrp,
t_uscalar_t addrlen, t_uscalar_t error, t_uscalar_t unix_errno);
INTERFACE LEVEL
Solaris DDI specific (Solaris DDI).PARAMETERS
wq Streams write queue. mp Pointer to the bind request message. sap Service access point being requested. addrp Pointer to the dlpi layer source address. addrlen Size of the dlpi layer address pointed to by addr.maxconind Maximum number of DL_CONNECT_IND mes-
sages allowed to be outstanding per stream.SunOS 5.11 Last change: 16 Jan 2006 1
Kernel Functions for Drivers dlbindack(9F)
xidtest The XID and TEST responses supported.correct_primitive Identifies the DL primitive completing
successfully.error_primitive Identifies the DL primitive in error.
error DLPI error associated with the failure in the DLPI request.unix_errno Corresponding UNIX system error that
can be associated with the failure in the DLPI request.DESCRIPTION
All functions described in this manpage take a pointer tothe message passed to the DLPI provider (mblk_t) and attempt
to reuse it in formulating the M_PROTO reply. If the message
block is too small to be reused, it is freed and a new one is allocated.All functions reply upstream using qreply(9F). The write-
side queue pointer must be provided.The dlokack() function provides the successfull acknowledge-
ment DL_OK_ACK message reply to the DLPI provider and is
used to complete many of the DLPI requests in the DLPI con-
sumer.The dlerrorack() function provides the unsuccessfull ack-
nowledgement DL_ERROR_ACK message reply to the DLPI() pro-
vider and is used for error completions were required for DLPI requests in the DLPI consumer.The dlbindack() function provides the DL_BIND_ACK message
reply to the DLPI provider and is used to complete theDL_BIND_REQ processing in the DLPI consumer.
The dlphysaddrack() function provides the ()DL_PHYS_ADDR_ACK
message reply used to complete the DL_PHYS_ADDR_ACK process-
ing.SunOS 5.11 Last change: 16 Jan 2006 2
Kernel Functions for Drivers dlbindack(9F)
The dluderrorind() function provides the DL_UDERROR_IND mes-
sage reply used to complete an unsuccessful DL_UNITDATA_REQ.
RETURN VALUES
None. NOTES These functions are not required if you are are writing a DLPI device driver using gld(7D).CONTEXT
All DLPI helper functions can be called from user, inter-
rupt, or kernel context.SEE ALSO
gld(7D), dlpi(7P), qreply(9F) Writing Device Drivers STREAMS Programming GuideSunOS 5.11 Last change: 16 Jan 2006 3