1 '\" te 2 .\" Copyright 2014 Pluribus Networks, Inc. 3 .\" Copyright 2012 Garrett D'Amore <garrett@damore.org>. 4 .\" Copyright (c) 2005, Sun Microsystems, Inc., All Rights Reserved 5 .\" 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. 6 .\" 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. 7 .\" 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] 8 .TH INTRO 9F "Feb 26, 2014" 9 .SH NAME 10 Intro, intro \- introduction to DDI/DKI functions 11 .SH DESCRIPTION 12 .sp 13 .LP 14 Section 9F describes the kernel functions available for use by device drivers. 15 See \fBIntro\fR(9E) for an overview of device driver interfaces. 16 .sp 17 .LP 18 In this section, the information for each driver function is organized under 19 the following headings: 20 .RS +4 21 .TP 22 .ie t \(bu 23 .el o 24 \fBNAME\fR summarizes the function's purpose. 25 .RE 26 .RS +4 27 .TP 28 .ie t \(bu 29 .el o 30 \fBSYNOPSIS\fR shows the syntax of the function's entry point in the source 31 code. \fB#include\fR directives are shown for required headers. 32 .RE 33 .RS +4 34 .TP 35 .ie t \(bu 36 .el o 37 \fBINTERFACE\fR \fBLEVEL\fR describes any architecture dependencies. 38 .RE 39 .RS +4 40 .TP 41 .ie t \(bu 42 .el o 43 \fBARGUMENTS\fR describes any arguments required to invoke the function. 44 .RE 45 .RS +4 46 .TP 47 .ie t \(bu 48 .el o 49 \fBDESCRIPTION\fR describes general information about the function. 50 .RE 51 .RS +4 52 .TP 53 .ie t \(bu 54 .el o 55 \fBRETURN\fR \fBVALUES\fR describes the return values and messages that can 56 result from invoking the function. 57 .RE 58 .RS +4 59 .TP 60 .ie t \(bu 61 .el o 62 \fBCONTEXT\fR indicates from which driver context (user, kernel, interrupt, or 63 high-level interrupt) the function can be called. 64 .RE 65 .RS +4 66 .TP 67 .ie t \(bu 68 .el o 69 A driver function has \fIuser context\fR if it was directly invoked because of 70 a user thread. The \fBread\fR(9E) entry point of the driver, invoked by a 71 \fBread\fR(2) system call, has user context. 72 .RE 73 .RS +4 74 .TP 75 .ie t \(bu 76 .el o 77 A driver function has \fIkernel context\fR if was invoked by some other part of 78 the kernel. In a block device driver, the \fBstrategy\fR(9E) entry point may be 79 called by the page daemon to write pages to the device. The page daemon has no 80 relation to the current user thread, so in this case \fBstrategy\fR(9E) has 81 kernel context. 82 .RE 83 .RS +4 84 .TP 85 .ie t \(bu 86 .el o 87 \fIInterrupt context\fR is kernel context, but also has an interrupt level 88 associated with it. Driver interrupt routines have interrupt context. 89 .sp 90 Note that a mutex acquired in user or kernel context that can also be acquired 91 in interrupt context means that the user or kernel context thread holding that 92 mutex is subject to all the restrictions imposed by interrupt context, for the 93 duration of the ownership of that mutex. Please see the \fBmutex\fR(9F) man 94 page for a more complete discussion of proper mutex handling for drivers. 95 .RE 96 .RS +4 97 .TP 98 .ie t \(bu 99 .el o 100 \fIHigh-level interrupt context\fR is a more restricted form of interrupt 101 context. If a driver interrupt priority returned from 102 \fBddi_intr_get_pri\fR(9F) is greater than the priority returned from 103 \fBddi_intr_get_hilevel_pri\fR(9F) this indicates the interrupt handler will 104 run in high-level interrupt context. These interrupt routines are only allowed 105 to call \fBddi_intr_trigger_softint\fR(9F), \fBmutex_enter\fR(9F), and 106 \fBmutex_exit\fR(9F). Furthermore, \fBmutex_enter\fR(9F) and 107 \fBmutex_exit\fR(9F) may only be called on mutexes initialized with the 108 interrupt priority returned by \fBddi_intr_get_pri\fR(9F). 109 .RE 110 .RS +4 111 .TP 112 .ie t \(bu 113 .el o 114 \fBSEE ALSO\fR indicates functions that are related by usage and sources, and 115 which can be referred to for further information. 116 .RE 117 .RS +4 118 .TP 119 .ie t \(bu 120 .el o 121 \fBEXAMPLES\fR shows how the function can be used in driver code. 122 .RE 123 .sp 124 .LP 125 Every driver MUST include <\fBsys/ddi.h\fR> and <\fBsys/sunddi.h\fR>, in that 126 order, and as the last files the driver includes. 127 .SH STREAMS KERNEL FUNCTION SUMMARY 128 .sp 129 .LP 130 The following table summarizes the STREAMS functions described in this section. 131 .sp 132 133 .sp 134 .TS 135 c c 136 l l . 137 Routine Type 138 _ 139 \fBadjmsg\fR DDI/DKI 140 \fBallocb\fR DDI/DKI 141 \fBallocb_tmpl\fR Solaris DDI 142 \fBbackq\fR DDI/DKI 143 \fBbcanput\fR DDI/DKI 144 \fBbcanputnext\fR DDI/DKI 145 \fBbufcall\fR DDI/DKI 146 \fBcanput\fR DDI/DKI 147 \fBcanputnext\fR DDI/DKI 148 \fBclrbuf\fR DDI/DKI 149 \fBcopyb\fR DDI/DKI 150 \fBcopymsg\fR DDI/DKI 151 \fBDB_BASE\fR Solaris DDI 152 \fBDB_LIM\fR Solaris DDI 153 \fBDB_REF\fR Solaris DDI 154 \fBDB_TYPE\fR Solaris DDI 155 \fBdatamsg\fR DDI/DKI 156 \fBdupb\fR DDI/DKI 157 \fBdupmsg\fR DDI/DKI 158 \fBenableok\fR DDI/DKI 159 \fBesballoc\fR DDI/DKI 160 \fBesbbcall\fR DDI/DKI 161 \fBflushband\fR DDI/DKI 162 \fBflushq\fR DDI/DKI 163 \fBfreeb\fR DDI/DKI 164 \fBfreemsg\fR DDI/DKI 165 \fBfreezestr\fR DDI/DKI 166 \fBgetq\fR DDI/DKI 167 \fBIOC_CONVER_FROM\fR Solaris DDI 168 \fBinsq\fR DDI/DKI 169 \fBlinkb\fR DDI/DKI 170 \fBMBLKHEAD\fR Solaris DDI 171 \fBMBLKIN\fR Solaris DDI 172 \fBMBLKL\fR Solaris DDI 173 \fBMBLKSIZE\fR Solaris DDI 174 \fBMBLKTAIL\fR Solaris DDI 175 \fBmcopyin\fR Solaris DDI 176 \fBmcopymsg\fR Solaris DDI 177 \fBmcopyout\fR Solaris DDI 178 \fBmerror\fR Solaris DDI 179 \fBmexchange\fR Solaris DDI 180 \fBmioc2ack\fR Solaris DDI 181 \fBmiocack\fR Solaris DDI 182 \fBmexchange\fR Solaris DDI 183 \fBmiocpullup\fR Solaris DDI 184 \fBmkiocb\fR Solaris DDI 185 \fBmsgdsize\fR DDI/DKI 186 \fBmsgpullup\fR DDI/DKI 187 \fBmsgsize\fR Solaris DDI 188 \fBmt-streams\fR Solaris DDI 189 \fBnoenable\fR DDI/DKI 190 \fBOTHERQ\fR DDI/DKI 191 \fBpullupmsg\fR DDI/DKI 192 \fBput\fR DDI/DKI 193 \fBputbq\fR DDI/DKI 194 \fBputctl\fR DDI/DKI 195 \fBputctl1\fR DDI/DKI 196 \fBputnext\fR DDI/DKI 197 \fBputnextctl\fR DDI/DKI 198 \fBputq\fR DDI/DKI 199 \fBqassociate\fR Solaris DDI 200 \fBqbufcall\fR Solaris DDI 201 \fBqenable\fR DDI/DKI 202 \fBqprocson\fR DDI/DKI 203 \fBqprocsoff\fR DDI/DKI 204 \fBqreply\fR DDI/DKI 205 \fBqsize\fR DDI/DKI 206 \fBqtimeout\fR Solaris DDI 207 \fBqunbufcall\fR Solaris DDI 208 \fBquntimeout\fR Solaris DDI 209 \fBqwait\fR Solaris DDI 210 \fBqwait_sig\fR Solaris DDI 211 \fBqwriter\fR Solaris DDI 212 \fBRD\fR DDI/DKI 213 \fBrmvb\fR DDI/DKI 214 \fBrmvq\fR DDI/DKI 215 \fBSAMESTR\fR DDI/DKI 216 \fBstrlog\fR DDI/DKI 217 \fBstrqget\fR DDI/DKI 218 \fBstrqset\fR DDI/DKI 219 \fBtestb\fR DDI/DKI 220 \fBunbufcall\fR DDI/DKI 221 \fBunfreezestr\fR DDI/DKI 222 \fBunlinkb\fR DDI/DKI 223 \fBWR\fR DDI/DKI 224 .TE 225 226 .sp 227 .LP 228 The following table summarizes the functions not specific to STREAMS. 229 .sp 230 231 .sp 232 .TS 233 c c 234 l l . 235 Routine Type 236 _ 237 \fBASSERT\fR DDI/DKI 238 \fBanocancel\fR Solaris DDI 239 \fBaphysio\fR Solaris DDI 240 \fBatomic_add\fR DDI/DKI 241 \fBatomic_and\fR DDI/DKI 242 \fBatomic_bits\fR DDI/DKI 243 \fBatomic_cas\fR DDI/DKI 244 \fBatomic_dec\fR DDI/DKI 245 \fBatomic_inc\fR DDI/DKI 246 \fBatomic_ops\fR DDI/DKI 247 \fBatomic_or\fR DDI/DKI 248 \fBatomic_swap\fR DDI/DKI 249 \fBbcmp\fR DDI/DKI 250 \fBbcopy\fR DDI/DKI 251 \fBbioclone\fR Solaris DDI 252 \fBbiodone\fR DDI/DKI 253 \fBbiofini\fR Solaris DDI 254 \fBbioinit\fR Solaris DDI 255 \fBbiomodified\fR Solaris DDI 256 \fBbiosize\fR Solaris DDI 257 \fBbioerror\fR Solaris DDI 258 \fBbioreset\fR Solaris DDI 259 \fBbiowait\fR DDI/DKI 260 \fBbp_copyin\fR DDI/DKI 261 \fBbp_copyout\fR DDI/DKI 262 \fBbp_mapin\fR DDI/DKI 263 \fBbp_mapout\fR DDI/DKI 264 \fBbtop\fR DDI/DKI 265 \fBbtopr\fR DDI/DKI 266 \fBbzero\fR DDI/DKI 267 \fBcmn_err\fR DDI/DKI 268 \fBcondvar\fR Solaris DDI 269 \fBcopyin\fR DDI/DKI 270 \fBcopyout\fR DDI/DKI 271 \fBcsx_AccessConfigurationRegister\fR Solaris DDI 272 \fBcsx_ConvertSize\fR Solaris DDI 273 \fBcsx_ConvertSpeed\fR Solaris DDI 274 \fBcsx_CS_DDI_Info\fR Solaris DDI 275 \fBcsx_DeregisterClient\fR Solaris DDI 276 \fBcsx_DupHandle\fR Solaris DDI 277 \fBcsx_Error2Text\fR Solaris DDI 278 \fBcsx_Event2Text\fR Solaris DDI 279 \fBcsx_FreeHandle\fR Solaris DDI 280 \fBcsx_Get8\fR Solaris DDI 281 \fBcsx_GetFirstClient\fR Solaris DDI 282 \fBcsx_GetFirstTuple\fR Solaris DDI 283 \fBcsx_GetHandleOffset\fR Solaris DDI 284 \fBcsx_GetMappedAddr\fR Solaris DDI 285 \fBcsx_GetStatus\fR Solaris DDI 286 \fBcsx_GetTupleData\fR Solaris DDI 287 \fBcsx_MakeDeviceNode\fR Solaris DDI 288 \fBcsx_MapLogSocket\fR Solaris DDI 289 \fBcsx_MapMemPage\fR Solaris DDI 290 \fBcsx_ModifyConfiguration\fR Solaris DDI 291 \fBcsx_ModifyWindow\fR Solaris DDI 292 \fBcsx_Parse_CISTPL_BATTERY\fR Solaris DDI 293 \fBcsx_Parse_CISTPL_BYTEORDER\fR Solaris DDI 294 \fBcsx_Parse_CISTPL_CFTABLE_ENTRY\fR Solaris DDI 295 \fBcsx_Parse_CISTPL_CONFIG\fR Solaris DDI 296 \fBcsx_Parse_CISTPL_DATE\fR Solaris DDI 297 \fBcsx_Parse_CISTPL_DEVICE\fR Solaris DDI 298 \fBcsx_Parse_CISTPL_DEVICEGEO\fR Solaris DDI 299 \fBcsx_Parse_CISTPL_DEVICEGEO_A\fR Solaris DDI 300 \fBcsx_Parse_CISTPL_FORMAT\fR Solaris DDI 301 \fBcsx_Parse_CISTPL_FUNCE\fR Solaris DDI 302 \fBcsx_Parse_CISTPL_FUNCID\fR Solaris DDI 303 \fBcsx_Parse_CISTPL_GEOMETRY\fR Solaris DDI 304 \fBcsx_Parse_CISTPL_JEDEC_C\fR Solaris DDI 305 \fBcsx_Parse_CISTPL_LINKTARGET\fR Solaris DDI 306 \fBcsx_Parse_CISTPL_LONGLINK_A\fR Solaris DDI 307 \fBcsx_Parse_CISTPL_LONGLINK_MFC\fR Solaris DDI 308 \fBcsx_Parse_CISTPL_MANFID\fR Solaris DDI 309 \fBcsx_Parse_CISTPL_ORG\fR Solaris DDI 310 \fBcsx_Parse_CISTPL_SPCL\fR Solaris DDI 311 \fBcsx_Parse_CISTPL_SWIL\fR Solaris DDI 312 \fBcsx_Parse_CISTPL_VERS_1\fR Solaris DDI 313 \fBcsx_Parse_CISTPL_VERS_2\fR Solaris DDI 314 \fBcsx_ParseTuple\fR Solaris DDI 315 \fBcsx_Put8\fR Solaris DDI 316 \fBcsx_RegisterClient\fR Solaris DDI 317 \fBcsx_ReleaseConfiguration\fR Solaris DDI 318 \fBcsx_RepGet8\fR Solaris DDI 319 \fBcsx_RepPut8\fR Solaris DDI 320 \fBcsx_RequestConfiguration\fR Solaris DDI 321 \fBcsx_RequestIO\fR Solaris DDI 322 \fBcsx_RequestIRQ\fR Solaris DDI 323 \fBcsx_RequestSocketMask\fR Solaris DDI 324 \fBcsx_RequestWindow\fR Solaris DDI 325 \fBcsx_ResetFunction\fR Solaris DDI 326 \fBcsx_SetEventMask\fR Solaris DDI 327 \fBcsx_SetHandleOffset\fR Solaris DDI 328 \fBcsx_ValidateCIS\fR Solaris DDI 329 \fBcv_broadcast\fR Solaris DDI 330 \fBcv_destroy\fR Solaris DDI 331 \fBcv_init\fR Solaris DDI 332 \fBcv_signal\fR Solaris DDI 333 \fBcv_timedwait\fR Solaris DDI 334 \fBcv_wait\fR Solaris DDI 335 \fBcv_wait_sig\fR Solaris DDI 336 \fBddi_add_event_handler\fR Solaris DDI 337 \fBddi_add_intr\fR Solaris DDI 338 \fBddi_add_softintr\fR Solaris DDI 339 \fBddi_binding_name\fR Solaris DDI 340 \fBddi_btop\fR Solaris DDI 341 \fBddi_btopr\fR Solaris DDI 342 \fBddi_can_receive_sig\fR Solaris DDI 343 \fBddi_check_acc_handle\fR Solaris DDI 344 \fBddi_copyin\fR Solaris DDI 345 \fBddi_copyout\fR Solaris DDI 346 \fBddi_create_minor_node\fR Solaris DDI 347 \fBddi_cred\fR Solaris DDI 348 \fBddi_dev_is_sid\fR Solaris DDI 349 \fBddi_dev_nintrs\fR Solaris DDI 350 \fBddi_dev_nregs\fR Solaris DDI 351 \fBddi_dev_regsize\fR Solaris DDI 352 \fBddi_device_copy\fR Solaris DDI 353 \fBddi_device_zero\fR Solaris DDI 354 \fBddi_devmap_segmap\fR Solaris DDI 355 \fBddi_dma_addr_bind_handle\fR Solaris DDI 356 \fBddi_dma_alloc_handle\fR Solaris DDI 357 \fBddi_dma_buf_bind_handle\fR Solaris DDI 358 \fBddi_dma_burstsizes\fR Solaris DDI 359 \fBddi_dma_free_handle\fR Solaris DDI 360 \fBddi_dma_getwin\fR Solaris DDI 361 \fBddi_dma_mem_alloc\fR Solaris DDI 362 \fBddi_dma_mem_free\fR Solaris DDI 363 \fBddi_dma_nextcookie\fR Solaris DDI 364 \fBddi_dma_numwin\fR Solaris DDI 365 \fBddi_dma_set_sbus64\fR Solaris DDI 366 \fBddi_dma_sync\fR Solaris DDI 367 \fBddi_dma_unbind_handle\fR Solaris DDI 368 \fBddi_dmae\fR Solaris x86 DDI 369 \fBddi_dmae_1stparty\fR Solaris x86 DDI 370 \fBddi_dmae_alloc\fR Solaris x86 DDI 371 \fBddi_dmae_disable\fR Solaris x86 DDI 372 \fBddi_dmae_enable\fR Solaris x86 DDI 373 \fBddi_dmae_getattr\fR Solaris x86 DDI 374 \fBddi_dmae_getcnt\fR Solaris x86 DDI 375 \fBddi_dmae_getlim\fR Solaris x86 DDI 376 \fBddi_dmae_prog\fR Solaris x86 DDI 377 \fBddi_dmae_release\fR Solaris x86 DDI 378 \fBddi_dmae_stop\fR Solaris x86 DDI 379 \fBddi_driver_major\fR Solaris DDI 380 \fBddi_driver_name\fR Solaris DDI 381 \fBddi_enter_critical\fR Solaris DDI 382 \fBddi_exit_critical\fR Solaris DDI 383 \fBddi_ffs\fR Solaris DDI 384 \fBddi_fls\fR Solaris DDI 385 \fBddi_fm_acc_err_clear\fR Solaris DDI 386 \fBddi_fm_acc_err_get\fR Solaris DDI 387 \fBddi_fm_ereport_post\fR Solaris DDI 388 \fBddi_fm_handler_register\fR Solaris DDI 389 \fBddi_fm_init\fR Solaris DDI 390 \fBddi_fm_service_impact\fR Solaris DDI 391 \fBddi_get16\fR Solaris DDI 392 \fBddi_get32\fR Solaris DDI 393 \fBddi_get64\fR Solaris DDI 394 \fBddi_get8\fR Solaris DDI 395 \fBddi_get_cred\fR Solaris DDI 396 \fBddi_get_devstate\fR Solaris DDI 397 \fBddi_get_driver_private\fR Solaris DDI 398 \fBddi_get_eventcookie\fR Solaris DDI 399 \fBddi_get_iblock_cookie\fR Solaris DDI 400 \fBddi_get_iminor\fR Solaris DDI 401 \fBddi_get_instance\fR Solaris DDI 402 \fBddi_get_kt_did\fR Solaris DDI 403 \fBddi_get_lbolt\fR Solaris DDI 404 \fBddi_get_name\fR Solaris DDI 405 \fBddi_get_parent\fR Solaris DDI 406 \fBddi_get_pid\fR Solaris DDI 407 \fBddi_get_soft_iblock_cookie\fR Solaris DDI 408 \fBddi_get_soft_state\fR Solaris DDI 409 \fBddi_getb\fR Solaris DDI 410 \fBddi_getl\fR Solaris DDI 411 \fBddi_getll\fR Solaris DDI 412 \fBddi_getlongprop\fR Solaris DDI 413 \fBddi_getlongprop_buf\fR Solaris DDI 414 \fBddi_getprop\fR Solaris DDI 415 \fBddi_getproplen\fR Solaris DDI 416 \fBddi_getw\fR Solaris DDI 417 \fBddi_intr_add_handler\fR Solaris DDI 418 \fBddi_intr_add_softint\fR Solaris DDI 419 \fBddi_intr_alloc\fR Solaris DDI 420 \fBddi_intr_block_disable\fR Solaris DDI 421 \fBddi_intr_block_enable\fR Solaris DDI 422 \fBddi_intr_clr_mask\fR Solaris DDI 423 \fBddi_intr_dup_handler\fR Solaris DDI 424 \fBddi_intr_disable\fR Solaris DDI 425 \fBddi_intr_enable\fR Solaris DDI 426 \fBddi_intr_free\fR Solaris DDI 427 \fBddi_intr_get_cap\fR Solaris DDI 428 \fBddi_intr_get_hilevel_pri\fR Solaris DDI 429 \fBddi_intr_get_navail\fR Solaris DDI 430 \fBddi_intr_get_nintrs\fR Solaris DDI 431 \fBddi_intr_get_pending\fR Solaris DDI 432 \fBddi_intr_get_pri\fR Solaris DDI 433 \fBddi_intr_get_softint_pri\fR Solaris DDI 434 \fBddi_intr_get_supported_types\fR Solaris DDI 435 \fBddi_intr_remove_handler\fR Solaris DDI 436 \fBddi_intr_remove_softint\fR Solaris DDI 437 \fBddi_intr_set_cap\fR Solaris DDI 438 \fBddi_intr_set_mask\fR Solaris DDI 439 \fBddi_intr_set_pri\fR Solaris DDI 440 \fBddi_intr_set_softint_pri\fR Solaris DDI 441 \fBddi_intr_trigger_softint\fR Solaris DDI 442 \fBddi_io_get16\fR Solaris DDI 443 \fBddi_io_get32\fR Solaris DDI 444 \fBddi_io_get8\fR Solaris DDI 445 \fBddi_io_getb\fR Solaris DDI 446 \fBddi_io_getl\fR Solaris DDI 447 \fBddi_io_getw\fR Solaris DDI 448 \fBddi_io_put16\fR Solaris DDI 449 \fBddi_io_put32\fR Solaris DDI 450 \fBddi_io_put8\fR Solaris DDI 451 \fBddi_io_putb\fR Solaris DDI 452 \fBddi_io_putl\fR Solaris DDI 453 \fBddi_io_putw\fR Solaris DDI 454 \fBddi_io_rep_get16\fR Solaris DDI 455 \fBddi_io_rep_get32\fR Solaris DDI 456 \fBddi_io_rep_get8\fR Solaris DDI 457 \fBddi_io_rep_getb\fR Solaris DDI 458 \fBddi_io_rep_getl\fR Solaris DDI 459 \fBddi_io_rep_getw\fR Solaris DDI 460 \fBddi_io_rep_put16\fR Solaris DDI 461 \fBddi_io_rep_put32\fR Solaris DDI 462 \fBddi_io_rep_put8\fR Solaris DDI 463 \fBddi_io_rep_putb\fR Solaris DDI 464 \fBddi_io_rep_putl\fR Solaris DDI 465 \fBddi_io_rep_putw\fR Solaris DDI 466 \fBddi_iomin\fR Solaris DDI 467 \fBddi_log_sysevent\fR Solaris DDI 468 \fBddi_map_regs\fR Solaris DDI 469 \fBddi_mapdev\fR Solaris DDI 470 \fBddi_mapdev_intercept\fR Solaris DDI 471 \fBddi_mapdev_nointercept\fR Solaris DDI 472 \fBddi_mapdev_set_device_acc_attr\fR Solaris DDI 473 \fBddi_mem_get16\fR Solaris DDI 474 \fBddi_mem_get32\fR Solaris DDI 475 \fBddi_mem_get64\fR Solaris DDI 476 \fBddi_mem_get8\fR Solaris DDI 477 \fBddi_mem_getb\fR Solaris DDI 478 \fBddi_mem_getl\fR Solaris DDI 479 \fBddi_mem_getll\fR Solaris DDI 480 \fBddi_mem_getw\fR Solaris DDI 481 \fBddi_mem_put16\fR Solaris DDI 482 \fBddi_mem_put32\fR Solaris DDI 483 \fBddi_mem_put64\fR Solaris DDI 484 \fBddi_mem_put8\fR Solaris DDI 485 \fBddi_mem_putb\fR Solaris DDI 486 \fBddi_mem_putl\fR Solaris DDI 487 \fBddi_mem_putll\fR Solaris DDI 488 \fBddi_mem_putw\fR Solaris DDI 489 \fBddi_mem_rep_get16\fR Solaris DDI 490 \fBddi_mem_rep_get32\fR Solaris DDI 491 \fBddi_mem_rep_get64\fR Solaris DDI 492 \fBddi_mem_rep_get8\fR Solaris DDI 493 \fBddi_mem_rep_getb\fR Solaris DDI 494 \fBddi_mem_rep_getl\fR Solaris DDI 495 \fBddi_mem_rep_getll\fR Solaris DDI 496 \fBddi_mem_rep_getw\fR Solaris DDI 497 \fBddi_mem_rep_put16\fR Solaris DDI 498 \fBddi_mem_rep_put32\fR Solaris DDI 499 \fBddi_mem_rep_put64\fR Solaris DDI 500 \fBddi_mem_rep_put8\fR Solaris DDI 501 \fBddi_mem_rep_putb\fR Solaris DDI 502 \fBddi_mem_rep_putl\fR Solaris DDI 503 \fBddi_mem_rep_putll\fR Solaris DDI 504 \fBddi_mem_rep_putw\fR Solaris DDI 505 \fBddi_mmap_get_model\fR Solaris DDI 506 \fBddi_model_convert_from\fR Solaris DDI 507 \fBddi_modopen\fR Solaris DDI 508 \fBddi_no_info\fR Solaris DDI 509 \fBddi_node_name\fR Solaris DDI 510 \fBddi_peek16\fR Solaris DDI 511 \fBddi_peek32\fR Solaris DDI 512 \fBddi_peek64\fR Solaris DDI 513 \fBddi_peek8\fR Solaris DDI 514 \fBddi_peekc\fR Solaris DDI 515 \fBddi_peekd\fR Solaris DDI 516 \fBddi_peekl\fR Solaris DDI 517 \fBddi_peeks\fR Solaris DDI 518 \fBddi_periodic_add\fR Solaris DDI 519 \fBddi_periodic_delete\fR Solaris DDI 520 \fBddi_poke16\fR Solaris DDI 521 \fBddi_poke32\fR Solaris DDI 522 \fBddi_poke64\fR Solaris DDI 523 \fBddi_poke8\fR Solaris DDI 524 \fBddi_pokec\fR Solaris DDI 525 \fBddi_poked\fR Solaris DDI 526 \fBddi_pokel\fR Solaris DDI 527 \fBddi_pokes\fR Solaris DDI 528 \fBddi_prop_create\fR Solaris DDI 529 \fBddi_prop_exists\fR Solaris DDI 530 \fBddi_prop_free\fR Solaris DDI 531 \fBddi_prop_get_int\fR Solaris DDI 532 \fBddi_prop_lookup\fR Solaris DDI 533 \fBddi_prop_lookup_byte_array\fR Solaris DDI 534 \fBddi_prop_lookup_int_array\fR Solaris DDI 535 \fBddi_prop_lookup_string\fR Solaris DDI 536 \fBddi_prop_lookup_string_array\fR Solaris DDI 537 \fBddi_prop_modify\fR Solaris DDI 538 \fBddi_prop_op\fR Solaris DDI 539 \fBddi_prop_remove\fR Solaris DDI 540 \fBddi_prop_remove_all\fR Solaris DDI 541 \fBddi_prop_undefine\fR Solaris DDI 542 \fBddi_prop_update\fR Solaris DDI 543 \fBddi_prop_update_byte_array\fR Solaris DDI 544 \fBddi_prop_update_int\fR Solaris DDI 545 \fBddi_prop_update_int_array\fR Solaris DDI 546 \fBddi_prop_update_string\fR Solaris DDI 547 \fBddi_prop_update_string_array\fR Solaris DDI 548 \fBddi_ptob\fR Solaris DDI 549 \fBddi_put16\fR Solaris DDI 550 \fBddi_put32\fR Solaris DDI 551 \fBddi_put64\fR Solaris DDI 552 \fBddi_put8\fR Solaris DDI 553 \fBddi_putb\fR Solaris DDI 554 \fBddi_putl\fR Solaris DDI 555 \fBddi_putll\fR Solaris DDI 556 \fBddi_putw\fR Solaris DDI 557 \fBddi_regs_map_free\fR Solaris DDI 558 \fBddi_regs_map_setup\fR Solaris DDI 559 \fBddi_remove_event_handler\fR Solaris DDI 560 \fBddi_remove_intr\fR Solaris DDI 561 \fBddi_remove_minor_node\fR Solaris DDI 562 \fBddi_remove_softintr\fR Solaris DDI 563 \fBddi_removing_power\fR Solaris DDI 564 \fBddi_rep_get16\fR Solaris DDI 565 \fBddi_rep_get32\fR Solaris DDI 566 \fBddi_rep_get64\fR Solaris DDI 567 \fBddi_rep_get8\fR Solaris DDI 568 \fBddi_rep_getb\fR Solaris DDI 569 \fBddi_rep_getl\fR Solaris DDI 570 \fBddi_rep_getll\fR Solaris DDI 571 \fBddi_rep_getw\fR Solaris DDI 572 \fBddi_rep_put16\fR Solaris DDI 573 \fBddi_rep_put32\fR Solaris DDI 574 \fBddi_rep_put64\fR Solaris DDI 575 \fBddi_rep_put8\fR Solaris DDI 576 \fBddi_rep_putb\fR Solaris DDI 577 \fBddi_rep_putl\fR Solaris DDI 578 \fBddi_rep_putll\fR Solaris DDI 579 \fBddi_rep_putw\fR Solaris DDI 580 \fBddi_report_dev\fR Solaris DDI 581 \fBddi_root_node\fR Solaris DDI 582 \fBddi_segmap\fR Solaris DDI 583 \fBddi_segmap_setup\fR Solaris DDI 584 \fBddi_set_driver_private\fR Solaris DDI 585 \fBddi_slaveonly\fR Solaris DDI 586 \fBddi_soft_state\fR Solaris DDI 587 \fBddi_soft_state_fini\fR Solaris DDI 588 \fBddi_soft_state_free\fR Solaris DDI 589 \fBddi_soft_state_init\fR Solaris DDI 590 \fBddi_soft_state_zalloc\fR Solaris DDI 591 \fBddi_strlol\fR Solaris DDI 592 \fBddi_strloul\fR Solaris DDI 593 \fBddi_trigger_softintr\fR Solaris DDI 594 \fBddi_umem_alloc\fR Solaris DDI 595 \fBddi_umem_free\fR Solaris DDI 596 \fBddi_umem_iosetup\fR Solaris DDI 597 \fBddi_umem_lock\fR Solaris DDI 598 \fBddi_unmap_regs\fR Solaris DDI 599 \fBdelay\fR DDI/DKI 600 \fBdevmap_default_access\fR Solaris DDI 601 \fBdevmap_devmem_setup\fR Solaris DDI 602 \fBdevmap_do_ctxmgt\fR Solaris DDI 603 \fBdevmap_load\fR Solaris DDI 604 \fBdevmap_set_ctx_timeout\fR Solaris DDI 605 \fBdevmap_setup\fR Solaris DDI 606 \fBdevmap_umem_setup\fR Solaris DDI 607 \fBdevmap_unload\fR Solaris DDI 608 \fBdisksort\fR Solaris DDI 609 \fBdlbindack\fR Solaris DDI 610 \fBdrv_getparm\fR DDI/DKI 611 \fBdrv_hztousec\fR DDI/DKI 612 \fBdrv_priv\fR DDI/DKI 613 \fBdrv_usectohz\fR DDI/DKI 614 \fBdrv_usecwait\fR DDI/DKI 615 \fBfree_pktiopb\fR Solaris DDI 616 \fBfreerbuf\fR DDI/DKI 617 \fBget_pktiopb\fR Solaris DDI 618 \fBgeterror\fR DDI/DKI 619 \fBgethrtime\fR DDI/DKI 620 \fBgetmajor\fR DDI/DKI 621 \fBgetminor\fR DDI/DKI 622 \fBgetrbuf\fR DDI/DKI 623 \fBgld\fR Solaris DDI 624 \fBhat_getkpfnum\fR DKI only 625 \fBid32_alloc\fR Solaris DDI 626 \fBinb\fR Solaris x86 DDI 627 \fBinl\fR Solaris x86 DDI 628 \fBinw\fR Solaris x86 DDI 629 \fBkiconv\fR Solaris DDI 630 \fBkiconv_close\fR Solaris DDI 631 \fBkiconv_open\fR Solaris DDI 632 \fBkiconvstr\fR Solaris DDI 633 \fBkmem_alloc\fR DDI/DKI 634 \fBkmem_cache_create\fR Solaris DDI 635 \fBkmem_free\fR DDI/DKI 636 \fBkmem_zalloc\fR DDI/DKI 637 \fBkstat_create\fR Solaris DDI 638 \fBkstat_delete\fR Solaris DDI 639 \fBkstat_install\fR Solaris DDI 640 \fBkstat_named_init\fR Solaris DDI 641 \fBkstat_queue\fR Solaris DDI 642 \fBkstat_runq_back_to_waitq\fR Solaris DDI 643 \fBkstat_runq_enter\fR Solaris DDI 644 \fBkstat_runq_exit\fR Solaris DDI 645 \fBkstat_waitq_enter\fR Solaris DDI 646 \fBkstat_waitq_exit\fR Solaris DDI 647 \fBkstat_waitq_to_runq\fR Solaris DDI 648 \fBldi_add_event_handler\fR Solaris DDI 649 \fBldi_aread\fR Solaris DDI 650 \fBldi_devmap\fR Solaris DDI 651 \fBldi_dump\fR Solaris DDI 652 \fBldi_ev_finalize\fR Solaris DDI 653 \fBldi_ev_get_cookie\fR Solaris DDI 654 \fBldi_ev_get_type\fR Solaris DDI 655 \fBldi_ev_notify\fR Solaris DDI 656 \fBldi_ev_register_callbacks\fR Solaris DDI 657 \fBldi_ev_remove_callbacks\fR Solaris DDI 658 \fBldi_get_dev\fR Solaris DDI 659 \fBldi_get_eventcookie\fR Solaris DDI 660 \fBldi_get_size\fR Solaris DDI 661 \fBldi_ident_from_dev\fR Solaris DDI 662 \fBldi_ioctl\fR Solaris DDI 663 \fBldi_open_by_dev\fR Solaris DDI 664 \fBldi_poll\fR Solaris DDI 665 \fBldi_prop_exists\fR Solaris DDI 666 \fBldi_prop_get_int\fR Solaris DDI 667 \fBldi_prop_get_lookup_int_array\fR Solaris DDI 668 \fBldi_putmsg\fR Solaris DDI 669 \fBldi_read\fR Solaris DDI 670 \fBldi_remove_event_handler\fR Solaris DDI 671 \fBldi_strategy\fR Solaris DDI 672 \fBmakecom_g0\fR Solaris DDI 673 \fBmakecom_g0_s\fR Solaris DDI 674 \fBmakecom_g1\fR Solaris DDI 675 \fBmakecom_g5\fR Solaris DDI 676 \fBmakedevice\fR DDI/DKI 677 \fBmax\fR DDI/DKI 678 \fBmax\fR DDI/DKI 679 \fBmembar_ops\fR Solaris DDI 680 \fBmemchr\fR Solaris DDI 681 \fBminphys\fR Solaris DDI 682 \fBmod_info\fR Solaris DDI 683 \fBmod_install\fR Solaris DDI 684 \fBmod_remove\fR Solaris DDI 685 \fBmutex_destroy\fR Solaris DDI 686 \fBmutex_enter\fR Solaris DDI 687 \fBmutex_exit\fR Solaris DDI 688 \fBmutex_init\fR Solaris DDI 689 \fBmutex_owned\fR Solaris DDI 690 \fBmutex_tryenter\fR Solaris DDI 691 \fBnochpoll\fR Solaris DDI 692 \fBnodev\fR DDI/DKI 693 \fBnulldev\fR DDI/DKI 694 \fBnumtos\fR Solaris DDI 695 \fBnvlist_add_boolean\fR Solaris DDI 696 \fBnvlist_alloc\fR Solaris DDI 697 \fBnvlist_lookup_boolean\fR Solaris DDI 698 \fBnvlist_lookup_nvpair\fR Solaris DDI 699 \fBnvlist_next_nvpair\fR Solaris DDI 700 \fBnvlist_remove\fR Solaris DDI 701 \fBnvlist_value_byte\fR Solaris DDI 702 \fBoutb\fR Solaris x86 DDI 703 \fBoutl\fR Solaris x86 DDI 704 \fBoutw\fR Solaris x86 DDI 705 \fBpci_config_get16\fR Solaris DDI 706 \fBpci_config_get32\fR Solaris DDI 707 \fBpci_config_get64\fR Solaris DDI 708 \fBpci_config_get8\fR Solaris DDI 709 \fBpci_config_getb\fR Solaris DDI 710 \fBpci_config_getl\fR Solaris DDI 711 \fBpci_config_getw\fR Solaris DDI 712 \fBpci_config_put16\fR Solaris DDI 713 \fBpci_config_put32\fR Solaris DDI 714 \fBpci_config_put64\fR Solaris DDI 715 \fBpci_config_put8\fR Solaris DDI 716 \fBpci_config_putb\fR Solaris DDI 717 \fBpci_config_putl\fR Solaris DDI 718 \fBpci_config_putw\fR Solaris DDI 719 \fBpci_config_setup\fR Solaris DDI 720 \fBpci_config_teardown\fR Solaris DDI 721 \fBpci_ereport_setup\fR Solaris DDI 722 \fBpci_report_pmcap\fR Solaris DDI 723 \fBpci_save_config_regs\fR Solaris DDI 724 \fBphysio\fR Solaris DDI 725 \fBpm_busy_component\fR Solaris DDI 726 \fBpm_power_has_changed\fR Solaris DDI 727 \fBpm_raise_power\fR Solaris DDI 728 \fBpm_trans_check\fR Solaris DDI 729 \fBpollwakeup\fR DDI/DKI 730 \fBpci_config_teardown\fR Solaris DDI 731 \fBpci_config_teardown\fR Solaris DDI 732 \fBpriv_getbyname\fR Solaris DDI 733 \fBpriv_policy\fR Solaris DDI 734 \fBproc_signal\fR Solaris DDI 735 \fBproc_unref\fR Solaris DDI 736 \fBptob\fR DDI/DKI 737 \fBrepinsb\fR Solaris x86 DDI 738 \fBrepinsd\fR Solaris x86 DDI 739 \fBrepinsw\fR Solaris x86 DDI 740 \fBrepoutsb\fR Solaris x86 DDI 741 \fBrepoutsd\fR Solaris x86 DDI 742 \fBrepoutsw\fR Solaris x86 DDI 743 \fBrmalloc\fR DDI/DKI 744 \fBrmalloc_wait\fR DDI/DKI 745 \fBrmallocmap\fR DDI/DKI 746 \fBrmallocmap_wait\fR DDI/DKI 747 \fBrmfree\fR DDI/DKI 748 \fBrmfreemap\fR DDI/DKI 749 \fBrw_destroy\fR Solaris DDI 750 \fBrw_downgrade\fR Solaris DDI 751 \fBrw_enter\fR Solaris DDI 752 \fBrw_exit\fR Solaris DDI 753 \fBrw_init\fR Solaris DDI 754 \fBrw_read_locked\fR Solaris DDI 755 \fBrw_tryenter\fR Solaris DDI 756 \fBrw_tryupgrade\fR Solaris DDI 757 \fBscsi_abort\fR Solaris DDI 758 \fBscsi_alloc_consistent_buf\fR Solaris DDI 759 \fBscsi_cname\fR Solaris DDI 760 \fBscsi_destroy_pkt\fR Solaris DDI 761 \fBscsi_dmafree\fR Solaris DDI 762 \fBscsi_dmaget\fR Solaris DDI 763 \fBscsi_dname\fR Solaris DDI 764 \fBscsi_errmsg\fR Solaris DDI 765 \fBscsi_ext_sense_fields\fR Solaris DDI 766 \fBscsi_find_sense_descr\fR Solaris DDI 767 \fBscsi_free_consistent_buf\fR Solaris DDI 768 \fBscsi_get_device_type_scsi_options\fR Solaris DDI 769 \fBscsi_get_device_type_string\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 863 .TE 864 865 .SH SEE ALSO 866 .sp 867 .LP 868 \fBIntro\fR(9E), \fBmutex\fR(9F)