1dlbindack(9F)            Kernel Functions for Drivers            dlbindack(9F)
2
3
4

NAME

6       dlbindack,  dlphysaddrack,  dlokack,  dlerrorack,  dluderrorind  - DLPI
7       device driver helper functions
8

SYNOPSIS

10       #include <sys/dlpi.h>
11
12
13
14       void dlokack(queue_t *wq, mblk_t *mp, t_uscalar_t correct_primitive);
15
16
17       void dlerrorack(queue_t *wq, mblk_t *mp, t_uscalar_t error_primitive,
18            t_uscalar_t error, t_uscalar_t unix_errno);
19
20
21       void dlbindack(queue_t *wq, mblk_t *mp, t_scalar_t sap, const void *addrp,
22            t_uscalar_t addrlen, t_uscalar_t maxconind,  t_uscalar_t xidtest);
23
24
25       void dlphysaddrack(queue_t *wq, mblk_t *mp, const void *addrp,
26            t_uscalar_t addrlen);
27
28
29       void dluderrorind(queue_t *wq, mblk_t *mp, const void *addrp,
30            t_uscalar_t addrlen, t_uscalar_t error, t_uscalar_t unix_errno);
31
32

INTERFACE LEVEL

34       Solaris DDI specific (Solaris DDI).
35

PARAMETERS

37       wq                   Streams write queue.
38
39
40       mp                   Pointer to the bind request message.
41
42
43       sap                  Service access point being requested.
44
45
46       addrp                Pointer to the dlpi layer source address.
47
48
49       addrlen              Size of the dlpi layer address pointed to by addr.
50
51
52       maxconind            Maximum number of DL_CONNECT_IND messages  allowed
53                            to be outstanding per stream.
54
55
56       xidtest              The XID and TEST responses supported.
57
58
59       correct_primitive    Identifies  the  DL  primitive completing success‐
60                            fully.
61
62
63       error_primitive      Identifies the DL primitive in error.
64
65
66       error                DLPI error associated with the failure in the DLPI
67                            request.
68
69
70       unix_errno           Corresponding  UNIX system error that can be asso‐
71                            ciated with the failure in the DLPI request.
72
73

DESCRIPTION

75       All functions described in this manpage take a pointer to  the  message
76       passed  to the DLPI provider (mblk_t) and attempt to reuse it in formu‐
77       lating the M_PROTO reply. If the message  block  is  too  small  to  be
78       reused, it is freed and a new one is allocated.
79
80
81       All  functions  reply  upstream  using qreply(9F). The write-side queue
82       pointer must be provided.
83
84
85       The  dlokack()  function  provides  the   successfull   acknowledgement
86       DL_OK_ACK  message  reply  to the DLPI provider and is used to complete
87       many of the DLPI requests in the DLPI consumer.
88
89
90       The dlerrorack() function provides  the  unsuccessfull  acknowledgement
91       DL_ERROR_ACK message reply to the DLPI() provider and is used for error
92       completions were required for DLPI requests in the DLPI consumer.
93
94
95       The dlbindack() function provides the DL_BIND_ACK message reply to  the
96       DLPI provider and is used to complete the DL_BIND_REQ processing in the
97       DLPI consumer.
98
99
100       The dlphysaddrack() function provides  the  ()DL_PHYS_ADDR_ACK  message
101       reply used to complete the DL_PHYS_ADDR_ACK processing.
102
103
104       The  dluderrorind()  function provides the DL_UDERROR_IND message reply
105       used to complete an unsuccessful DL_UNITDATA_REQ.
106

RETURN VALUES

108       None.
109

NOTES

111       These functions are not required if you are are writing a  DLPI  device
112       driver using gld(7D).
113

CONTEXT

115       All DLPI helper functions can be called from user, interrupt, or kernel
116       context.
117

SEE ALSO

119       gld(7D), dlpi(7P), qreply(9F)
120
121
122       Writing Device Drivers
123
124
125       STREAMS Programming Guide
126
127
128
129SunOS 5.11                        16 Jan 2006                    dlbindack(9F)
Impressum