1 '\" te
2 .\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
3 .\" Copyright (c) 2005, Sun Microsystems, Inc., All Rights Reserved
4 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
5 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
6 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
7 .TH INTRO 9F "Feb 06, 2012"
8 .SH NAME
9 Intro, intro \- introduction to DDI/DKI functions
10 .SH DESCRIPTION
11 .sp
12 .LP
13 Section 9F describes the kernel functions available for use by device drivers.
14 See \fBIntro\fR(9E) for an overview of device driver interfaces.
15 .sp
16 .LP
17 In this section, the information for each driver function is organized under
18 the following headings:
19 .RS +4
20 .TP
21 .ie t \(bu
22 .el o
23 \fBNAME\fR summarizes the function's purpose.
24 .RE
25 .RS +4
26 .TP
27 .ie t \(bu
28 .el o
29 \fBSYNOPSIS\fR shows the syntax of the function's entry point in the source
30 code. \fB#include\fR directives are shown for required headers.
31 .RE
32 .RS +4
33 .TP
34 .ie t \(bu
35 .el o
36 \fBINTERFACE\fR \fBLEVEL\fR describes any architecture dependencies.
37 .RE
38 .RS +4
39 .TP
40 .ie t \(bu
41 .el o
42 \fBARGUMENTS\fR describes any arguments required to invoke the function.
43 .RE
44 .RS +4
45 .TP
46 .ie t \(bu
47 .el o
48 \fBDESCRIPTION\fR describes general information about the function.
49 .RE
50 .RS +4
51 .TP
52 .ie t \(bu
53 .el o
54 \fBRETURN\fR \fBVALUES\fR describes the return values and messages that can
55 result from invoking the function.
56 .RE
57 .RS +4
58 .TP
59 .ie t \(bu
60 .el o
61 \fBCONTEXT\fR indicates from which driver context (user, kernel, interrupt, or
62 high-level interrupt) the function can be called.
63 .RE
64 .RS +4
65 .TP
66 .ie t \(bu
67 .el o
68 A driver function has \fIuser context\fR if it was directly invoked because of
69 a user thread. The \fBread\fR(9E) entry point of the driver, invoked by a
70 \fBread\fR(2) system call, has user context.
71 .RE
72 .RS +4
73 .TP
74 .ie t \(bu
75 .el o
76 A driver function has \fIkernel context\fR if was invoked by some other part of
77 the kernel. In a block device driver, the \fBstrategy\fR(9E) entry point may be
78 called by the page daemon to write pages to the device. The page daemon has no
79 relation to the current user thread, so in this case \fBstrategy\fR(9E) has
80 kernel context.
81 .RE
82 .RS +4
83 .TP
84 .ie t \(bu
85 .el o
86 \fIInterrupt context\fR is kernel context, but also has an interrupt level
87 associated with it. Driver interrupt routines have interrupt context.
88 .sp
89 Note that a mutex acquired in user or kernel context that can also be acquired
90 in interrupt context means that the user or kernel context thread holding that
91 mutex is subject to all the restrictions imposed by interrupt context, for the
92 duration of the ownership of that mutex. Please see the \fBmutex\fR(9F) man
93 page for a more complete discussion of proper mutex handling for drivers.
94 .RE
95 .RS +4
96 .TP
97 .ie t \(bu
98 .el o
99 \fIHigh-level interrupt context\fR is a more restricted form of interrupt
100 context. If a driver interrupt priority returned from
101 \fBddi_intr_get_pri\fR(9F) is greater than the priority returned from
102 \fBddi_intr_get_hilevel_pri\fR(9F) this indicates the interrupt handler will
103 run in high-level interrupt context. These interrupt routines are only allowed
104 to call \fBddi_intr_trigger_softint\fR(9F), \fBmutex_enter\fR(9F), and
105 \fBmutex_exit\fR(9F). Furthermore, \fBmutex_enter\fR(9F) and
106 \fBmutex_exit\fR(9F) may only be called on mutexes initialized with the
107 interrupt priority returned by \fBddi_intr_get_pri\fR(9F).
108 .RE
109 .RS +4
110 .TP
111 .ie t \(bu
112 .el o
113 \fBSEE ALSO\fR indicates functions that are related by usage and sources, and
114 which can be referred to for further information.
115 .RE
116 .RS +4
117 .TP
118 .ie t \(bu
119 .el o
120 \fBEXAMPLES\fR shows how the function can be used in driver code.
121 .RE
122 .sp
123 .LP
124 Every driver MUST include <\fBsys/ddi.h\fR> and <\fBsys/sunddi.h\fR>, in that
125 order, and as the last files the driver includes.
126 .SH STREAMS KERNEL FUNCTION SUMMARY
127 .sp
128 .LP
129 The following table summarizes the STREAMS functions described in this section.
130 .sp
131
132 .sp
133 .TS
134 c c
135 l l .
136 Routine Type
137 _
138 \fBadjmsg\fR DDI/DKI
139 \fBallocb\fR DDI/DKI
140 \fBallocb_tmpl\fR Solaris DDI
141 \fBbackq\fR DDI/DKI
142 \fBbcanput\fR DDI/DKI
143 \fBbcanputnext\fR DDI/DKI
144 \fBbufcall\fR DDI/DKI
145 \fBcanput\fR DDI/DKI
146 \fBcanputnext\fR DDI/DKI
147 \fBclrbuf\fR DDI/DKI
148 \fBcopyb\fR DDI/DKI
149 \fBcopymsg\fR DDI/DKI
150 \fBDB_BASE\fR Solaris DDI
151 \fBDB_LIM\fR Solaris DDI
152 \fBDB_REF\fR Solaris DDI
153 \fBDB_TYPE\fR Solaris DDI
154 \fBdatamsg\fR DDI/DKI
155 \fBdupb\fR DDI/DKI
156 \fBdupmsg\fR DDI/DKI
157 \fBenableok\fR DDI/DKI
158 \fBesballoc\fR DDI/DKI
159 \fBesbbcall\fR DDI/DKI
160 \fBflushband\fR DDI/DKI
161 \fBflushq\fR DDI/DKI
162 \fBfreeb\fR DDI/DKI
163 \fBfreemsg\fR DDI/DKI
164 \fBfreezestr\fR DDI/DKI
165 \fBgetq\fR DDI/DKI
166 \fBIOC_CONVER_FROM\fR Solaris DDI
167 \fBinsq\fR DDI/DKI
168 \fBlinkb\fR DDI/DKI
169 \fBMBLKHEAD\fR Solaris DDI
170 \fBMBLKIN\fR Solaris DDI
171 \fBMBLKL\fR Solaris DDI
172 \fBMBLKSIZE\fR Solaris DDI
173 \fBMBLKTAIL\fR Solaris DDI
174 \fBmcopyin\fR Solaris DDI
175 \fBmcopymsg\fR Solaris DDI
176 \fBmcopyout\fR Solaris DDI
177 \fBmerror\fR Solaris DDI
178 \fBmexchange\fR Solaris DDI
179 \fBmioc2ack\fR Solaris DDI
180 \fBmiocack\fR Solaris DDI
181 \fBmexchange\fR Solaris DDI
182 \fBmiocpullup\fR Solaris DDI
183 \fBmkiocb\fR Solaris DDI
184 \fBmsgdsize\fR DDI/DKI
185 \fBmsgpullup\fR DDI/DKI
186 \fBmsgsize\fR Solaris DDI
187 \fBmt-streams\fR Solaris DDI
188 \fBnoenable\fR DDI/DKI
189 \fBOTHERQ\fR DDI/DKI
190 \fBpullupmsg\fR DDI/DKI
191 \fBput\fR DDI/DKI
192 \fBputbq\fR DDI/DKI
193 \fBputctl\fR DDI/DKI
194 \fBputctl1\fR DDI/DKI
195 \fBputnext\fR DDI/DKI
196 \fBputnextctl\fR DDI/DKI
197 \fBputq\fR DDI/DKI
198 \fBqassociate\fR Solaris DDI
199 \fBqbufcall\fR Solaris DDI
200 \fBqenable\fR DDI/DKI
201 \fBqprocson\fR DDI/DKI
202 \fBqprocsoff\fR DDI/DKI
203 \fBqreply\fR DDI/DKI
204 \fBqsize\fR DDI/DKI
205 \fBqtimeout\fR Solaris DDI
206 \fBqunbufcall\fR Solaris DDI
207 \fBquntimeout\fR Solaris DDI
208 \fBqwait\fR Solaris DDI
209 \fBqwait_sig\fR Solaris DDI
210 \fBqwriter\fR Solaris DDI
211 \fBRD\fR DDI/DKI
212 \fBrmvb\fR DDI/DKI
213 \fBrmvq\fR DDI/DKI
214 \fBSAMESTR\fR DDI/DKI
215 \fBstrlog\fR DDI/DKI
216 \fBstrqget\fR DDI/DKI
217 \fBstrqset\fR DDI/DKI
218 \fBtestb\fR DDI/DKI
219 \fBunbufcall\fR DDI/DKI
220 \fBunfreezestr\fR DDI/DKI
221 \fBunlinkb\fR DDI/DKI
222 \fBWR\fR DDI/DKI
223 .TE
224
225 .sp
226 .LP
227 The following table summarizes the functions not specific to STREAMS.
228 .sp
229
230 .sp
231 .TS
232 c c
233 l l .
234 Routine Type
235 _
236 \fBASSERT\fR DDI/DKI
237 \fBanocancel\fR Solaris DDI
238 \fBaphysio\fR Solaris DDI
239 \fBatomic_add\fR DDI/DKI
240 \fBatomic_and\fR DDI/DKI
241 \fBatomic_bits\fR DDI/DKI
242 \fBatomic_cas\fR DDI/DKI
243 \fBatomic_dec\fR DDI/DKI
244 \fBatomic_inc\fR DDI/DKI
245 \fBatomic_ops\fR DDI/DKI
246 \fBatomic_or\fR DDI/DKI
247 \fBatomic_swap\fR DDI/DKI
248 \fBbcmp\fR DDI/DKI
249 \fBbcopy\fR DDI/DKI
250 \fBbioclone\fR Solaris DDI
251 \fBbiodone\fR DDI/DKI
252 \fBbiofini\fR Solaris DDI
253 \fBbioinit\fR Solaris DDI
254 \fBbiomodified\fR Solaris DDI
255 \fBbiosize\fR Solaris DDI
256 \fBbioerror\fR Solaris DDI
257 \fBbioreset\fR Solaris DDI
258 \fBbiowait\fR DDI/DKI
259 \fBbp_copyin\fR DDI/DKI
260 \fBbp_copyout\fR DDI/DKI
261 \fBbp_mapin\fR DDI/DKI
262 \fBbp_mapout\fR DDI/DKI
263 \fBbtop\fR DDI/DKI
264 \fBbtopr\fR DDI/DKI
265 \fBbzero\fR DDI/DKI
266 \fBcmn_err\fR DDI/DKI
267 \fBcondvar\fR Solaris DDI
268 \fBcopyin\fR DDI/DKI
269 \fBcopyout\fR DDI/DKI
270 \fBcsx_AccessConfigurationRegister\fR Solaris DDI
271 \fBcsx_ConvertSize\fR Solaris DDI
272 \fBcsx_ConvertSpeed\fR Solaris DDI
273 \fBcsx_CS_DDI_Info\fR Solaris DDI
274 \fBcsx_DeregisterClient\fR Solaris DDI
275 \fBcsx_DupHandle\fR Solaris DDI
276 \fBcsx_Error2Text\fR Solaris DDI
277 \fBcsx_Event2Text\fR Solaris DDI
278 \fBcsx_FreeHandle\fR Solaris DDI
279 \fBcsx_Get8\fR Solaris DDI
280 \fBcsx_GetFirstClient\fR Solaris DDI
281 \fBcsx_GetFirstTuple\fR Solaris DDI
282 \fBcsx_GetHandleOffset\fR Solaris DDI
283 \fBcsx_GetMappedAddr\fR Solaris DDI
284 \fBcsx_GetStatus\fR Solaris DDI
285 \fBcsx_GetTupleData\fR Solaris DDI
286 \fBcsx_MakeDeviceNode\fR Solaris DDI
287 \fBcsx_MapLogSocket\fR Solaris DDI
288 \fBcsx_MapMemPage\fR Solaris DDI
289 \fBcsx_ModifyConfiguration\fR Solaris DDI
290 \fBcsx_ModifyWindow\fR Solaris DDI
291 \fBcsx_Parse_CISTPL_BATTERY\fR Solaris DDI
292 \fBcsx_Parse_CISTPL_BYTEORDER\fR Solaris DDI
293 \fBcsx_Parse_CISTPL_CFTABLE_ENTRY\fR Solaris DDI
294 \fBcsx_Parse_CISTPL_CONFIG\fR Solaris DDI
295 \fBcsx_Parse_CISTPL_DATE\fR Solaris DDI
296 \fBcsx_Parse_CISTPL_DEVICE\fR Solaris DDI
297 \fBcsx_Parse_CISTPL_DEVICEGEO\fR Solaris DDI
298 \fBcsx_Parse_CISTPL_DEVICEGEO_A\fR Solaris DDI
299 \fBcsx_Parse_CISTPL_FORMAT\fR Solaris DDI
300 \fBcsx_Parse_CISTPL_FUNCE\fR Solaris DDI
301 \fBcsx_Parse_CISTPL_FUNCID\fR Solaris DDI
302 \fBcsx_Parse_CISTPL_GEOMETRY\fR Solaris DDI
303 \fBcsx_Parse_CISTPL_JEDEC_C\fR Solaris DDI
304 \fBcsx_Parse_CISTPL_LINKTARGET\fR Solaris DDI
305 \fBcsx_Parse_CISTPL_LONGLINK_A\fR Solaris DDI
306 \fBcsx_Parse_CISTPL_LONGLINK_MFC\fR Solaris DDI
307 \fBcsx_Parse_CISTPL_MANFID\fR Solaris DDI
308 \fBcsx_Parse_CISTPL_ORG\fR Solaris DDI
309 \fBcsx_Parse_CISTPL_SPCL\fR Solaris DDI
310 \fBcsx_Parse_CISTPL_SWIL\fR Solaris DDI
311 \fBcsx_Parse_CISTPL_VERS_1\fR Solaris DDI
312 \fBcsx_Parse_CISTPL_VERS_2\fR Solaris DDI
313 \fBcsx_ParseTuple\fR Solaris DDI
314 \fBcsx_Put8\fR Solaris DDI
315 \fBcsx_RegisterClient\fR Solaris DDI
316 \fBcsx_ReleaseConfiguration\fR Solaris DDI
317 \fBcsx_RepGet8\fR Solaris DDI
318 \fBcsx_RepPut8\fR Solaris DDI
319 \fBcsx_RequestConfiguration\fR Solaris DDI
320 \fBcsx_RequestIO\fR Solaris DDI
321 \fBcsx_RequestIRQ\fR Solaris DDI
322 \fBcsx_RequestSocketMask\fR Solaris DDI
323 \fBcsx_RequestWindow\fR Solaris DDI
324 \fBcsx_ResetFunction\fR Solaris DDI
325 \fBcsx_SetEventMask\fR Solaris DDI
326 \fBcsx_SetHandleOffset\fR Solaris DDI
327 \fBcsx_ValidateCIS\fR Solaris DDI
328 \fBcv_broadcast\fR Solaris DDI
329 \fBcv_destroy\fR Solaris DDI
330 \fBcv_init\fR Solaris DDI
331 \fBcv_signal\fR Solaris DDI
332 \fBcv_timedwait\fR Solaris DDI
333 \fBcv_wait\fR Solaris DDI
334 \fBcv_wait_sig\fR Solaris DDI
335 \fBddi_add_event_handler\fR Solaris DDI
336 \fBddi_add_intr\fR Solaris DDI
337 \fBddi_add_softintr\fR Solaris DDI
338 \fBddi_binding_name\fR Solaris DDI
339 \fBddi_btop\fR Solaris DDI
340 \fBddi_btopr\fR Solaris DDI
341 \fBddi_can_receive_sig\fR Solaris DDI
342 \fBddi_check_acc_handle\fR Solaris DDI
343 \fBddi_copyin\fR Solaris DDI
344 \fBddi_copyout\fR Solaris DDI
345 \fBddi_create_minor_node\fR Solaris DDI
346 \fBddi_cred\fR Solaris DDI
347 \fBddi_dev_is_sid\fR Solaris DDI
348 \fBddi_dev_nintrs\fR Solaris DDI
349 \fBddi_dev_nregs\fR Solaris DDI
350 \fBddi_dev_regsize\fR Solaris DDI
351 \fBddi_device_copy\fR Solaris DDI
352 \fBddi_device_zero\fR Solaris DDI
353 \fBddi_devmap_segmap\fR Solaris DDI
354 \fBddi_dma_addr_bind_handle\fR Solaris DDI
355 \fBddi_dma_alloc_handle\fR Solaris DDI
356 \fBddi_dma_buf_bind_handle\fR Solaris DDI
357 \fBddi_dma_burstsizes\fR Solaris DDI
358 \fBddi_dma_free_handle\fR Solaris DDI
359 \fBddi_dma_getwin\fR Solaris DDI
360 \fBddi_dma_mem_alloc\fR Solaris DDI
361 \fBddi_dma_mem_free\fR Solaris DDI
362 \fBddi_dma_nextcookie\fR Solaris DDI
363 \fBddi_dma_numwin\fR Solaris DDI
364 \fBddi_dma_set_sbus64\fR Solaris DDI
365 \fBddi_dma_sync\fR Solaris DDI
366 \fBddi_dma_unbind_handle\fR Solaris DDI
367 \fBddi_dmae\fR Solaris x86 DDI
368 \fBddi_dmae_1stparty\fR Solaris x86 DDI
369 \fBddi_dmae_alloc\fR Solaris x86 DDI
370 \fBddi_dmae_disable\fR Solaris x86 DDI
371 \fBddi_dmae_enable\fR Solaris x86 DDI
372 \fBddi_dmae_getattr\fR Solaris x86 DDI
373 \fBddi_dmae_getcnt\fR Solaris x86 DDI
374 \fBddi_dmae_getlim\fR Solaris x86 DDI
375 \fBddi_dmae_prog\fR Solaris x86 DDI
376 \fBddi_dmae_release\fR Solaris x86 DDI
377 \fBddi_dmae_stop\fR Solaris x86 DDI
378 \fBddi_driver_major\fR Solaris DDI
379 \fBddi_driver_name\fR Solaris DDI
380 \fBddi_enter_critical\fR Solaris DDI
381 \fBddi_exit_critical\fR Solaris DDI
382 \fBddi_ffs\fR Solaris DDI
383 \fBddi_fls\fR Solaris DDI
384 \fBddi_fm_acc_err_clear\fR Solaris DDI
385 \fBddi_fm_acc_err_get\fR Solaris DDI
386 \fBddi_fm_ereport_post\fR Solaris DDI
387 \fBddi_fm_handler_register\fR Solaris DDI
388 \fBddi_fm_init\fR Solaris DDI
389 \fBddi_fm_service_impact\fR Solaris DDI
390 \fBddi_get16\fR Solaris DDI
391 \fBddi_get32\fR Solaris DDI
392 \fBddi_get64\fR Solaris DDI
393 \fBddi_get8\fR Solaris DDI
394 \fBddi_get_cred\fR Solaris DDI
395 \fBddi_get_devstate\fR Solaris DDI
396 \fBddi_get_driver_private\fR Solaris DDI
397 \fBddi_get_eventcookie\fR Solaris DDI
398 \fBddi_get_iblock_cookie\fR Solaris DDI
399 \fBddi_get_iminor\fR Solaris DDI
400 \fBddi_get_instance\fR Solaris DDI
401 \fBddi_get_kt_did\fR Solaris DDI
402 \fBddi_get_lbolt\fR Solaris DDI
403 \fBddi_get_name\fR Solaris DDI
404 \fBddi_get_parent\fR Solaris DDI
405 \fBddi_get_pid\fR Solaris DDI
406 \fBddi_get_soft_iblock_cookie\fR Solaris DDI
407 \fBddi_get_soft_state\fR Solaris DDI
408 \fBddi_getb\fR Solaris DDI
409 \fBddi_getl\fR Solaris DDI
410 \fBddi_getll\fR Solaris DDI
411 \fBddi_getlongprop\fR Solaris DDI
412 \fBddi_getlongprop_buf\fR Solaris DDI
413 \fBddi_getprop\fR Solaris DDI
414 \fBddi_getproplen\fR Solaris DDI
415 \fBddi_getw\fR Solaris DDI
416 \fBddi_intr_add_handler\fR Solaris DDI
417 \fBddi_intr_add_softint\fR Solaris DDI
418 \fBddi_intr_alloc\fR Solaris DDI
419 \fBddi_intr_block_disable\fR Solaris DDI
420 \fBddi_intr_block_enable\fR Solaris DDI
421 \fBddi_intr_clr_mask\fR Solaris DDI
422 \fBddi_intr_dup_handler\fR Solaris DDI
423 \fBddi_intr_disable\fR Solaris DDI
424 \fBddi_intr_enable\fR Solaris DDI
425 \fBddi_intr_free\fR Solaris DDI
426 \fBddi_intr_get_cap\fR Solaris DDI
427 \fBddi_intr_get_hilevel_pri\fR Solaris DDI
428 \fBddi_intr_get_navail\fR Solaris DDI
429 \fBddi_intr_get_nintrs\fR Solaris DDI
430 \fBddi_intr_get_pending\fR Solaris DDI
431 \fBddi_intr_get_pri\fR Solaris DDI
432 \fBddi_intr_get_softint_pri\fR Solaris DDI
433 \fBddi_intr_get_supported_types\fR Solaris DDI
434 \fBddi_intr_remove_handler\fR Solaris DDI
435 \fBddi_intr_remove_softint\fR Solaris DDI
436 \fBddi_intr_set_cap\fR Solaris DDI
437 \fBddi_intr_set_mask\fR Solaris DDI
438 \fBddi_intr_set_pri\fR Solaris DDI
439 \fBddi_intr_set_softint_pri\fR Solaris DDI
440 \fBddi_intr_trigger_softint\fR Solaris DDI
441 \fBddi_io_get16\fR Solaris DDI
442 \fBddi_io_get32\fR Solaris DDI
443 \fBddi_io_get8\fR Solaris DDI
444 \fBddi_io_getb\fR Solaris DDI
445 \fBddi_io_getl\fR Solaris DDI
446 \fBddi_io_getw\fR Solaris DDI
447 \fBddi_io_put16\fR Solaris DDI
448 \fBddi_io_put32\fR Solaris DDI
449 \fBddi_io_put8\fR Solaris DDI
450 \fBddi_io_putb\fR Solaris DDI
451 \fBddi_io_putl\fR Solaris DDI
452 \fBddi_io_putw\fR Solaris DDI
453 \fBddi_io_rep_get16\fR Solaris DDI
454 \fBddi_io_rep_get32\fR Solaris DDI
455 \fBddi_io_rep_get8\fR Solaris DDI
456 \fBddi_io_rep_getb\fR Solaris DDI
457 \fBddi_io_rep_getl\fR Solaris DDI
458 \fBddi_io_rep_getw\fR Solaris DDI
459 \fBddi_io_rep_put16\fR Solaris DDI
460 \fBddi_io_rep_put32\fR Solaris DDI
461 \fBddi_io_rep_put8\fR Solaris DDI
462 \fBddi_io_rep_putb\fR Solaris DDI
463 \fBddi_io_rep_putl\fR Solaris DDI
464 \fBddi_io_rep_putw\fR Solaris DDI
465 \fBddi_iomin\fR Solaris DDI
466 \fBddi_log_sysevent\fR Solaris DDI
467 \fBddi_map_regs\fR Solaris DDI
468 \fBddi_mapdev\fR Solaris DDI
469 \fBddi_mapdev_intercept\fR Solaris DDI
470 \fBddi_mapdev_nointercept\fR Solaris DDI
471 \fBddi_mapdev_set_device_acc_attr\fR Solaris DDI
472 \fBddi_mem_get16\fR Solaris DDI
473 \fBddi_mem_get32\fR Solaris DDI
474 \fBddi_mem_get64\fR Solaris DDI
475 \fBddi_mem_get8\fR Solaris DDI
476 \fBddi_mem_getb\fR Solaris DDI
477 \fBddi_mem_getl\fR Solaris DDI
478 \fBddi_mem_getll\fR Solaris DDI
479 \fBddi_mem_getw\fR Solaris DDI
480 \fBddi_mem_put16\fR Solaris DDI
481 \fBddi_mem_put32\fR Solaris DDI
482 \fBddi_mem_put64\fR Solaris DDI
483 \fBddi_mem_put8\fR Solaris DDI
484 \fBddi_mem_putb\fR Solaris DDI
485 \fBddi_mem_putl\fR Solaris DDI
486 \fBddi_mem_putll\fR Solaris DDI
487 \fBddi_mem_putw\fR Solaris DDI
488 \fBddi_mem_rep_get16\fR Solaris DDI
489 \fBddi_mem_rep_get32\fR Solaris DDI
490 \fBddi_mem_rep_get64\fR Solaris DDI
491 \fBddi_mem_rep_get8\fR Solaris DDI
492 \fBddi_mem_rep_getb\fR Solaris DDI
493 \fBddi_mem_rep_getl\fR Solaris DDI
494 \fBddi_mem_rep_getll\fR Solaris DDI
495 \fBddi_mem_rep_getw\fR Solaris DDI
496 \fBddi_mem_rep_put16\fR Solaris DDI
497 \fBddi_mem_rep_put32\fR Solaris DDI
498 \fBddi_mem_rep_put64\fR Solaris DDI
499 \fBddi_mem_rep_put8\fR Solaris DDI
500 \fBddi_mem_rep_putb\fR Solaris DDI
501 \fBddi_mem_rep_putl\fR Solaris DDI
502 \fBddi_mem_rep_putll\fR Solaris DDI
503 \fBddi_mem_rep_putw\fR Solaris DDI
504 \fBddi_mmap_get_model\fR Solaris DDI
505 \fBddi_model_convert_from\fR Solaris DDI
506 \fBddi_modopen\fR Solaris DDI
507 \fBddi_no_info\fR Solaris DDI
508 \fBddi_node_name\fR Solaris DDI
509 \fBddi_peek16\fR Solaris DDI
510 \fBddi_peek32\fR Solaris DDI
511 \fBddi_peek64\fR Solaris DDI
512 \fBddi_peek8\fR Solaris DDI
513 \fBddi_peekc\fR Solaris DDI
514 \fBddi_peekd\fR Solaris DDI
515 \fBddi_peekl\fR Solaris DDI
516 \fBddi_peeks\fR Solaris DDI
517 \fBddi_periodic_add\fR Solaris DDI
518 \fBddi_periodic_delete\fR Solaris DDI
519 \fBddi_poke16\fR Solaris DDI
520 \fBddi_poke32\fR Solaris DDI
521 \fBddi_poke64\fR Solaris DDI
522 \fBddi_poke8\fR Solaris DDI
523 \fBddi_pokec\fR Solaris DDI
524 \fBddi_poked\fR Solaris DDI
525 \fBddi_pokel\fR Solaris DDI
526 \fBddi_pokes\fR Solaris DDI
527 \fBddi_prop_create\fR Solaris DDI
528 \fBddi_prop_exists\fR Solaris DDI
529 \fBddi_prop_free\fR Solaris DDI
530 \fBddi_prop_get_int\fR Solaris DDI
531 \fBddi_prop_lookup\fR Solaris DDI
532 \fBddi_prop_lookup_byte_array\fR Solaris DDI
533 \fBddi_prop_lookup_int_array\fR Solaris DDI
534 \fBddi_prop_lookup_string\fR Solaris DDI
535 \fBddi_prop_lookup_string_array\fR Solaris DDI
536 \fBddi_prop_modify\fR Solaris DDI
537 \fBddi_prop_op\fR Solaris DDI
538 \fBddi_prop_remove\fR Solaris DDI
539 \fBddi_prop_remove_all\fR Solaris DDI
540 \fBddi_prop_undefine\fR Solaris DDI
541 \fBddi_prop_update\fR Solaris DDI
542 \fBddi_prop_update_byte_array\fR Solaris DDI
543 \fBddi_prop_update_int\fR Solaris DDI
544 \fBddi_prop_update_int_array\fR Solaris DDI
545 \fBddi_prop_update_string\fR Solaris DDI
546 \fBddi_prop_update_string_array\fR Solaris DDI
547 \fBddi_ptob\fR Solaris DDI
548 \fBddi_put16\fR Solaris DDI
549 \fBddi_put32\fR Solaris DDI
550 \fBddi_put64\fR Solaris DDI
551 \fBddi_put8\fR Solaris DDI
552 \fBddi_putb\fR Solaris DDI
553 \fBddi_putl\fR Solaris DDI
554 \fBddi_putll\fR Solaris DDI
555 \fBddi_putw\fR Solaris DDI
556 \fBddi_regs_map_free\fR Solaris DDI
557 \fBddi_regs_map_setup\fR Solaris DDI
558 \fBddi_remove_event_handler\fR Solaris DDI
559 \fBddi_remove_intr\fR Solaris DDI
560 \fBddi_remove_minor_node\fR Solaris DDI
561 \fBddi_remove_softintr\fR Solaris DDI
562 \fBddi_removing_power\fR Solaris DDI
563 \fBddi_rep_get16\fR Solaris DDI
564 \fBddi_rep_get32\fR Solaris DDI
565 \fBddi_rep_get64\fR Solaris DDI
566 \fBddi_rep_get8\fR Solaris DDI
567 \fBddi_rep_getb\fR Solaris DDI
568 \fBddi_rep_getl\fR Solaris DDI
569 \fBddi_rep_getll\fR Solaris DDI
570 \fBddi_rep_getw\fR Solaris DDI
571 \fBddi_rep_put16\fR Solaris DDI
572 \fBddi_rep_put32\fR Solaris DDI
573 \fBddi_rep_put64\fR Solaris DDI
574 \fBddi_rep_put8\fR Solaris DDI
575 \fBddi_rep_putb\fR Solaris DDI
576 \fBddi_rep_putl\fR Solaris DDI
577 \fBddi_rep_putll\fR Solaris DDI
578 \fBddi_rep_putw\fR Solaris DDI
579 \fBddi_report_dev\fR Solaris DDI
580 \fBddi_root_node\fR Solaris DDI
581 \fBddi_segmap\fR Solaris DDI
582 \fBddi_segmap_setup\fR Solaris DDI
583 \fBddi_set_driver_private\fR Solaris DDI
584 \fBddi_slaveonly\fR Solaris DDI
585 \fBddi_soft_state\fR Solaris DDI
586 \fBddi_soft_state_fini\fR Solaris DDI
587 \fBddi_soft_state_free\fR Solaris DDI
588 \fBddi_soft_state_init\fR Solaris DDI
589 \fBddi_soft_state_zalloc\fR Solaris DDI
590 \fBddi_strlol\fR Solaris DDI
591 \fBddi_strloul\fR Solaris DDI
592 \fBddi_trigger_softintr\fR Solaris DDI
593 \fBddi_umem_alloc\fR Solaris DDI
594 \fBddi_umem_free\fR Solaris DDI
595 \fBddi_umem_iosetup\fR Solaris DDI
596 \fBddi_umem_lock\fR Solaris DDI
597 \fBddi_unmap_regs\fR Solaris DDI
598 \fBdelay\fR DDI/DKI
599 \fBdevmap_default_access\fR Solaris DDI
600 \fBdevmap_devmem_setup\fR Solaris DDI
601 \fBdevmap_do_ctxmgt\fR Solaris DDI
602 \fBdevmap_load\fR Solaris DDI
603 \fBdevmap_set_ctx_timeout\fR Solaris DDI
604 \fBdevmap_setup\fR Solaris DDI
605 \fBdevmap_umem_setup\fR Solaris DDI
606 \fBdevmap_unload\fR Solaris DDI
607 \fBdisksort\fR Solaris DDI
608 \fBdlbindack\fR Solaris DDI
609 \fBdrv_getparm\fR DDI/DKI
610 \fBdrv_hztousec\fR DDI/DKI
611 \fBdrv_priv\fR DDI/DKI
612 \fBdrv_usectohz\fR DDI/DKI
613 \fBdrv_usecwait\fR DDI/DKI
614 \fBfree_pktiopb\fR Solaris DDI
615 \fBfreerbuf\fR DDI/DKI
616 \fBget_pktiopb\fR Solaris DDI
617 \fBgeterror\fR DDI/DKI
618 \fBgethrtime\fR DDI/DKI
619 \fBgetmajor\fR DDI/DKI
620 \fBgetminor\fR DDI/DKI
621 \fBgetrbuf\fR DDI/DKI
622 \fBgld\fR Solaris DDI
623 \fBhat_getkpfnum\fR DKI only
624 \fBid32_alloc\fR Solaris DDI
625 \fBinb\fR Solaris x86 DDI
626 \fBinl\fR Solaris x86 DDI
627 \fBinw\fR Solaris x86 DDI
628 \fBkiconv\fR Solaris DDI
629 \fBkiconv_close\fR Solaris DDI
630 \fBkiconv_open\fR Solaris DDI
631 \fBkiconvstr\fR Solaris DDI
632 \fBkmem_alloc\fR DDI/DKI
633 \fBkmem_cache_create\fR Solaris DDI
634 \fBkmem_free\fR DDI/DKI
635 \fBkmem_zalloc\fR DDI/DKI
636 \fBkstat_create\fR Solaris DDI
637 \fBkstat_delete\fR Solaris DDI
638 \fBkstat_install\fR Solaris DDI
639 \fBkstat_named_init\fR Solaris DDI
640 \fBkstat_queue\fR Solaris DDI
641 \fBkstat_runq_back_to_waitq\fR Solaris DDI
642 \fBkstat_runq_enter\fR Solaris DDI
643 \fBkstat_runq_exit\fR Solaris DDI
644 \fBkstat_waitq_enter\fR Solaris DDI
645 \fBkstat_waitq_exit\fR Solaris DDI
646 \fBkstat_waitq_to_runq\fR Solaris DDI
647 \fBldi_add_event_handler\fR Solaris DDI
648 \fBldi_aread\fR Solaris DDI
649 \fBldi_devmap\fR Solaris DDI
650 \fBldi_dump\fR Solaris DDI
651 \fBldi_ev_finalize\fR Solaris DDI
652 \fBldi_ev_get_cookie\fR Solaris DDI
653 \fBldi_ev_get_type\fR Solaris DDI
654 \fBldi_ev_notify\fR Solaris DDI
655 \fBldi_ev_register_callbacks\fR Solaris DDI
656 \fBldi_ev_remove_callbacks\fR Solaris DDI
657 \fBldi_get_dev\fR Solaris DDI
658 \fBldi_get_eventcookie\fR Solaris DDI
659 \fBldi_get_size\fR Solaris DDI
660 \fBldi_ident_from_dev\fR Solaris DDI
661 \fBldi_ioctl\fR Solaris DDI
662 \fBldi_open_by_dev\fR Solaris DDI
663 \fBldi_poll\fR Solaris DDI
664 \fBldi_prop_exists\fR Solaris DDI
665 \fBldi_prop_get_int\fR Solaris DDI
666 \fBldi_prop_get_lookup_int_array\fR Solaris DDI
667 \fBldi_putmsg\fR Solaris DDI
668 \fBldi_read\fR Solaris DDI
669 \fBldi_remove_event_handler\fR Solaris DDI
670 \fBldi_strategy\fR Solaris DDI
671 \fBmakecom_g0\fR Solaris DDI
672 \fBmakecom_g0_s\fR Solaris DDI
673 \fBmakecom_g1\fR Solaris DDI
674 \fBmakecom_g5\fR Solaris DDI
675 \fBmakedevice\fR DDI/DKI
676 \fBmax\fR DDI/DKI
677 \fBmax\fR DDI/DKI
678 \fBmembar_ops\fR Solaris DDI
679 \fBmemchr\fR Solaris DDI
680 \fBminphys\fR Solaris DDI
681 \fBmod_info\fR Solaris DDI
682 \fBmod_install\fR Solaris DDI
683 \fBmod_remove\fR Solaris DDI
684 \fBmutex_destroy\fR Solaris DDI
685 \fBmutex_enter\fR Solaris DDI
686 \fBmutex_exit\fR Solaris DDI
687 \fBmutex_init\fR Solaris DDI
688 \fBmutex_owned\fR Solaris DDI
689 \fBmutex_tryenter\fR Solaris DDI
690 \fBnochpoll\fR Solaris DDI
691 \fBnodev\fR DDI/DKI
692 \fBnulldev\fR DDI/DKI
693 \fBnumtos\fR Solaris DDI
694 \fBnvlist_add_boolean\fR Solaris DDI
695 \fBnvlist_alloc\fR Solaris DDI
696 \fBnvlist_lookup_boolean\fR Solaris DDI
697 \fBnvlist_lookup_nvpair\fR Solaris DDI
698 \fBnvlist_next_nvpair\fR Solaris DDI
699 \fBnvlist_remove\fR Solaris DDI
700 \fBnvlist_value_byte\fR Solaris DDI
701 \fBoutb\fR Solaris x86 DDI
702 \fBoutl\fR Solaris x86 DDI
703 \fBoutw\fR Solaris x86 DDI
704 \fBpci_config_get16\fR Solaris DDI
705 \fBpci_config_get32\fR Solaris DDI
706 \fBpci_config_get64\fR Solaris DDI
707 \fBpci_config_get8\fR Solaris DDI
708 \fBpci_config_getb\fR Solaris DDI
709 \fBpci_config_getl\fR Solaris DDI
710 \fBpci_config_getw\fR Solaris DDI
711 \fBpci_config_put16\fR Solaris DDI
712 \fBpci_config_put32\fR Solaris DDI
713 \fBpci_config_put64\fR Solaris DDI
714 \fBpci_config_put8\fR Solaris DDI
715 \fBpci_config_putb\fR Solaris DDI
716 \fBpci_config_putl\fR Solaris DDI
717 \fBpci_config_putw\fR Solaris DDI
718 \fBpci_config_setup\fR Solaris DDI
719 \fBpci_config_teardown\fR Solaris DDI
720 \fBpci_ereport_setup\fR Solaris DDI
721 \fBpci_report_pmcap\fR Solaris DDI
722 \fBpci_save_config_regs\fR Solaris DDI
723 \fBphysio\fR Solaris DDI
724 \fBpm_busy_component\fR Solaris DDI
725 \fBpm_power_has_changed\fR Solaris DDI
726 \fBpm_raise_power\fR Solaris DDI
727 \fBpm_trans_check\fR Solaris DDI
728 \fBpollwakeup\fR DDI/DKI
729 \fBpci_config_teardown\fR Solaris DDI
730 \fBpci_config_teardown\fR Solaris DDI
731 \fBpriv_getbyname\fR Solaris DDI
732 \fBpriv_policy\fR Solaris DDI
733 \fBproc_signal\fR Solaris DDI
734 \fBproc_unref\fR Solaris DDI
735 \fBptob\fR DDI/DKI
736 \fBrepinsb\fR Solaris x86 DDI
737 \fBrepinsd\fR Solaris x86 DDI
738 \fBrepinsw\fR Solaris x86 DDI
739 \fBrepoutsb\fR Solaris x86 DDI
740 \fBrepoutsd\fR Solaris x86 DDI
741 \fBrepoutsw\fR Solaris x86 DDI
742 \fBrmalloc\fR DDI/DKI
743 \fBrmalloc_wait\fR DDI/DKI
744 \fBrmallocmap\fR DDI/DKI
745 \fBrmallocmap_wait\fR DDI/DKI
746 \fBrmfree\fR DDI/DKI
747 \fBrmfreemap\fR DDI/DKI
748 \fBrw_destroy\fR Solaris DDI
749 \fBrw_downgrade\fR Solaris DDI
750 \fBrw_enter\fR Solaris DDI
751 \fBrw_exit\fR Solaris DDI
752 \fBrw_init\fR Solaris DDI
753 \fBrw_read_locked\fR Solaris DDI
754 \fBrw_tryenter\fR Solaris DDI
755 \fBrw_tryupgrade\fR Solaris DDI
756 \fBscsi_abort\fR Solaris DDI
757 \fBscsi_alloc_consistent_buf\fR Solaris DDI
758 \fBscsi_cname\fR Solaris DDI
759 \fBscsi_destroy_pkt\fR Solaris DDI
760 \fBscsi_dmafree\fR Solaris DDI
761 \fBscsi_dmaget\fR Solaris DDI
762 \fBscsi_dname\fR Solaris DDI
763 \fBscsi_errmsg\fR Solaris DDI
764 \fBscsi_ext_sense_fields\fR Solaris DDI
765 \fBscsi_find_sense_descr\fR Solaris DDI
766 \fBscsi_free_consistent_buf\fR Solaris DDI
767 \fBscsi_get_device_type_scsi_options\fR Solaris DDI
768 \fBscsi_get_device_type_string\fR Solaris DDI
769 \fBscsi_hba_attach_setup\fR Solaris DDI
770 \fBscsi_hba_detach\fR Solaris DDI
771 \fBscsi_hba_fini\fR Solaris DDI
772 \fBscsi_hba_init\fR Solaris DDI
773 \fBscsi_hba_lookup_capstr\fR Solaris DDI
774 \fBscsi_hba_pkt_alloc\fR Solaris DDI
775 \fBscsi_hba_pkt_free\fR Solaris DDI
776 \fBscsi_hba_probe\fR Solaris DDI
777 \fBscsi_hba_tran_alloc\fR Solaris DDI
778 \fBscsi_hba_tran_free\fR Solaris DDI
779 \fBscsi_ifgetcap\fR Solaris DDI
780 \fBscsi_ifsetcap\fR Solaris DDI
781 \fBscsi_init_pkt\fR Solaris DDI
782 \fBscsi_log\fR Solaris DDI
783 \fBscsi_mname\fR Solaris DDI
784 \fBscsi_pktalloc\fR Solaris DDI
785 \fBscsi_pktfree\fR Solaris DDI
786 \fBscsi_poll\fR Solaris DDI
787 \fBscsi_probe\fR Solaris DDI
788 \fBscsi_resalloc\fR Solaris DDI
789 \fBscsi_reset\fR Solaris DDI
790 \fBscsi_reset_notify\fR Solaris DDI
791 \fBscsi_resfree\fR Solaris DDI
792 \fBscsi_rname\fR Solaris DDI
793 \fBscsi_sense_key\fR Solaris DDI
794 \fBscsi_setup_cdb\fR Solaris DDI
795 \fBscsi_slave\fR Solaris DDI
796 \fBscsi_sname\fR Solaris DDI
797 \fBscsi_sync_pkt\fR Solaris DDI
798 \fBscsi_transport\fR Solaris DDI
799 \fBscsi_unprobe\fR Solaris DDI
800 \fBscsi_unslave\fR Solaris DDI
801 \fBscsi_validate_sense\fR Solaris DDI
802 \fBscsi_vu_errmsg\fR Solaris DDI
803 \fBsema_destroy\fR Solaris DDI
804 \fBsema_init\fR Solaris DDI
805 \fBsema_p\fR Solaris DDI
806 \fBsema_p_sig\fR Solaris DDI
807 \fBsema_tryp\fR Solaris DDI
808 \fBsema_v\fR Solaris DDI
809 \fBsprintf\fR Solaris DDI
810 \fBstoi\fR Solaris DDI
811 \fBstrchr\fR Solaris DDI
812 \fBstrcmp\fR Solaris DDI
813 \fBstrcpy\fR Solaris DDI
814 \fBstrlen\fR Solaris DDI
815 \fBstrncmp\fR Solaris DDI
816 \fBstrncpy\fR Solaris DDI
817 \fBSTRUCT_DECL\fR Solaris DDI
818 \fBswab\fR DDI/DKI
819 \fBtaskq\fR Solaris DDI
820 \fBtimeout\fR DDI/DKI
821 \fBu8_strcmp\fR Solaris DDI
822 \fBu8_textprep_str\fR Solaris DDI
823 \fBu8_validate\fR Solaris DDI
824 \fBuconv_u16tou32\fR Solaris DDI
825 \fBuiomove\fR DDI/DKI
826 \fBuntimeout\fR DDI/DKI
827 \fBureadc\fR DDI/DKI
828 \fBusb_alloc_request\fR Solaris DDI
829 \fBusb_client_attach\fR Solaris DDI
830 \fBusb_clr_feature\fR Solaris DDI
831 \fBusb_create_pm_components\fR Solaris DDI
832 \fBusb_get_addr\fR Solaris DDI
833 \fBusb_get_alt_if\fR Solaris DDI
834 \fBusb_get_cfg\fR Solaris DDI
835 \fBusb_get_current_frame_number\fR Solaris DDI
836 \fBusb_get_dev_data\fR Solaris DDI
837 \fBusb_get_max_pkts_per_ioc_request\fR Solaris DDI
838 \fBusb_get_status\fR Solaris DDI
839 \fBusb_get_string_desc\fR Solaris DDI
840 \fBusb_handle_remote_wakeup\fR Solaris DDI
841 \fBusb_lookup_ep_data\fR Solaris DDI
842 \fBusb_parse_data\fR Solaris DDI
843 \fBusb_pipe_bulk_xfer\fR Solaris DDI
844 \fBusb_pipe_close\fR Solaris DDI
845 \fBusb_pipe_ctrl_xfer\fR Solaris DDI
846 \fBusb_pipe_drain_reqs\fR Solaris DDI
847 \fBusb_pipe_get_max_bulk_transfer_size\fR Solaris DDI
848 \fBusb_pipe_get_state\fR Solaris DDI
849 \fBusb_pipe_intr_xfer\fR Solaris DDI
850 \fBusb_pipe_isoc_xfer\fR Solaris DDI
851 \fBusb_pipe_open\fR Solaris DDI
852 \fBusb_pipe_reset\fR Solaris DDI
853 \fBusb_pipe_set_private\fR Solaris DDI
854 \fBusb_register_hotplug_cbs\fR Solaris DDI
855 \fBusb_reset_device\fR Solaris DDI
856 \fBuwritec\fR DDI/DKI
857 \fBva_arg\fR Solaris DDI
858 \fBva_end\fR Solaris DDI
859 \fBva_start\fR Solaris DDI
860 \fBvcmn_err\fR DDI/DKI
861 \fBvsprintf\fR Solaris DDI
862 .TE
863
864 .SH SEE ALSO
865 .sp
866 .LP
867 \fBIntro\fR(9E), \fBmutex\fR(9F)
|
1 .\" Copyright 2014 Garrett D'Amore <garrett@damore.org>
2 .\" Copyright (c) 2005, Sun Microsystems, Inc., All Rights Reserved
3 .\" The contents of this file are subject to the terms of the Common Development and Distribution License (the "License"). You may not use this file except in compliance with the License.
4 .\" You can obtain a copy of the license at usr/src/OPENSOLARIS.LICENSE or http://www.opensolaris.org/os/licensing. See the License for the specific language governing permissions and limitations under the License.
5 .\" When distributing Covered Code, include this CDDL HEADER in each file and include the License file at usr/src/OPENSOLARIS.LICENSE. If applicable, add the following below this CDDL HEADER, with the fields enclosed by brackets "[]" replaced with your own identifying information: Portions Copyright [yyyy] [name of copyright owner]
6 .Dd "Aug 08, 2014"
7 .Dt INTRO 9F
8 .Os
9 .Sh NAME
10 .Nm Intro ,
11 .Nm intro
12 .Nd introduction to DDI/DKI functions
13 .Sh DESCRIPTION
14 Section 9F describes the kernel functions available for use by device drivers.
15 See
16 .Xr Intro 9E
17 for an overview of device driver interfaces.
18 .Lp
19 In this section, the information for each driver function is organized under
20 the following headings:
21 .Bl -bullet -offset indent
22 .It
23 .Sy NAME
24 summarizes the function's purpose.
25 .It
26 .Sy SYNOPSIS
27 shows the syntax of the function's entry point in the source
28 code.
29 .Li #include
30 directives are shown for required headers.
31 .It
32 .Sy INTERFACE LEVEL
33 describes any architecture dependencies.
34 .It
35 .Sy ARGUMENTS
36 describes any arguments required to invoke the function.
37 .It
38 .Sy DESCRIPTION
39 describes general information about the function.
40 .It
41 .Sy RETURN VALUES
42 describes the return values and messages that can
43 result from invoking the function.
44 .It
45 .Sy CONTEXT
46 indicates from which driver context (user, kernel, interrupt, or
47 high-level interrupt) the function can be called.
48 .Lp
49 A driver function has
50 .Em user context
51 if it was directly invoked because of
52 a user thread. The
53 .Xr read 9E
54 entry point of the driver, invoked by a
55 .Xr read 2
56 system call, has user context.
57 .Lp
58 A driver function has
59 .Em kernel context
60 if was invoked by some other part of
61 the kernel. In a block device driver, the
62 .Xr strategy 9E
63 entry point may be
64 called by the page daemon to write pages to the device. The page daemon has no
65 relation to the current user thread, so in this case
66 .Xr strategy 9E
67 has kernel context.
68 .Lp
69 .Em Interrupt context
70 is kernel context, but also has an interrupt level
71 associated with it. Driver interrupt routines have interrupt context.
72 .Lp
73 Note that a mutex acquired in user or kernel context that can also be acquired
74 in interrupt context means that the user or kernel context thread holding that
75 mutex is subject to all the restrictions imposed by interrupt context, for the
76 duration of the ownership of that mutex. Please see the
77 .Xr mutex 9F
78 man page for a more complete discussion of proper mutex handling for drivers.
79 .Lp
80 .Em High-level interrupt context
81 is a more restricted form of interrupt
82 context. If a driver interrupt priority returned from
83 .Xr ddi_intr_get_pri 9F
84 is greater than the priority returned from
85 .Xr ddi_intr_get_hilevel_pri 9F
86 this indicates the interrupt handler will
87 run in high-level interrupt context. These interrupt routines are only allowed
88 to call
89 .Xr ddi_intr_trigger_softint 9F ,
90 .Xr mutex_enter 9F ,
91 and
92 .Xr mutex_exit 9F .
93 Furthermore,
94 .Xr mutex_enter 9F
95 and
96 .Xr mutex_exit 9F
97 may only be called on mutexes initialized with the
98 interrupt priority returned by
99 .Xr ddi_intr_get_pri 9F .
100 .It
101 .Sy SEE ALSO
102 indicates functions that are related by usage and sources, and
103 which can be referred to for further information.
104 .It
105 .Sy EXAMPLES
106 shows how the function can be used in driver code.
107 .El
108 .Lp
109 Every driver MUST include
110 .In sys/ddi.h
111 and
112 .In sys/sunddi.h ,
113 in that order, and as the last files the driver includes.
114 .Sh STREAMS KERNEL FUNCTION SUMMARY
115 The following table summarizes the STREAMS functions described in this section.
116 .Bl -column usb_pipe_get_max_bulk_transfer_size
117 .It Sy Routine Sy Type
118 .It Sy adjmsg DDI/DKI
119 .It Sy allocb DDI/DKI
120 .It Sy allocb_tmpl Solaris DDI
121 .It Sy backq DDI/DKI
122 .It Sy bcanput DDI/DKI
123 .It Sy bcanputnext DDI/DKI
124 .It Sy bufcall DDI/DKI
125 .It Sy canput DDI/DKI
126 .It Sy canputnext DDI/DKI
127 .It Sy clrbuf DDI/DKI
128 .It Sy copyb DDI/DKI
129 .It Sy copymsg DDI/DKI
130 .It Sy DB_BASE Solaris DDI
131 .It Sy DB_LIM Solaris DDI
132 .It Sy DB_REF Solaris DDI
133 .It Sy DB_TYPE Solaris DDI
134 .It Sy datamsg DDI/DKI
135 .It Sy dupb DDI/DKI
136 .It Sy dupmsg DDI/DKI
137 .It Sy enableok DDI/DKI
138 .It Sy esballoc DDI/DKI
139 .It Sy esbbcall DDI/DKI
140 .It Sy flushband DDI/DKI
141 .It Sy flushq DDI/DKI
142 .It Sy freeb DDI/DKI
143 .It Sy freemsg DDI/DKI
144 .It Sy freezestr DDI/DKI
145 .It Sy getq DDI/DKI
146 .It Sy IOC_CONVERT_FROM Solaris DDI
147 .It Sy insq DDI/DKI
148 .It Sy linkb DDI/DKI
149 .It Sy MBLKHEAD Solaris DDI
150 .It Sy MBLKIN Solaris DDI
151 .It Sy MBLKL Solaris DDI
152 .It Sy MBLKSIZE Solaris DDI
153 .It Sy MBLKTAIL Solaris DDI
154 .It Sy mcopyin Solaris DDI
155 .It Sy mcopymsg Solaris DDI
156 .It Sy mcopyout Solaris DDI
157 .It Sy merror Solaris DDI
158 .It Sy mexchange Solaris DDI
159 .It Sy mioc2ack Solaris DDI
160 .It Sy miocack Solaris DDI
161 .It Sy mexchange Solaris DDI
162 .It Sy miocpullup Solaris DDI
163 .It Sy mkiocb Solaris DDI
164 .It Sy msgdsize DDI/DKI
165 .It Sy msgpullup DDI/DKI
166 .It Sy msgsize Solaris DDI
167 .It Sy mt-streams Solaris DDI
168 .It Sy noenable DDI/DKI
169 .It Sy OTHERQ DDI/DKI
170 .It Sy pullupmsg DDI/DKI
171 .It Sy put DDI/DKI
172 .It Sy putbq DDI/DKI
173 .It Sy putctl DDI/DKI
174 .It Sy putctl1 DDI/DKI
175 .It Sy putnext DDI/DKI
176 .It Sy putnextctl DDI/DKI
177 .It Sy putq DDI/DKI
178 .It Sy qassociate Solaris DDI
179 .It Sy qbufcall Solaris DDI
180 .It Sy qenable DDI/DKI
181 .It Sy qprocson DDI/DKI
182 .It Sy qprocsoff DDI/DKI
183 .It Sy qreply DDI/DKI
184 .It Sy qsize DDI/DKI
185 .It Sy qtimeout Solaris DDI
186 .It Sy qunbufcall Solaris DDI
187 .It Sy quntimeout Solaris DDI
188 .It Sy qwait Solaris DDI
189 .It Sy qwait_sig Solaris DDI
190 .It Sy qwriter Solaris DDI
191 .It Sy RD DDI/DKI
192 .It Sy rmvb DDI/DKI
193 .It Sy rmvq DDI/DKI
194 .It Sy SAMESTR DDI/DKI
195 .It Sy strlog DDI/DKI
196 .It Sy strqget DDI/DKI
197 .It Sy strqset DDI/DKI
198 .It Sy testb DDI/DKI
199 .It Sy unbufcall DDI/DKI
200 .It Sy unfreezestr DDI/DKI
201 .It Sy unlinkb DDI/DKI
202 .It Sy WR DDI/DKI
203 .El
204 .Lp
205 The following table summarizes the functions not specific to STREAMS.
206 .Bl -column usb_pipe_get_max_bulk_transfer_size
207 .It Sy Routine Sy Type
208 .It Sy ASSERT DDI/DKI
209 .It Sy anocancel Solaris DDI
210 .It Sy aphysio Solaris DDI
211 .It Sy atomic_add DDI/DKI
212 .It Sy atomic_and DDI/DKI
213 .It Sy atomic_bits DDI/DKI
214 .It Sy atomic_cas DDI/DKI
215 .It Sy atomic_dec DDI/DKI
216 .It Sy atomic_inc DDI/DKI
217 .It Sy atomic_ops DDI/DKI
218 .It Sy atomic_or DDI/DKI
219 .It Sy atomic_swap DDI/DKI
220 .It Sy bcmp DDI/DKI
221 .It Sy bcopy DDI/DKI
222 .It Sy bioclone Solaris DDI
223 .It Sy biodone DDI/DKI
224 .It Sy biofini Solaris DDI
225 .It Sy bioinit Solaris DDI
226 .It Sy biomodified Solaris DDI
227 .It Sy biosize Solaris DDI
228 .It Sy bioerror Solaris DDI
229 .It Sy bioreset Solaris DDI
230 .It Sy biowait DDI/DKI
231 .It Sy bp_copyin DDI/DKI
232 .It Sy bp_copyout DDI/DKI
233 .It Sy bp_mapin DDI/DKI
234 .It Sy bp_mapout DDI/DKI
235 .It Sy btop DDI/DKI
236 .It Sy btopr DDI/DKI
237 .It Sy bzero DDI/DKI
238 .It Sy cmn_err DDI/DKI
239 .It Sy condvar Solaris DDI
240 .It Sy copyin DDI/DKI
241 .It Sy copyout DDI/DKI
242 .It Sy cv_broadcast Solaris DDI
243 .It Sy cv_destroy Solaris DDI
244 .It Sy cv_init Solaris DDI
245 .It Sy cv_signal Solaris DDI
246 .It Sy cv_timedwait Solaris DDI
247 .It Sy cv_wait Solaris DDI
248 .It Sy cv_wait_sig Solaris DDI
249 .It Sy ddi_add_event_handler Solaris DDI
250 .It Sy ddi_add_intr Solaris DDI
251 .It Sy ddi_add_softintr Solaris DDI
252 .It Sy ddi_binding_name Solaris DDI
253 .It Sy ddi_btop Solaris DDI
254 .It Sy ddi_btopr Solaris DDI
255 .It Sy ddi_can_receive_sig Solaris DDI
256 .It Sy ddi_check_acc_handle Solaris DDI
257 .It Sy ddi_copyin Solaris DDI
258 .It Sy ddi_copyout Solaris DDI
259 .It Sy ddi_create_minor_node Solaris DDI
260 .It Sy ddi_cred Solaris DDI
261 .It Sy ddi_dev_is_sid Solaris DDI
262 .It Sy ddi_dev_nintrs Solaris DDI
263 .It Sy ddi_dev_nregs Solaris DDI
264 .It Sy ddi_dev_regsize Solaris DDI
265 .It Sy ddi_device_copy Solaris DDI
266 .It Sy ddi_device_zero Solaris DDI
267 .It Sy ddi_devmap_segmap Solaris DDI
268 .It Sy ddi_dma_addr_bind_handle Solaris DDI
269 .It Sy ddi_dma_alloc_handle Solaris DDI
270 .It Sy ddi_dma_buf_bind_handle Solaris DDI
271 .It Sy ddi_dma_burstsizes Solaris DDI
272 .It Sy ddi_dma_free_handle Solaris DDI
273 .It Sy ddi_dma_getwin Solaris DDI
274 .It Sy ddi_dma_mem_alloc Solaris DDI
275 .It Sy ddi_dma_mem_free Solaris DDI
276 .It Sy ddi_dma_nextcookie Solaris DDI
277 .It Sy ddi_dma_numwin Solaris DDI
278 .It Sy ddi_dma_set_sbus64 Solaris DDI
279 .It Sy ddi_dma_sync Solaris DDI
280 .It Sy ddi_dma_unbind_handle Solaris DDI
281 .It Sy ddi_dmae Solaris x86 DDI
282 .It Sy ddi_dmae_1stparty Solaris x86 DDI
283 .It Sy ddi_dmae_alloc Solaris x86 DDI
284 .It Sy ddi_dmae_disable Solaris x86 DDI
285 .It Sy ddi_dmae_enable Solaris x86 DDI
286 .It Sy ddi_dmae_getattr Solaris x86 DDI
287 .It Sy ddi_dmae_getcnt Solaris x86 DDI
288 .It Sy ddi_dmae_getlim Solaris x86 DDI
289 .It Sy ddi_dmae_prog Solaris x86 DDI
290 .It Sy ddi_dmae_release Solaris x86 DDI
291 .It Sy ddi_dmae_stop Solaris x86 DDI
292 .It Sy ddi_driver_major Solaris DDI
293 .It Sy ddi_driver_name Solaris DDI
294 .It Sy ddi_enter_critical Solaris DDI
295 .It Sy ddi_exit_critical Solaris DDI
296 .It Sy ddi_ffs Solaris DDI
297 .It Sy ddi_fls Solaris DDI
298 .It Sy ddi_fm_acc_err_clear Solaris DDI
299 .It Sy ddi_fm_acc_err_get Solaris DDI
300 .It Sy ddi_fm_ereport_post Solaris DDI
301 .It Sy ddi_fm_handler_register Solaris DDI
302 .It Sy ddi_fm_init Solaris DDI
303 .It Sy ddi_fm_service_impact Solaris DDI
304 .It Sy ddi_get16 Solaris DDI
305 .It Sy ddi_get32 Solaris DDI
306 .It Sy ddi_get64 Solaris DDI
307 .It Sy ddi_get8 Solaris DDI
308 .It Sy ddi_get_cred Solaris DDI
309 .It Sy ddi_get_devstate Solaris DDI
310 .It Sy ddi_get_driver_private Solaris DDI
311 .It Sy ddi_get_eventcookie Solaris DDI
312 .It Sy ddi_get_iblock_cookie Solaris DDI
313 .It Sy ddi_get_iminor Solaris DDI
314 .It Sy ddi_get_instance Solaris DDI
315 .It Sy ddi_get_kt_did Solaris DDI
316 .It Sy ddi_get_lbolt Solaris DDI
317 .It Sy ddi_get_name Solaris DDI
318 .It Sy ddi_get_parent Solaris DDI
319 .It Sy ddi_get_pid Solaris DDI
320 .It Sy ddi_get_soft_iblock_cookie Solaris DDI
321 .It Sy ddi_get_soft_state Solaris DDI
322 .It Sy ddi_getb Solaris DDI
323 .It Sy ddi_getl Solaris DDI
324 .It Sy ddi_getll Solaris DDI
325 .It Sy ddi_getlongprop Solaris DDI
326 .It Sy ddi_getlongprop_buf Solaris DDI
327 .It Sy ddi_getprop Solaris DDI
328 .It Sy ddi_getproplen Solaris DDI
329 .It Sy ddi_getw Solaris DDI
330 .It Sy ddi_intr_add_handler Solaris DDI
331 .It Sy ddi_intr_add_softint Solaris DDI
332 .It Sy ddi_intr_alloc Solaris DDI
333 .It Sy ddi_intr_block_disable Solaris DDI
334 .It Sy ddi_intr_block_enable Solaris DDI
335 .It Sy ddi_intr_clr_mask Solaris DDI
336 .It Sy ddi_intr_dup_handler Solaris DDI
337 .It Sy ddi_intr_disable Solaris DDI
338 .It Sy ddi_intr_enable Solaris DDI
339 .It Sy ddi_intr_free Solaris DDI
340 .It Sy ddi_intr_get_cap Solaris DDI
341 .It Sy ddi_intr_get_hilevel_pri Solaris DDI
342 .It Sy ddi_intr_get_navail Solaris DDI
343 .It Sy ddi_intr_get_nintrs Solaris DDI
344 .It Sy ddi_intr_get_pending Solaris DDI
345 .It Sy ddi_intr_get_pri Solaris DDI
346 .It Sy ddi_intr_get_softint_pri Solaris DDI
347 .It Sy ddi_intr_get_supported_types Solaris DDI
348 .It Sy ddi_intr_remove_handler Solaris DDI
349 .It Sy ddi_intr_remove_softint Solaris DDI
350 .It Sy ddi_intr_set_cap Solaris DDI
351 .It Sy ddi_intr_set_mask Solaris DDI
352 .It Sy ddi_intr_set_pri Solaris DDI
353 .It Sy ddi_intr_set_softint_pri Solaris DDI
354 .It Sy ddi_intr_trigger_softint Solaris DDI
355 .It Sy ddi_io_get16 Solaris DDI
356 .It Sy ddi_io_get32 Solaris DDI
357 .It Sy ddi_io_get8 Solaris DDI
358 .It Sy ddi_io_getb Solaris DDI
359 .It Sy ddi_io_getl Solaris DDI
360 .It Sy ddi_io_getw Solaris DDI
361 .It Sy ddi_io_put16 Solaris DDI
362 .It Sy ddi_io_put32 Solaris DDI
363 .It Sy ddi_io_put8 Solaris DDI
364 .It Sy ddi_io_putb Solaris DDI
365 .It Sy ddi_io_putl Solaris DDI
366 .It Sy ddi_io_putw Solaris DDI
367 .It Sy ddi_io_rep_get16 Solaris DDI
368 .It Sy ddi_io_rep_get32 Solaris DDI
369 .It Sy ddi_io_rep_get8 Solaris DDI
370 .It Sy ddi_io_rep_getb Solaris DDI
371 .It Sy ddi_io_rep_getl Solaris DDI
372 .It Sy ddi_io_rep_getw Solaris DDI
373 .It Sy ddi_io_rep_put16 Solaris DDI
374 .It Sy ddi_io_rep_put32 Solaris DDI
375 .It Sy ddi_io_rep_put8 Solaris DDI
376 .It Sy ddi_io_rep_putb Solaris DDI
377 .It Sy ddi_io_rep_putl Solaris DDI
378 .It Sy ddi_io_rep_putw Solaris DDI
379 .It Sy ddi_iomin Solaris DDI
380 .It Sy ddi_log_sysevent Solaris DDI
381 .It Sy ddi_map_regs Solaris DDI
382 .It Sy ddi_mapdev Solaris DDI
383 .It Sy ddi_mapdev_intercept Solaris DDI
384 .It Sy ddi_mapdev_nointercept Solaris DDI
385 .It Sy ddi_mapdev_set_device_acc_attr Solaris DDI
386 .It Sy ddi_mem_get16 Solaris DDI
387 .It Sy ddi_mem_get32 Solaris DDI
388 .It Sy ddi_mem_get64 Solaris DDI
389 .It Sy ddi_mem_get8 Solaris DDI
390 .It Sy ddi_mem_getb Solaris DDI
391 .It Sy ddi_mem_getl Solaris DDI
392 .It Sy ddi_mem_getll Solaris DDI
393 .It Sy ddi_mem_getw Solaris DDI
394 .It Sy ddi_mem_put16 Solaris DDI
395 .It Sy ddi_mem_put32 Solaris DDI
396 .It Sy ddi_mem_put64 Solaris DDI
397 .It Sy ddi_mem_put8 Solaris DDI
398 .It Sy ddi_mem_putb Solaris DDI
399 .It Sy ddi_mem_putl Solaris DDI
400 .It Sy ddi_mem_putll Solaris DDI
401 .It Sy ddi_mem_putw Solaris DDI
402 .It Sy ddi_mem_rep_get16 Solaris DDI
403 .It Sy ddi_mem_rep_get32 Solaris DDI
404 .It Sy ddi_mem_rep_get64 Solaris DDI
405 .It Sy ddi_mem_rep_get8 Solaris DDI
406 .It Sy ddi_mem_rep_getb Solaris DDI
407 .It Sy ddi_mem_rep_getl Solaris DDI
408 .It Sy ddi_mem_rep_getll Solaris DDI
409 .It Sy ddi_mem_rep_getw Solaris DDI
410 .It Sy ddi_mem_rep_put16 Solaris DDI
411 .It Sy ddi_mem_rep_put32 Solaris DDI
412 .It Sy ddi_mem_rep_put64 Solaris DDI
413 .It Sy ddi_mem_rep_put8 Solaris DDI
414 .It Sy ddi_mem_rep_putb Solaris DDI
415 .It Sy ddi_mem_rep_putl Solaris DDI
416 .It Sy ddi_mem_rep_putll Solaris DDI
417 .It Sy ddi_mem_rep_putw Solaris DDI
418 .It Sy ddi_mmap_get_model Solaris DDI
419 .It Sy ddi_model_convert_from Solaris DDI
420 .It Sy ddi_modopen Solaris DDI
421 .It Sy ddi_no_info Solaris DDI
422 .It Sy ddi_node_name Solaris DDI
423 .It Sy ddi_peek16 Solaris DDI
424 .It Sy ddi_peek32 Solaris DDI
425 .It Sy ddi_peek64 Solaris DDI
426 .It Sy ddi_peek8 Solaris DDI
427 .It Sy ddi_peekc Solaris DDI
428 .It Sy ddi_peekd Solaris DDI
429 .It Sy ddi_peekl Solaris DDI
430 .It Sy ddi_peeks Solaris DDI
431 .It Sy ddi_periodic_add Solaris DDI
432 .It Sy ddi_periodic_delete Solaris DDI
433 .It Sy ddi_poke16 Solaris DDI
434 .It Sy ddi_poke32 Solaris DDI
435 .It Sy ddi_poke64 Solaris DDI
436 .It Sy ddi_poke8 Solaris DDI
437 .It Sy ddi_pokec Solaris DDI
438 .It Sy ddi_poked Solaris DDI
439 .It Sy ddi_pokel Solaris DDI
440 .It Sy ddi_pokes Solaris DDI
441 .It Sy ddi_prop_create Solaris DDI
442 .It Sy ddi_prop_exists Solaris DDI
443 .It Sy ddi_prop_free Solaris DDI
444 .It Sy ddi_prop_get_int Solaris DDI
445 .It Sy ddi_prop_lookup Solaris DDI
446 .It Sy ddi_prop_lookup_byte_array Solaris DDI
447 .It Sy ddi_prop_lookup_int_array Solaris DDI
448 .It Sy ddi_prop_lookup_string Solaris DDI
449 .It Sy ddi_prop_lookup_string_array Solaris DDI
450 .It Sy ddi_prop_modify Solaris DDI
451 .It Sy ddi_prop_op Solaris DDI
452 .It Sy ddi_prop_remove Solaris DDI
453 .It Sy ddi_prop_remove_all Solaris DDI
454 .It Sy ddi_prop_undefine Solaris DDI
455 .It Sy ddi_prop_update Solaris DDI
456 .It Sy ddi_prop_update_byte_array Solaris DDI
457 .It Sy ddi_prop_update_int Solaris DDI
458 .It Sy ddi_prop_update_int_array Solaris DDI
459 .It Sy ddi_prop_update_string Solaris DDI
460 .It Sy ddi_prop_update_string_array Solaris DDI
461 .It Sy ddi_ptob Solaris DDI
462 .It Sy ddi_put16 Solaris DDI
463 .It Sy ddi_put32 Solaris DDI
464 .It Sy ddi_put64 Solaris DDI
465 .It Sy ddi_put8 Solaris DDI
466 .It Sy ddi_putb Solaris DDI
467 .It Sy ddi_putl Solaris DDI
468 .It Sy ddi_putll Solaris DDI
469 .It Sy ddi_putw Solaris DDI
470 .It Sy ddi_regs_map_free Solaris DDI
471 .It Sy ddi_regs_map_setup Solaris DDI
472 .It Sy ddi_remove_event_handler Solaris DDI
473 .It Sy ddi_remove_intr Solaris DDI
474 .It Sy ddi_remove_minor_node Solaris DDI
475 .It Sy ddi_remove_softintr Solaris DDI
476 .It Sy ddi_removing_power Solaris DDI
477 .It Sy ddi_rep_get16 Solaris DDI
478 .It Sy ddi_rep_get32 Solaris DDI
479 .It Sy ddi_rep_get64 Solaris DDI
480 .It Sy ddi_rep_get8 Solaris DDI
481 .It Sy ddi_rep_getb Solaris DDI
482 .It Sy ddi_rep_getl Solaris DDI
483 .It Sy ddi_rep_getll Solaris DDI
484 .It Sy ddi_rep_getw Solaris DDI
485 .It Sy ddi_rep_put16 Solaris DDI
486 .It Sy ddi_rep_put32 Solaris DDI
487 .It Sy ddi_rep_put64 Solaris DDI
488 .It Sy ddi_rep_put8 Solaris DDI
489 .It Sy ddi_rep_putb Solaris DDI
490 .It Sy ddi_rep_putl Solaris DDI
491 .It Sy ddi_rep_putll Solaris DDI
492 .It Sy ddi_rep_putw Solaris DDI
493 .It Sy ddi_report_dev Solaris DDI
494 .It Sy ddi_root_node Solaris DDI
495 .It Sy ddi_segmap Solaris DDI
496 .It Sy ddi_segmap_setup Solaris DDI
497 .It Sy ddi_set_driver_private Solaris DDI
498 .It Sy ddi_slaveonly Solaris DDI
499 .It Sy ddi_soft_state Solaris DDI
500 .It Sy ddi_soft_state_fini Solaris DDI
501 .It Sy ddi_soft_state_free Solaris DDI
502 .It Sy ddi_soft_state_init Solaris DDI
503 .It Sy ddi_soft_state_zalloc Solaris DDI
504 .It Sy ddi_strlol Solaris DDI
505 .It Sy ddi_strloul Solaris DDI
506 .It Sy ddi_trigger_softintr Solaris DDI
507 .It Sy ddi_umem_alloc Solaris DDI
508 .It Sy ddi_umem_free Solaris DDI
509 .It Sy ddi_umem_iosetup Solaris DDI
510 .It Sy ddi_umem_lock Solaris DDI
511 .It Sy ddi_unmap_regs Solaris DDI
512 .It Sy delay DDI/DKI
513 .It Sy devmap_default_access Solaris DDI
514 .It Sy devmap_devmem_setup Solaris DDI
515 .It Sy devmap_do_ctxmgt Solaris DDI
516 .It Sy devmap_load Solaris DDI
517 .It Sy devmap_set_ctx_timeout Solaris DDI
518 .It Sy devmap_setup Solaris DDI
519 .It Sy devmap_umem_setup Solaris DDI
520 .It Sy devmap_unload Solaris DDI
521 .It Sy disksort Solaris DDI
522 .It Sy dlbindack Solaris DDI
523 .It Sy drv_getparm DDI/DKI
524 .It Sy drv_hztousec DDI/DKI
525 .It Sy drv_priv DDI/DKI
526 .It Sy drv_usectohz DDI/DKI
527 .It Sy drv_usecwait DDI/DKI
528 .It Sy free_pktiopb Solaris DDI
529 .It Sy freerbuf DDI/DKI
530 .It Sy get_pktiopb Solaris DDI
531 .It Sy geterror DDI/DKI
532 .It Sy gethrtime DDI/DKI
533 .It Sy getmajor DDI/DKI
534 .It Sy getminor DDI/DKI
535 .It Sy getrbuf DDI/DKI
536 .It Sy gld Solaris DDI
537 .It Sy hat_getkpfnum DKI only
538 .It Sy id32_alloc Solaris DDI
539 .It Sy inb Solaris x86 DDI
540 .It Sy inl Solaris x86 DDI
541 .It Sy inw Solaris x86 DDI
542 .It Sy kiconv Solaris DDI
543 .It Sy kiconv_close Solaris DDI
544 .It Sy kiconv_open Solaris DDI
545 .It Sy kiconvstr Solaris DDI
546 .It Sy kmem_alloc DDI/DKI
547 .It Sy kmem_cache_create Solaris DDI
548 .It Sy kmem_free DDI/DKI
549 .It Sy kmem_zalloc DDI/DKI
550 .It Sy kstat_create Solaris DDI
551 .It Sy kstat_delete Solaris DDI
552 .It Sy kstat_install Solaris DDI
553 .It Sy kstat_named_init Solaris DDI
554 .It Sy kstat_queue Solaris DDI
555 .It Sy kstat_runq_back_to_waitq Solaris DDI
556 .It Sy kstat_runq_enter Solaris DDI
557 .It Sy kstat_runq_exit Solaris DDI
558 .It Sy kstat_waitq_enter Solaris DDI
559 .It Sy kstat_waitq_exit Solaris DDI
560 .It Sy kstat_waitq_to_runq Solaris DDI
561 .It Sy ldi_add_event_handler Solaris DDI
562 .It Sy ldi_aread Solaris DDI
563 .It Sy ldi_devmap Solaris DDI
564 .It Sy ldi_dump Solaris DDI
565 .It Sy ldi_ev_finalize Solaris DDI
566 .It Sy ldi_ev_get_cookie Solaris DDI
567 .It Sy ldi_ev_get_type Solaris DDI
568 .It Sy ldi_ev_notify Solaris DDI
569 .It Sy ldi_ev_register_callbacks Solaris DDI
570 .It Sy ldi_ev_remove_callbacks Solaris DDI
571 .It Sy ldi_get_dev Solaris DDI
572 .It Sy ldi_get_eventcookie Solaris DDI
573 .It Sy ldi_get_size Solaris DDI
574 .It Sy ldi_ident_from_dev Solaris DDI
575 .It Sy ldi_ioctl Solaris DDI
576 .It Sy ldi_open_by_dev Solaris DDI
577 .It Sy ldi_poll Solaris DDI
578 .It Sy ldi_prop_exists Solaris DDI
579 .It Sy ldi_prop_get_int Solaris DDI
580 .It Sy ldi_prop_get_lookup_int_array Solaris DDI
581 .It Sy ldi_putmsg Solaris DDI
582 .It Sy ldi_read Solaris DDI
583 .It Sy ldi_remove_event_handler Solaris DDI
584 .It Sy ldi_strategy Solaris DDI
585 .It Sy makecom_g0 Solaris DDI
586 .It Sy makecom_g0_s Solaris DDI
587 .It Sy makecom_g1 Solaris DDI
588 .It Sy makecom_g5 Solaris DDI
589 .It Sy makedevice DDI/DKI
590 .It Sy max DDI/DKI
591 .It Sy membar_ops Solaris DDI
592 .It Sy memchr Solaris DDI
593 .It Sy min DDI/DKI
594 .It Sy minphys Solaris DDI
595 .It Sy mod_info Solaris DDI
596 .It Sy mod_install Solaris DDI
597 .It Sy mod_remove Solaris DDI
598 .It Sy mutex_destroy Solaris DDI
599 .It Sy mutex_enter Solaris DDI
600 .It Sy mutex_exit Solaris DDI
601 .It Sy mutex_init Solaris DDI
602 .It Sy mutex_owned Solaris DDI
603 .It Sy mutex_tryenter Solaris DDI
604 .It Sy nochpoll Solaris DDI
605 .It Sy nodev DDI/DKI
606 .It Sy nulldev DDI/DKI
607 .It Sy numtos Solaris DDI
608 .It Sy nvlist_add_boolean Solaris DDI
609 .It Sy nvlist_alloc Solaris DDI
610 .It Sy nvlist_lookup_boolean Solaris DDI
611 .It Sy nvlist_lookup_nvpair Solaris DDI
612 .It Sy nvlist_next_nvpair Solaris DDI
613 .It Sy nvlist_remove Solaris DDI
614 .It Sy nvlist_value_byte Solaris DDI
615 .It Sy outb Solaris x86 DDI
616 .It Sy outl Solaris x86 DDI
617 .It Sy outw Solaris x86 DDI
618 .It Sy pci_config_get16 Solaris DDI
619 .It Sy pci_config_get32 Solaris DDI
620 .It Sy pci_config_get64 Solaris DDI
621 .It Sy pci_config_get8 Solaris DDI
622 .It Sy pci_config_getb Solaris DDI
623 .It Sy pci_config_getl Solaris DDI
624 .It Sy pci_config_getw Solaris DDI
625 .It Sy pci_config_put16 Solaris DDI
626 .It Sy pci_config_put32 Solaris DDI
627 .It Sy pci_config_put64 Solaris DDI
628 .It Sy pci_config_put8 Solaris DDI
629 .It Sy pci_config_putb Solaris DDI
630 .It Sy pci_config_putl Solaris DDI
631 .It Sy pci_config_putw Solaris DDI
632 .It Sy pci_config_setup Solaris DDI
633 .It Sy pci_config_teardown Solaris DDI
634 .It Sy pci_ereport_setup Solaris DDI
635 .It Sy pci_report_pmcap Solaris DDI
636 .It Sy pci_save_config_regs Solaris DDI
637 .It Sy physio Solaris DDI
638 .It Sy pm_busy_component Solaris DDI
639 .It Sy pm_power_has_changed Solaris DDI
640 .It Sy pm_raise_power Solaris DDI
641 .It Sy pm_trans_check Solaris DDI
642 .It Sy pollwakeup DDI/DKI
643 .It Sy pci_config_teardown Solaris DDI
644 .It Sy pci_config_teardown Solaris DDI
645 .It Sy priv_getbyname Solaris DDI
646 .It Sy priv_policy Solaris DDI
647 .It Sy proc_signal Solaris DDI
648 .It Sy proc_unref Solaris DDI
649 .It Sy ptob DDI/DKI
650 .It Sy repinsb Solaris x86 DDI
651 .It Sy repinsd Solaris x86 DDI
652 .It Sy repinsw Solaris x86 DDI
653 .It Sy repoutsb Solaris x86 DDI
654 .It Sy repoutsd Solaris x86 DDI
655 .It Sy repoutsw Solaris x86 DDI
656 .It Sy rmalloc DDI/DKI
657 .It Sy rmalloc_wait DDI/DKI
658 .It Sy rmallocmap DDI/DKI
659 .It Sy rmallocmap_wait DDI/DKI
660 .It Sy rmfree DDI/DKI
661 .It Sy rmfreemap DDI/DKI
662 .It Sy rw_destroy Solaris DDI
663 .It Sy rw_downgrade Solaris DDI
664 .It Sy rw_enter Solaris DDI
665 .It Sy rw_exit Solaris DDI
666 .It Sy rw_init Solaris DDI
667 .It Sy rw_read_locked Solaris DDI
668 .It Sy rw_tryenter Solaris DDI
669 .It Sy rw_tryupgrade Solaris DDI
670 .It Sy scsi_abort Solaris DDI
671 .It Sy scsi_alloc_consistent_buf Solaris DDI
672 .It Sy scsi_cname Solaris DDI
673 .It Sy scsi_destroy_pkt Solaris DDI
674 .It Sy scsi_dmafree Solaris DDI
675 .It Sy scsi_dmaget Solaris DDI
676 .It Sy scsi_dname Solaris DDI
677 .It Sy scsi_errmsg Solaris DDI
678 .It Sy scsi_ext_sense_fields Solaris DDI
679 .It Sy scsi_find_sense_descr Solaris DDI
680 .It Sy scsi_free_consistent_buf Solaris DDI
681 .It Sy scsi_get_device_type_scsi_options Solaris DDI
682 .It Sy scsi_get_device_type_string Solaris DDI
683 .It Sy scsi_hba_attach_setup Solaris DDI
684 .It Sy scsi_hba_detach Solaris DDI
685 .It Sy scsi_hba_fini Solaris DDI
686 .It Sy scsi_hba_init Solaris DDI
687 .It Sy scsi_hba_lookup_capstr Solaris DDI
688 .It Sy scsi_hba_pkt_alloc Solaris DDI
689 .It Sy scsi_hba_pkt_free Solaris DDI
690 .It Sy scsi_hba_probe Solaris DDI
691 .It Sy scsi_hba_tran_alloc Solaris DDI
692 .It Sy scsi_hba_tran_free Solaris DDI
693 .It Sy scsi_ifgetcap Solaris DDI
694 .It Sy scsi_ifsetcap Solaris DDI
695 .It Sy scsi_init_pkt Solaris DDI
696 .It Sy scsi_log Solaris DDI
697 .It Sy scsi_mname Solaris DDI
698 .It Sy scsi_pktalloc Solaris DDI
699 .It Sy scsi_pktfree Solaris DDI
700 .It Sy scsi_poll Solaris DDI
701 .It Sy scsi_probe Solaris DDI
702 .It Sy scsi_resalloc Solaris DDI
703 .It Sy scsi_reset Solaris DDI
704 .It Sy scsi_reset_notify Solaris DDI
705 .It Sy scsi_resfree Solaris DDI
706 .It Sy scsi_rname Solaris DDI
707 .It Sy scsi_sense_key Solaris DDI
708 .It Sy scsi_setup_cdb Solaris DDI
709 .It Sy scsi_slave Solaris DDI
710 .It Sy scsi_sname Solaris DDI
711 .It Sy scsi_sync_pkt Solaris DDI
712 .It Sy scsi_transport Solaris DDI
713 .It Sy scsi_unprobe Solaris DDI
714 .It Sy scsi_unslave Solaris DDI
715 .It Sy scsi_validate_sense Solaris DDI
716 .It Sy scsi_vu_errmsg Solaris DDI
717 .It Sy sema_destroy Solaris DDI
718 .It Sy sema_init Solaris DDI
719 .It Sy sema_p Solaris DDI
720 .It Sy sema_p_sig Solaris DDI
721 .It Sy sema_tryp Solaris DDI
722 .It Sy sema_v Solaris DDI
723 .It Sy sprintf Solaris DDI
724 .It Sy stoi Solaris DDI
725 .It Sy strchr Solaris DDI
726 .It Sy strcmp Solaris DDI
727 .It Sy strcpy Solaris DDI
728 .It Sy strlen Solaris DDI
729 .It Sy strncmp Solaris DDI
730 .It Sy strncpy Solaris DDI
731 .It Sy STRUCT_DECL Solaris DDI
732 .It Sy swab DDI/DKI
733 .It Sy taskq Solaris DDI
734 .It Sy timeout DDI/DKI
735 .It Sy u8_strcmp Solaris DDI
736 .It Sy u8_textprep_str Solaris DDI
737 .It Sy u8_validate Solaris DDI
738 .It Sy uconv_u16tou32 Solaris DDI
739 .It Sy uiomove DDI/DKI
740 .It Sy untimeout DDI/DKI
741 .It Sy ureadc DDI/DKI
742 .It Sy usb_alloc_request Solaris DDI
743 .It Sy usb_client_attach Solaris DDI
744 .It Sy usb_clr_feature Solaris DDI
745 .It Sy usb_create_pm_components Solaris DDI
746 .It Sy usb_get_addr Solaris DDI
747 .It Sy usb_get_alt_if Solaris DDI
748 .It Sy usb_get_cfg Solaris DDI
749 .It Sy usb_get_current_frame_number Solaris DDI
750 .It Sy usb_get_dev_data Solaris DDI
751 .It Sy usb_get_max_pkts_per_ioc_request Solaris DDI
752 .It Sy usb_get_status Solaris DDI
753 .It Sy usb_get_string_desc Solaris DDI
754 .It Sy usb_handle_remote_wakeup Solaris DDI
755 .It Sy usb_lookup_ep_data Solaris DDI
756 .It Sy usb_parse_data Solaris DDI
757 .It Sy usb_pipe_bulk_xfer Solaris DDI
758 .It Sy usb_pipe_close Solaris DDI
759 .It Sy usb_pipe_ctrl_xfer Solaris DDI
760 .It Sy usb_pipe_drain_reqs Solaris DDI
761 .It Sy usb_pipe_get_max_bulk_transfer_size Solaris DDI
762 .It Sy usb_pipe_get_state Solaris DDI
763 .It Sy usb_pipe_intr_xfer Solaris DDI
764 .It Sy usb_pipe_isoc_xfer Solaris DDI
765 .It Sy usb_pipe_open Solaris DDI
766 .It Sy usb_pipe_reset Solaris DDI
767 .It Sy usb_pipe_set_private Solaris DDI
768 .It Sy usb_register_hotplug_cbs Solaris DDI
769 .It Sy usb_reset_device Solaris DDI
770 .It Sy uwritec DDI/DKI
771 .It Sy va_arg Solaris DDI
772 .It Sy va_end Solaris DDI
773 .It Sy va_start Solaris DDI
774 .It Sy vcmn_err DDI/DKI
775 .It Sy vsprintf Solaris DDI
776 .El
777 .Sh SEE ALSO
778 .Xr Intro 9E ,
779 .Xr mutex 9F
|