998 obsolete DMA driver interfaces should be removed
[illumos-gate.git] / usr / src / man / man9f / Intro.9f
blobe88df92fc2ac3784d6776217ac3323ee52f9628a
1 '\" te
2 .\" Copyright 2012 Garrett D'Amore <garrett@damore.org>.  All rights reserved.
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).
109 .RS +4
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.
116 .RS +4
118 .ie t \(bu
119 .el o
120 \fBEXAMPLES\fR shows how the function can be used in driver code.
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
129 The following table summarizes the STREAMS functions described in this section.
134 c c
135 l l .
136 Routine Type
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
227 The following table summarizes the functions not specific to STREAMS.
232 c c
233 l l .
234 Routine Type
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\fR   Solaris DDI
770 \fBscsi_hba_attach_setup\fR     Solaris DDI
771 \fBscsi_hba_detach\fR   Solaris DDI
772 \fBscsi_hba_fini\fR     Solaris DDI
773 \fBscsi_hba_init\fR     Solaris DDI
774 \fBscsi_hba_lookup_capstr\fR    Solaris DDI
775 \fBscsi_hba_pkt_alloc\fR        Solaris DDI
776 \fBscsi_hba_pkt_free\fR Solaris DDI
777 \fBscsi_hba_probe\fR    Solaris DDI
778 \fBscsi_hba_tran_alloc\fR       Solaris DDI
779 \fBscsi_hba_tran_free\fR        Solaris DDI
780 \fBscsi_ifgetcap\fR     Solaris DDI
781 \fBscsi_ifsetcap\fR     Solaris DDI
782 \fBscsi_init_pkt\fR     Solaris DDI
783 \fBscsi_log\fR  Solaris DDI
784 \fBscsi_mname\fR        Solaris DDI
785 \fBscsi_pktalloc\fR     Solaris DDI
786 \fBscsi_pktfree\fR      Solaris DDI
787 \fBscsi_poll\fR Solaris DDI
788 \fBscsi_probe\fR        Solaris DDI
789 \fBscsi_resalloc\fR     Solaris DDI
790 \fBscsi_reset\fR        Solaris DDI
791 \fBscsi_reset_notify\fR Solaris DDI
792 \fBscsi_resfree\fR      Solaris DDI
793 \fBscsi_rname\fR        Solaris DDI
794 \fBscsi_sense_key\fR    Solaris DDI
795 \fBscsi_setup_cdb\fR    Solaris DDI
796 \fBscsi_slave\fR        Solaris DDI
797 \fBscsi_sname\fR        Solaris DDI
798 \fBscsi_sync_pkt\fR     Solaris DDI
799 \fBscsi_transport\fR    Solaris DDI
800 \fBscsi_unprobe\fR      Solaris DDI
801 \fBscsi_unslave\fR      Solaris DDI
802 \fBscsi_validate_sense\fR       Solaris DDI
803 \fBscsi_vu_errmsg\fR    Solaris DDI
804 \fBsema_destroy\fR      Solaris DDI
805 \fBsema_init\fR Solaris DDI
806 \fBsema_p\fR    Solaris DDI
807 \fBsema_p_sig\fR        Solaris DDI
808 \fBsema_tryp\fR Solaris DDI
809 \fBsema_v\fR    Solaris DDI
810 \fBsprintf\fR   Solaris DDI
811 \fBstoi\fR      Solaris DDI
812 \fBstrchr\fR    Solaris DDI
813 \fBstrcmp\fR    Solaris DDI
814 \fBstrcpy\fR    Solaris DDI
815 \fBstrlen\fR    Solaris DDI
816 \fBstrncmp\fR   Solaris DDI
817 \fBstrncpy\fR   Solaris DDI
818 \fBSTRUCT_DECL\fR       Solaris DDI
819 \fBswab\fR      DDI/DKI
820 \fBtaskq\fR     Solaris DDI
821 \fBtimeout\fR   DDI/DKI
822 \fBu8_strcmp\fR Solaris DDI
823 \fBu8_textprep_str\fR   Solaris DDI
824 \fBu8_validate\fR       Solaris DDI
825 \fBuconv_u16tou32\fR    Solaris DDI
826 \fBuiomove\fR   DDI/DKI
827 \fBuntimeout\fR DDI/DKI
828 \fBureadc\fR    DDI/DKI
829 \fBusb_alloc_request\fR Solaris DDI
830 \fBusb_client_attach\fR Solaris DDI
831 \fBusb_clr_feature\fR   Solaris DDI
832 \fBusb_create_pm_components\fR  Solaris DDI
833 \fBusb_get_addr\fR      Solaris DDI
834 \fBusb_get_alt_if\fR    Solaris DDI
835 \fBusb_get_cfg\fR       Solaris DDI
836 \fBusb_get_current_frame_number\fR      Solaris DDI
837 \fBusb_get_dev_data\fR  Solaris DDI
838 \fBusb_get_max_pkts_per_ioc_request\fR  Solaris DDI
839 \fBusb_get_status\fR    Solaris DDI
840 \fBusb_get_string_desc\fR       Solaris DDI
841 \fBusb_handle_remote_wakeup\fR  Solaris DDI
842 \fBusb_lookup_ep_data\fR        Solaris DDI
843 \fBusb_parse_data\fR    Solaris DDI
844 \fBusb_pipe_bulk_xfer\fR        Solaris DDI
845 \fBusb_pipe_close\fR    Solaris DDI
846 \fBusb_pipe_ctrl_xfer\fR        Solaris DDI
847 \fBusb_pipe_drain_reqs\fR       Solaris DDI
848 \fBusb_pipe_get_max_bulk_transfer_size\fR       Solaris DDI
849 \fBusb_pipe_get_state\fR        Solaris DDI
850 \fBusb_pipe_intr_xfer\fR        Solaris DDI
851 \fBusb_pipe_isoc_xfer\fR        Solaris DDI
852 \fBusb_pipe_open\fR     Solaris DDI
853 \fBusb_pipe_reset\fR    Solaris DDI
854 \fBusb_pipe_set_private\fR      Solaris DDI
855 \fBusb_register_hotplug_cbs\fR  Solaris DDI
856 \fBusb_reset_device\fR  Solaris DDI
857 \fBuwritec\fR   DDI/DKI
858 \fBva_arg\fR    Solaris DDI
859 \fBva_end\fR    Solaris DDI
860 \fBva_start\fR  Solaris DDI
861 \fBvcmn_err\fR  DDI/DKI
862 \fBvsprintf\fR  Solaris DDI
865 .SH SEE ALSO
868 \fBIntro\fR(9E), \fBmutex\fR(9F)