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