1dlbindack(9F) Kernel Functions for Drivers dlbindack(9F)
2
3
4
6 dlbindack, dlphysaddrack, dlokack, dlerrorack, dluderrorind - DLPI
7 device driver helper functions
8
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
34 Solaris DDI specific (Solaris DDI).
35
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
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
108 None.
109
111 These functions are not required if you are are writing a DLPI device
112 driver using gld(7D).
113
115 All DLPI helper functions can be called from user, interrupt, or kernel
116 context.
117
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)