xref: /illumos-gate/usr/src/man/man9f/Intro.9f (revision 6f1fa39e3cf1b335f342bbca41590e9d76ab29b7)
te
Copyright 2014 Garrett D'Amore <garrett@damore.org>
Copyright (c) 2005, Sun Microsystems, Inc., All Rights Reserved
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.
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.
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]
INTRO 9F "Feb 06, 2012"
NAME
Intro, intro - introduction to DDI/DKI functions
DESCRIPTION

Section 9F describes the kernel functions available for use by device drivers. See Intro(9E) for an overview of device driver interfaces.

In this section, the information for each driver function is organized under the following headings:

NAME summarizes the function's purpose.

SYNOPSIS shows the syntax of the function's entry point in the source code. #include directives are shown for required headers.

INTERFACE LEVEL describes any architecture dependencies.

ARGUMENTS describes any arguments required to invoke the function.

DESCRIPTION describes general information about the function.

RETURN VALUES describes the return values and messages that can result from invoking the function.

CONTEXT indicates from which driver context (user, kernel, interrupt, or high-level interrupt) the function can be called.

A driver function has user context if it was directly invoked because of a user thread. The read(9E) entry point of the driver, invoked by a read(2) system call, has user context.

A driver function has kernel context if was invoked by some other part of the kernel. In a block device driver, the strategy(9E) entry point may be called by the page daemon to write pages to the device. The page daemon has no relation to the current user thread, so in this case strategy(9E) has kernel context.

Interrupt context is kernel context, but also has an interrupt level associated with it. Driver interrupt routines have interrupt context. Note that a mutex acquired in user or kernel context that can also be acquired in interrupt context means that the user or kernel context thread holding that mutex is subject to all the restrictions imposed by interrupt context, for the duration of the ownership of that mutex. Please see the mutex(9F) man page for a more complete discussion of proper mutex handling for drivers.

High-level interrupt context is a more restricted form of interrupt context. If a driver interrupt priority returned from ddi_intr_get_pri(9F) is greater than the priority returned from ddi_intr_get_hilevel_pri(9F) this indicates the interrupt handler will run in high-level interrupt context. These interrupt routines are only allowed to call ddi_intr_trigger_softint(9F), mutex_enter(9F), and mutex_exit(9F). Furthermore, mutex_enter(9F) and mutex_exit(9F) may only be called on mutexes initialized with the interrupt priority returned by ddi_intr_get_pri(9F).

SEE ALSO indicates functions that are related by usage and sources, and which can be referred to for further information.

EXAMPLES shows how the function can be used in driver code.

Every driver MUST include <sys/ddi.h> and <sys/sunddi.h>, in that order, and as the last files the driver includes.

STREAMS KERNEL FUNCTION SUMMARY

The following table summarizes the STREAMS functions described in this section.

Routine Type
adjmsg DDI/DKI
allocb DDI/DKI
allocb_tmpl illumos DDI
backq DDI/DKI
bcanput DDI/DKI
bcanputnext DDI/DKI
bufcall DDI/DKI
canput DDI/DKI
canputnext DDI/DKI
clrbuf DDI/DKI
copyb DDI/DKI
copymsg DDI/DKI
DB_BASE illumos DDI
DB_LIM illumos DDI
DB_REF illumos DDI
DB_TYPE illumos DDI
datamsg DDI/DKI
dupb DDI/DKI
dupmsg DDI/DKI
enableok DDI/DKI
esballoc DDI/DKI
esbbcall DDI/DKI
flushband DDI/DKI
flushq DDI/DKI
freeb DDI/DKI
freemsg DDI/DKI
freezestr DDI/DKI
getq DDI/DKI
IOC_CONVER_FROM illumos DDI
insq DDI/DKI
linkb DDI/DKI
MBLKHEAD illumos DDI
MBLKIN illumos DDI
MBLKL illumos DDI
MBLKSIZE illumos DDI
MBLKTAIL illumos DDI
mcopyin illumos DDI
mcopymsg illumos DDI
mcopyout illumos DDI
merror illumos DDI
mexchange illumos DDI
mioc2ack illumos DDI
miocack illumos DDI
mexchange illumos DDI
miocpullup illumos DDI
mkiocb illumos DDI
msgdsize DDI/DKI
msgpullup DDI/DKI
msgsize illumos DDI
mt-streams illumos DDI
noenable DDI/DKI
OTHERQ DDI/DKI
pullupmsg DDI/DKI
put DDI/DKI
putbq DDI/DKI
putctl DDI/DKI
putctl1 DDI/DKI
putnext DDI/DKI
putnextctl DDI/DKI
putq DDI/DKI
qassociate illumos DDI
qbufcall illumos DDI
qenable DDI/DKI
qprocson DDI/DKI
qprocsoff DDI/DKI
qreply DDI/DKI
qsize DDI/DKI
qtimeout illumos DDI
qunbufcall illumos DDI
quntimeout illumos DDI
qwait illumos DDI
qwait_sig illumos DDI
qwriter illumos DDI
RD DDI/DKI
rmvb DDI/DKI
rmvq DDI/DKI
SAMESTR DDI/DKI
strlog DDI/DKI
strqget DDI/DKI
strqset DDI/DKI
testb DDI/DKI
unbufcall DDI/DKI
unfreezestr DDI/DKI
unlinkb DDI/DKI
WR DDI/DKI

The following table summarizes the functions not specific to STREAMS.

Routine Type
ASSERT DDI/DKI
anocancel illumos DDI
aphysio illumos DDI
atomic_add DDI/DKI
atomic_and DDI/DKI
atomic_bits DDI/DKI
atomic_cas DDI/DKI
atomic_dec DDI/DKI
atomic_inc DDI/DKI
atomic_ops DDI/DKI
atomic_or DDI/DKI
atomic_swap DDI/DKI
bcmp DDI/DKI
bcopy DDI/DKI
bioclone illumos DDI
biodone DDI/DKI
biofini illumos DDI
bioinit illumos DDI
biomodified illumos DDI
biosize illumos DDI
bioerror illumos DDI
bioreset illumos DDI
biowait DDI/DKI
bp_copyin DDI/DKI
bp_copyout DDI/DKI
bp_mapin DDI/DKI
bp_mapout DDI/DKI
btop DDI/DKI
btopr DDI/DKI
bzero DDI/DKI
cmn_err DDI/DKI
condvar illumos DDI
copyin DDI/DKI
copyout DDI/DKI
csx_AccessConfigurationRegister illumos DDI
csx_ConvertSize illumos DDI
csx_ConvertSpeed illumos DDI
csx_CS_DDI_Info illumos DDI
csx_DeregisterClient illumos DDI
csx_DupHandle illumos DDI
csx_Error2Text illumos DDI
csx_Event2Text illumos DDI
csx_FreeHandle illumos DDI
csx_Get8 illumos DDI
csx_GetFirstClient illumos DDI
csx_GetFirstTuple illumos DDI
csx_GetHandleOffset illumos DDI
csx_GetMappedAddr illumos DDI
csx_GetStatus illumos DDI
csx_GetTupleData illumos DDI
csx_MakeDeviceNode illumos DDI
csx_MapLogSocket illumos DDI
csx_MapMemPage illumos DDI
csx_ModifyConfiguration illumos DDI
csx_ModifyWindow illumos DDI
csx_Parse_CISTPL_BATTERY illumos DDI
csx_Parse_CISTPL_BYTEORDER illumos DDI
csx_Parse_CISTPL_CFTABLE_ENTRY illumos DDI
csx_Parse_CISTPL_CONFIG illumos DDI
csx_Parse_CISTPL_DATE illumos DDI
csx_Parse_CISTPL_DEVICE illumos DDI
csx_Parse_CISTPL_DEVICEGEO illumos DDI
csx_Parse_CISTPL_DEVICEGEO_A illumos DDI
csx_Parse_CISTPL_FORMAT illumos DDI
csx_Parse_CISTPL_FUNCE illumos DDI
csx_Parse_CISTPL_FUNCID illumos DDI
csx_Parse_CISTPL_GEOMETRY illumos DDI
csx_Parse_CISTPL_JEDEC_C illumos DDI
csx_Parse_CISTPL_LINKTARGET illumos DDI
csx_Parse_CISTPL_LONGLINK_A illumos DDI
csx_Parse_CISTPL_LONGLINK_MFC illumos DDI
csx_Parse_CISTPL_MANFID illumos DDI
csx_Parse_CISTPL_ORG illumos DDI
csx_Parse_CISTPL_SPCL illumos DDI
csx_Parse_CISTPL_SWIL illumos DDI
csx_Parse_CISTPL_VERS_1 illumos DDI
csx_Parse_CISTPL_VERS_2 illumos DDI
csx_ParseTuple illumos DDI
csx_Put8 illumos DDI
csx_RegisterClient illumos DDI
csx_ReleaseConfiguration illumos DDI
csx_RepGet8 illumos DDI
csx_RepPut8 illumos DDI
csx_RequestConfiguration illumos DDI
csx_RequestIO illumos DDI
csx_RequestIRQ illumos DDI
csx_RequestSocketMask illumos DDI
csx_RequestWindow illumos DDI
csx_ResetFunction illumos DDI
csx_SetEventMask illumos DDI
csx_SetHandleOffset illumos DDI
csx_ValidateCIS illumos DDI
cv_broadcast illumos DDI
cv_destroy illumos DDI
cv_init illumos DDI
cv_reltimedwait illumos DDI
cv_reltimedwait_sig illumos DDI
cv_signal illumos DDI
cv_timedwait illumos DDI
cv_timedwait_sig illumos DDI
cv_wait illumos DDI
cv_wait_sig illumos DDI
ddi_add_event_handler illumos DDI
ddi_add_intr illumos DDI
ddi_add_softintr illumos DDI
ddi_binding_name illumos DDI
ddi_btop illumos DDI
ddi_btopr illumos DDI
ddi_can_receive_sig illumos DDI
ddi_check_acc_handle illumos DDI
ddi_copyin illumos DDI
ddi_copyout illumos DDI
ddi_create_minor_node illumos DDI
ddi_cred illumos DDI
ddi_dev_is_sid illumos DDI
ddi_dev_nintrs illumos DDI
ddi_dev_nregs illumos DDI
ddi_dev_regsize illumos DDI
ddi_device_copy illumos DDI
ddi_device_zero illumos DDI
ddi_devmap_segmap illumos DDI
ddi_dma_addr_bind_handle illumos DDI
ddi_dma_alloc_handle illumos DDI
ddi_dma_buf_bind_handle illumos DDI
ddi_dma_burstsizes illumos DDI
ddi_dma_cookie_get illumos DDI
ddi_dma_cookie_next illumos DDI
ddi_dma_cookie_one illumos DDI
ddi_dma_free_handle illumos DDI
ddi_dma_getwin illumos DDI
ddi_dma_mem_alloc illumos DDI
ddi_dma_mem_free illumos DDI
ddi_dma_ncookies illumos DDI
ddi_dma_nextcookie illumos DDI
ddi_dma_numwin illumos DDI
ddi_dma_set_sbus64 illumos DDI
ddi_dma_sync illumos DDI
ddi_dma_unbind_handle illumos DDI
ddi_dmae illumos x86 DDI
ddi_dmae_1stparty illumos x86 DDI
ddi_dmae_alloc illumos x86 DDI
ddi_dmae_disable illumos x86 DDI
ddi_dmae_enable illumos x86 DDI
ddi_dmae_getattr illumos x86 DDI
ddi_dmae_getcnt illumos x86 DDI
ddi_dmae_getlim illumos x86 DDI
ddi_dmae_prog illumos x86 DDI
ddi_dmae_release illumos x86 DDI
ddi_dmae_stop illumos x86 DDI
ddi_driver_major illumos DDI
ddi_driver_name illumos DDI
ddi_enter_critical illumos DDI
ddi_exit_critical illumos DDI
ddi_ffs illumos DDI
ddi_fls illumos DDI
ddi_fm_acc_err_clear illumos DDI
ddi_fm_acc_err_get illumos DDI
ddi_fm_ereport_post illumos DDI
ddi_fm_handler_register illumos DDI
ddi_fm_init illumos DDI
ddi_fm_service_impact illumos DDI
ddi_get16 illumos DDI
ddi_get32 illumos DDI
ddi_get64 illumos DDI
ddi_get8 illumos DDI
ddi_get_cred illumos DDI
ddi_get_devstate illumos DDI
ddi_get_driver_private illumos DDI
ddi_get_eventcookie illumos DDI
ddi_get_iblock_cookie illumos DDI
ddi_get_iminor illumos DDI
ddi_get_instance illumos DDI
ddi_get_kt_did illumos DDI
ddi_get_lbolt illumos DDI
ddi_get_name illumos DDI
ddi_get_parent illumos DDI
ddi_get_pid illumos DDI
ddi_get_soft_iblock_cookie illumos DDI
ddi_get_soft_state illumos DDI
ddi_getb illumos DDI
ddi_getl illumos DDI
ddi_getll illumos DDI
ddi_getlongprop illumos DDI
ddi_getlongprop_buf illumos DDI
ddi_getprop illumos DDI
ddi_getproplen illumos DDI
ddi_getw illumos DDI
ddi_intr_add_handler illumos DDI
ddi_intr_add_softint illumos DDI
ddi_intr_alloc illumos DDI
ddi_intr_block_disable illumos DDI
ddi_intr_block_enable illumos DDI
ddi_intr_clr_mask illumos DDI
ddi_intr_dup_handler illumos DDI
ddi_intr_disable illumos DDI
ddi_intr_enable illumos DDI
ddi_intr_free illumos DDI
ddi_intr_get_cap illumos DDI
ddi_intr_get_hilevel_pri illumos DDI
ddi_intr_get_navail illumos DDI
ddi_intr_get_nintrs illumos DDI
ddi_intr_get_pending illumos DDI
ddi_intr_get_pri illumos DDI
ddi_intr_get_softint_pri illumos DDI
ddi_intr_get_supported_types illumos DDI
ddi_intr_remove_handler illumos DDI
ddi_intr_remove_softint illumos DDI
ddi_intr_set_cap illumos DDI
ddi_intr_set_mask illumos DDI
ddi_intr_set_pri illumos DDI
ddi_intr_set_softint_pri illumos DDI
ddi_intr_trigger_softint illumos DDI
ddi_io_get16 illumos DDI
ddi_io_get32 illumos DDI
ddi_io_get8 illumos DDI
ddi_io_getb illumos DDI
ddi_io_getl illumos DDI
ddi_io_getw illumos DDI
ddi_io_put16 illumos DDI
ddi_io_put32 illumos DDI
ddi_io_put8 illumos DDI
ddi_io_putb illumos DDI
ddi_io_putl illumos DDI
ddi_io_putw illumos DDI
ddi_io_rep_get16 illumos DDI
ddi_io_rep_get32 illumos DDI
ddi_io_rep_get8 illumos DDI
ddi_io_rep_getb illumos DDI
ddi_io_rep_getl illumos DDI
ddi_io_rep_getw illumos DDI
ddi_io_rep_put16 illumos DDI
ddi_io_rep_put32 illumos DDI
ddi_io_rep_put8 illumos DDI
ddi_io_rep_putb illumos DDI
ddi_io_rep_putl illumos DDI
ddi_io_rep_putw illumos DDI
ddi_iomin illumos DDI
ddi_log_sysevent illumos DDI
ddi_map_regs illumos DDI
ddi_mapdev illumos DDI
ddi_mapdev_intercept illumos DDI
ddi_mapdev_nointercept illumos DDI
ddi_mapdev_set_device_acc_attr illumos DDI
ddi_mem_get16 illumos DDI
ddi_mem_get32 illumos DDI
ddi_mem_get64 illumos DDI
ddi_mem_get8 illumos DDI
ddi_mem_getb illumos DDI
ddi_mem_getl illumos DDI
ddi_mem_getll illumos DDI
ddi_mem_getw illumos DDI
ddi_mem_put16 illumos DDI
ddi_mem_put32 illumos DDI
ddi_mem_put64 illumos DDI
ddi_mem_put8 illumos DDI
ddi_mem_putb illumos DDI
ddi_mem_putl illumos DDI
ddi_mem_putll illumos DDI
ddi_mem_putw illumos DDI
ddi_mem_rep_get16 illumos DDI
ddi_mem_rep_get32 illumos DDI
ddi_mem_rep_get64 illumos DDI
ddi_mem_rep_get8 illumos DDI
ddi_mem_rep_getb illumos DDI
ddi_mem_rep_getl illumos DDI
ddi_mem_rep_getll illumos DDI
ddi_mem_rep_getw illumos DDI
ddi_mem_rep_put16 illumos DDI
ddi_mem_rep_put32 illumos DDI
ddi_mem_rep_put64 illumos DDI
ddi_mem_rep_put8 illumos DDI
ddi_mem_rep_putb illumos DDI
ddi_mem_rep_putl illumos DDI
ddi_mem_rep_putll illumos DDI
ddi_mem_rep_putw illumos DDI
ddi_mmap_get_model illumos DDI
ddi_model_convert_from illumos DDI
ddi_modopen illumos DDI
ddi_no_info illumos DDI
ddi_node_name illumos DDI
ddi_peek16 illumos DDI
ddi_peek32 illumos DDI
ddi_peek64 illumos DDI
ddi_peek8 illumos DDI
ddi_peekc illumos DDI
ddi_peekd illumos DDI
ddi_peekl illumos DDI
ddi_peeks illumos DDI
ddi_periodic_add illumos DDI
ddi_periodic_delete illumos DDI
ddi_poke16 illumos DDI
ddi_poke32 illumos DDI
ddi_poke64 illumos DDI
ddi_poke8 illumos DDI
ddi_pokec illumos DDI
ddi_poked illumos DDI
ddi_pokel illumos DDI
ddi_pokes illumos DDI
ddi_prop_create illumos DDI
ddi_prop_exists illumos DDI
ddi_prop_free illumos DDI
ddi_prop_get_int illumos DDI
ddi_prop_lookup illumos DDI
ddi_prop_lookup_byte_array illumos DDI
ddi_prop_lookup_int_array illumos DDI
ddi_prop_lookup_string illumos DDI
ddi_prop_lookup_string_array illumos DDI
ddi_prop_modify illumos DDI
ddi_prop_op illumos DDI
ddi_prop_remove illumos DDI
ddi_prop_remove_all illumos DDI
ddi_prop_undefine illumos DDI
ddi_prop_update illumos DDI
ddi_prop_update_byte_array illumos DDI
ddi_prop_update_int illumos DDI
ddi_prop_update_int_array illumos DDI
ddi_prop_update_string illumos DDI
ddi_prop_update_string_array illumos DDI
ddi_ptob illumos DDI
ddi_put16 illumos DDI
ddi_put32 illumos DDI
ddi_put64 illumos DDI
ddi_put8 illumos DDI
ddi_putb illumos DDI
ddi_putl illumos DDI
ddi_putll illumos DDI
ddi_putw illumos DDI
ddi_regs_map_free illumos DDI
ddi_regs_map_setup illumos DDI
ddi_remove_event_handler illumos DDI
ddi_remove_intr illumos DDI
ddi_remove_minor_node illumos DDI
ddi_remove_softintr illumos DDI
ddi_removing_power illumos DDI
ddi_rep_get16 illumos DDI
ddi_rep_get32 illumos DDI
ddi_rep_get64 illumos DDI
ddi_rep_get8 illumos DDI
ddi_rep_getb illumos DDI
ddi_rep_getl illumos DDI
ddi_rep_getll illumos DDI
ddi_rep_getw illumos DDI
ddi_rep_put16 illumos DDI
ddi_rep_put32 illumos DDI
ddi_rep_put64 illumos DDI
ddi_rep_put8 illumos DDI
ddi_rep_putb illumos DDI
ddi_rep_putl illumos DDI
ddi_rep_putll illumos DDI
ddi_rep_putw illumos DDI
ddi_report_dev illumos DDI
ddi_root_node illumos DDI
ddi_segmap illumos DDI
ddi_segmap_setup illumos DDI
ddi_set_driver_private illumos DDI
ddi_slaveonly illumos DDI
ddi_soft_state illumos DDI
ddi_soft_state_fini illumos DDI
ddi_soft_state_free illumos DDI
ddi_soft_state_init illumos DDI
ddi_soft_state_zalloc illumos DDI
ddi_strlol illumos DDI
ddi_strloul illumos DDI
ddi_trigger_softintr illumos DDI
ddi_umem_alloc illumos DDI
ddi_umem_free illumos DDI
ddi_umem_iosetup illumos DDI
ddi_umem_lock illumos DDI
ddi_unmap_regs illumos DDI
delay DDI/DKI
devmap_default_access illumos DDI
devmap_devmem_setup illumos DDI
devmap_do_ctxmgt illumos DDI
devmap_load illumos DDI
devmap_set_ctx_timeout illumos DDI
devmap_setup illumos DDI
devmap_umem_setup illumos DDI
devmap_unload illumos DDI
disksort illumos DDI
dlbindack illumos DDI
drv_getparm DDI/DKI
drv_hztousec DDI/DKI
drv_priv DDI/DKI
drv_usectohz DDI/DKI
drv_usecwait DDI/DKI
free_pktiopb illumos DDI
freerbuf DDI/DKI
get_pktiopb illumos DDI
geterror DDI/DKI
gethrtime DDI/DKI
getmajor DDI/DKI
getminor DDI/DKI
getrbuf DDI/DKI
gld illumos DDI
hat_getkpfnum DKI only
id32_alloc illumos DDI
inb illumos x86 DDI
inl illumos x86 DDI
inw illumos x86 DDI
kiconv illumos DDI
kiconv_close illumos DDI
kiconv_open illumos DDI
kiconvstr illumos DDI
kmem_alloc DDI/DKI
kmem_cache_create illumos DDI
kmem_free DDI/DKI
kmem_zalloc DDI/DKI
kstat_create illumos DDI
kstat_delete illumos DDI
kstat_install illumos DDI
kstat_named_init illumos DDI
kstat_queue illumos DDI
kstat_runq_back_to_waitq illumos DDI
kstat_runq_enter illumos DDI
kstat_runq_exit illumos DDI
kstat_waitq_enter illumos DDI
kstat_waitq_exit illumos DDI
kstat_waitq_to_runq illumos DDI
ldi_add_event_handler illumos DDI
ldi_aread illumos DDI
ldi_devmap illumos DDI
ldi_dump illumos DDI
ldi_ev_finalize illumos DDI
ldi_ev_get_cookie illumos DDI
ldi_ev_get_type illumos DDI
ldi_ev_notify illumos DDI
ldi_ev_register_callbacks illumos DDI
ldi_ev_remove_callbacks illumos DDI
ldi_get_dev illumos DDI
ldi_get_eventcookie illumos DDI
ldi_get_size illumos DDI
ldi_ident_from_dev illumos DDI
ldi_ioctl illumos DDI
ldi_open_by_dev illumos DDI
ldi_poll illumos DDI
ldi_prop_exists illumos DDI
ldi_prop_get_int illumos DDI
ldi_prop_get_lookup_int_array illumos DDI
ldi_putmsg illumos DDI
ldi_read illumos DDI
ldi_remove_event_handler illumos DDI
ldi_strategy illumos DDI
makecom_g0 illumos DDI
makecom_g0_s illumos DDI
makecom_g1 illumos DDI
makecom_g5 illumos DDI
makedevice DDI/DKI
max DDI/DKI
max DDI/DKI
membar_ops illumos DDI
memchr illumos DDI
minphys illumos DDI
mod_info illumos DDI
mod_install illumos DDI
mod_remove illumos DDI
mutex_destroy illumos DDI
mutex_enter illumos DDI
mutex_exit illumos DDI
mutex_init illumos DDI
mutex_owned illumos DDI
mutex_tryenter illumos DDI
nochpoll illumos DDI
nodev DDI/DKI
nulldev DDI/DKI
numtos illumos DDI
nvlist_add_boolean illumos DDI
nvlist_alloc illumos DDI
nvlist_lookup_boolean illumos DDI
nvlist_lookup_nvpair illumos DDI
nvlist_next_nvpair illumos DDI
nvlist_remove illumos DDI
nvlist_value_byte illumos DDI
outb illumos x86 DDI
outl illumos x86 DDI
outw illumos x86 DDI
pci_config_get16 illumos DDI
pci_config_get32 illumos DDI
pci_config_get64 illumos DDI
pci_config_get8 illumos DDI
pci_config_getb illumos DDI
pci_config_getl illumos DDI
pci_config_getw illumos DDI
pci_config_put16 illumos DDI
pci_config_put32 illumos DDI
pci_config_put64 illumos DDI
pci_config_put8 illumos DDI
pci_config_putb illumos DDI
pci_config_putl illumos DDI
pci_config_putw illumos DDI
pci_config_setup illumos DDI
pci_config_teardown illumos DDI
pci_ereport_setup illumos DDI
pci_report_pmcap illumos DDI
pci_save_config_regs illumos DDI
physio illumos DDI
pm_busy_component illumos DDI
pm_power_has_changed illumos DDI
pm_raise_power illumos DDI
pm_trans_check illumos DDI
pollwakeup DDI/DKI
pci_config_teardown illumos DDI
pci_config_teardown illumos DDI
priv_getbyname illumos DDI
priv_policy illumos DDI
proc_signal illumos DDI
proc_unref illumos DDI
ptob DDI/DKI
repinsb illumos x86 DDI
repinsd illumos x86 DDI
repinsw illumos x86 DDI
repoutsb illumos x86 DDI
repoutsd illumos x86 DDI
repoutsw illumos x86 DDI
rmalloc DDI/DKI
rmalloc_wait DDI/DKI
rmallocmap DDI/DKI
rmallocmap_wait DDI/DKI
rmfree DDI/DKI
rmfreemap DDI/DKI
rw_destroy illumos DDI
rw_downgrade illumos DDI
rw_enter illumos DDI
rw_exit illumos DDI
rw_init illumos DDI
rw_read_locked illumos DDI
rw_tryenter illumos DDI
rw_tryupgrade illumos DDI
scsi_abort illumos DDI
scsi_alloc_consistent_buf illumos DDI
scsi_cname illumos DDI
scsi_destroy_pkt illumos DDI
scsi_dmafree illumos DDI
scsi_dmaget illumos DDI
scsi_dname illumos DDI
scsi_errmsg illumos DDI
scsi_ext_sense_fields illumos DDI
scsi_find_sense_descr illumos DDI
scsi_free_consistent_buf illumos DDI
scsi_get_device_type_scsi_options illumos DDI
scsi_get_device_type_string illumos DDI
scsi_hba_attach_setup illumos DDI
scsi_hba_detach illumos DDI
scsi_hba_fini illumos DDI
scsi_hba_init illumos DDI
scsi_hba_lookup_capstr illumos DDI
scsi_hba_pkt_alloc illumos DDI
scsi_hba_pkt_free illumos DDI
scsi_hba_probe illumos DDI
scsi_hba_tran_alloc illumos DDI
scsi_hba_tran_free illumos DDI
scsi_ifgetcap illumos DDI
scsi_ifsetcap illumos DDI
scsi_init_pkt illumos DDI
scsi_log illumos DDI
scsi_mname illumos DDI
scsi_pktalloc illumos DDI
scsi_pktfree illumos DDI
scsi_poll illumos DDI
scsi_probe illumos DDI
scsi_resalloc illumos DDI
scsi_reset illumos DDI
scsi_reset_notify illumos DDI
scsi_resfree illumos DDI
scsi_rname illumos DDI
scsi_sense_key illumos DDI
scsi_setup_cdb illumos DDI
scsi_slave illumos DDI
scsi_sname illumos DDI
scsi_sync_pkt illumos DDI
scsi_transport illumos DDI
scsi_unprobe illumos DDI
scsi_unslave illumos DDI
scsi_validate_sense illumos DDI
scsi_vu_errmsg illumos DDI
sema_destroy illumos DDI
sema_init illumos DDI
sema_p illumos DDI
sema_p_sig illumos DDI
sema_tryp illumos DDI
sema_v illumos DDI
sprintf illumos DDI
stoi illumos DDI
strchr illumos DDI
strcmp illumos DDI
strcpy illumos DDI
strlen illumos DDI
strncmp illumos DDI
strncpy illumos DDI
STRUCT_DECL illumos DDI
swab DDI/DKI
taskq illumos DDI
timeout DDI/DKI
u8_strcmp illumos DDI
u8_textprep_str illumos DDI
u8_validate illumos DDI
uconv_u16tou32 illumos DDI
uiomove DDI/DKI
untimeout DDI/DKI
ureadc DDI/DKI
usb_alloc_request illumos DDI
usb_client_attach illumos DDI
usb_clr_feature illumos DDI
usb_create_pm_components illumos DDI
usb_get_addr illumos DDI
usb_get_alt_if illumos DDI
usb_get_cfg illumos DDI
usb_get_current_frame_number illumos DDI
usb_get_dev_data illumos DDI
usb_get_max_pkts_per_ioc_request illumos DDI
usb_get_status illumos DDI
usb_get_string_desc illumos DDI
usb_handle_remote_wakeup illumos DDI
usb_lookup_ep_data illumos DDI
usb_parse_data illumos DDI
usb_pipe_bulk_xfer illumos DDI
usb_pipe_close illumos DDI
usb_pipe_ctrl_xfer illumos DDI
usb_pipe_drain_reqs illumos DDI
usb_pipe_get_max_bulk_transfer_size illumos DDI
usb_pipe_get_state illumos DDI
usb_pipe_intr_xfer illumos DDI
usb_pipe_isoc_xfer illumos DDI
usb_pipe_open illumos DDI
usb_pipe_reset illumos DDI
usb_pipe_set_private illumos DDI
usb_register_hotplug_cbs illumos DDI
usb_reset_device illumos DDI
uwritec DDI/DKI
va_arg illumos DDI
va_end illumos DDI
va_start illumos DDI
vcmn_err DDI/DKI
vsprintf illumos DDI
SEE ALSO

Intro(9E), mutex(9F)