DLBINDACK(9F) Kernel Functions for Drivers DLBINDACK(9F)
NAME
dlbindack, dlphysaddrack, dlokack, dlerrorack, dluderrorind - DLPI
device driver helper functions
SYNOPSIS
#include <sys/dlpi.h>
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
illumos DDI specific (illumos 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 messages
allowed to be outstanding per stream.
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 to the 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 successful acknowledgement
DL_OK_ACK message reply to the
DLPI provider and is used to complete
many of the
DLPI requests in the
DLPI consumer.
The
dlerrorack() function provides the unsuccessful acknowledgement
DL_ERROR_ACK message reply to the
DLPI() provider 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 the
DL_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 processing.
The
dluderrorind() function provides the
DL_UDERROR_IND message 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(4D).
CONTEXT
All
DLPI helper functions can be called from user, interrupt, or
kernel context.
SEE ALSO
gld(4D),
dlpi(4P),
qreply(9F) Writing Device Drivers STREAMS Programming Guide April 9, 2016 DLBINDACK(9F)