intro(9F)
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:
o NAME summarizes the function's purpose.
o SYNOPSIS shows the syntax of the function's entry
point in the source code. #include directives are
shown for required headers.
o INTERFACE LEVEL describes any architecture dependen-
cies.
o ARGUMENTS describes any arguments required to invoke
the function.
o DESCRIPTION describes general information about the
function.
o RETURN VALUES describes the return values and mes-
sages that can result from invoking the function.
o CONTEXT indicates from which driver context (user,
kernel, interrupt, or high-level interrupt) the
function can be called.
o 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.
o 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 con-
text.
o Interrupt context is kernel context, but also has an
interrupt level associated with it. Driver interrupt
routines have interrupt context.
Note:
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.
o High-level interrupt context is a more restricted form
of interrupt context. If ddi_intr_hilevel(9F) indi-
cates that an interrupt is high-level, driver inter-
rupt routines added for that interrupt with
ddi_add_intr(9F) run in high-level interrupt context.
These interrupt routines are only allowed to call
ddi_trigger_softintr(9F) mutex_enter(9F) and
mutex_exit(9F). Furthermore, mutex_enter(9F) and
mutex_exit(9F) may only be called on mutexes initial-
ized with the ddi_iblock_cookie returned by
ddi_get_iblock_cookie(9F).
o SEE ALSO indicates functions that are related by
usage and sources, and which can be referred to for
further information.
o 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
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
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
insq DDI/DKI
linkb DDI/DKI
msgdsize DDI/DKI
msgpullup DDI/DKI
mt-streams Solaris 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
qbufcall Solaris DDI
qenable DDI/DKI
qprocson DDI/DKI
qprocsoff DDI/DKI
qreply DDI/DKI
qsize DDI/DKI
qtimeout Solaris DDI
qunbufcall Solaris DDI
quntimeout Solaris DDI
qwait Solaris DDI
qwait_sig Solaris DDI
qwriter Solaris 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 Solaris DDI
aphysio Solaris DDI
bcmp DDI/DKI
bcopy DDI/DKI
biodone DDI/DKI
bioclone Solaris DDI
biofini Solaris DDI
bioinit Solaris DDI
biomodified Solaris DDI
biosize Solaris DDI
bioerror Solaris DDI
bioreset Solaris DDI
biowait DDI/DKI
bp_mapin DDI/DKI
bp_mapout DDI/DKI
btop DDI/DKI
btopr DDI/DKI
bzero DDI/DKI
cmn_err DDI/DKI
copyin DDI/DKI
copyout DDI/DKI
cv_broadcast Solaris DDI
cv_destroy Solaris DDI
cv_init Solaris DDI
cv_signal Solaris DDI
cv_timedwait Solaris DDI
cv_wait Solaris DDI
cv_wait_sig Solaris DDI
ddi_add_intr Solaris DDI
ddi_add_softintr Solaris DDI
ddi_btop Solaris DDI
ddi_btopr Solaris DDI
ddi_copyin Solaris DDI
ddi_copyout Solaris DDI
ddi_create_minor_node Solaris DDI
ddi_dev_is_sid Solaris DDI
ddi_dev_nintrs Solaris DDI
ddi_dev_nregs Solaris DDI
ddi_dev_regsize Solaris DDI
ddi_device_copy Solaris DDI
ddi_device_zero Solaris DDI
ddi_devmap_segmap Solaris DDI
ddi_dma_addr_bind_handle Solaris DDI
ddi_dma_addr_setup Solaris DDI
ddi_dma_alloc_handle Solaris DDI
ddi_dma_buf_bind_handle Solaris DDI
ddi_dma_buf_setup Solaris DDI
ddi_dma_burstsizes Solaris DDI
ddi_dma_coff Solaris SPARC DDI
ddi_dma_curwin Solaris SPARC DDI
ddi_dma_devalign Solaris DDI
ddi_dma_free Solaris DDI
ddi_dma_free_handle Solaris DDI
ddi_dma_getwin Solaris DDI
ddi_dma_htoc Solaris SPARC DDI
ddi_dma_mem_alloc Solaris DDI
ddi_dma_mem_free Solaris DDI
ddi_dma_movwin Solaris SPARC DDI
ddi_dma_nextcookie Solaris DDI
ddi_dma_nextseg Solaris DDI
ddi_dma_nextwin Solaris DDI
ddi_dma_numwin Solaris DDI
ddi_dma_segtocookie Solaris DDI
ddi_dma_set_sbus64 Solaris DDI
ddi_dma_setup Solaris DDI
ddi_dma_sync Solaris DDI
ddi_dma_unbind_handle Solaris DDI
ddi_dmae Solaris x86 DDI
ddi_dmae_1stparty Solaris x86 DDI
ddi_dmae_alloc Solaris x86 DDI
ddi_dmae_disable Solaris x86 DDI
ddi_dmae_enable Solaris x86 DDI
ddi_dmae_getattr Solaris x86 DDI
ddi_dmae_getcnt Solaris x86 DDI
ddi_dmae_getlim Solaris x86 DDI
ddi_dmae_prog Solaris x86 DDI
ddi_dmae_release Solaris x86 DDI
ddi_dmae_stop Solaris x86 DDI
ddi_enter_critical Solaris DDI
ddi_exit_critical Solaris DDI
ddi_ffs Solaris DDI
ddi_fls Solaris DDI
ddi_get16 Solaris DDI
ddi_get32 Solaris DDI
ddi_get64 Solaris DDI
ddi_get8 Solaris DDI
ddi_get_cred Solaris DDI
ddi_get_driver_private Solaris DDI
ddi_get_iblock_cookie Solaris DDI
ddi_get_instance Solaris DDI
ddi_get_name Solaris DDI
ddi_get_parent Solaris DDI
ddi_get_soft_iblock_cookie Solaris DDI
ddi_get_soft_state Solaris DDI
ddi_getb Solaris DDI
ddi_getl Solaris DDI
ddi_getll Solaris DDI
ddi_getlongprop Solaris DDI
ddi_getlongprop_buf Solaris DDI
ddi_getprop Solaris DDI
ddi_getproplen Solaris DDI
ddi_getw Solaris DDI
ddi_intr_hilevel Solaris DDI
ddi_io_get16 Solaris DDI
ddi_io_get32 Solaris DDI
ddi_io_get8 Solaris DDI
ddi_io_getb Solaris DDI
ddi_io_getl Solaris DDI
ddi_io_getw Solaris DDI
ddi_io_put16 Solaris DDI
ddi_io_put32 Solaris DDI
ddi_io_put8 Solaris DDI
ddi_io_putb Solaris DDI
ddi_io_putl Solaris DDI
ddi_io_putw Solaris DDI
ddi_io_rep_get16 Solaris DDI
ddi_io_rep_get32 Solaris DDI
ddi_io_rep_get8 Solaris DDI
ddi_io_rep_getb Solaris DDI
ddi_io_rep_getl Solaris DDI
ddi_io_rep_getw Solaris DDI
ddi_io_rep_put16 Solaris DDI
ddi_io_rep_put32 Solaris DDI
ddi_io_rep_put8 Solaris DDI
ddi_io_rep_putb Solaris DDI
ddi_io_rep_putl Solaris DDI
ddi_io_rep_putw Solaris DDI
ddi_iomin Solaris DDI
ddi_iopb_alloc Solaris DDI
ddi_iopb_free Solaris DDI
ddi_map_regs Solaris DDI
ddi_mapdev Solaris DDI
ddi_mapdev_intercept Solaris DDI
ddi_mapdev_nointercept Solaris DDI
ddi_mapdev_set_device_acc_attr Solaris DDI
ddi_mem_alloc Solaris DDI
ddi_mem_free Solaris DDI
ddi_mem_get16 Solaris DDI
ddi_mem_get32 Solaris DDI
ddi_mem_get64 Solaris DDI
ddi_mem_get8 Solaris DDI
ddi_mem_getb Solaris DDI
ddi_mem_getl Solaris DDI
ddi_mem_getll Solaris DDI
ddi_mem_getw Solaris DDI
ddi_mem_put16 Solaris DDI
ddi_mem_put32 Solaris DDI
ddi_mem_put64 Solaris DDI
ddi_mem_put8 Solaris DDI
ddi_mem_putb Solaris DDI
ddi_mem_putl Solaris DDI
ddi_mem_putll Solaris DDI
ddi_mem_putw Solaris DDI
ddi_mem_rep_get16 Solaris DDI
ddi_mem_rep_get32 Solaris DDI
ddi_mem_rep_get64 Solaris DDI
ddi_mem_rep_get8 Solaris DDI
ddi_mem_rep_getb Solaris DDI
ddi_mem_rep_getl Solaris DDI
ddi_mem_rep_getll Solaris DDI
ddi_mem_rep_getw Solaris DDI
ddi_mem_rep_put16 Solaris DDI
ddi_mem_rep_put32 Solaris DDI
ddi_mem_rep_put64 Solaris DDI
ddi_mem_rep_put8 Solaris DDI
ddi_mem_rep_putb Solaris DDI
ddi_mem_rep_putl Solaris DDI
ddi_mem_rep_putll Solaris DDI
ddi_mem_rep_putw Solaris DDI
ddi_mmap_get_model Solaris DDI
ddi_model_convert_from Solaris DDI
ddi_node_name Solaris DDI
ddi_peek16 Solaris DDI
ddi_peek32 Solaris DDI
ddi_peek64 Solaris DDI
ddi_peek8 Solaris DDI
ddi_peekc Solaris DDI
ddi_peekd Solaris DDI
ddi_peekl Solaris DDI
ddi_peeks Solaris DDI
ddi_poke16 Solaris DDI
ddi_poke32 Solaris DDI
ddi_poke64 Solaris DDI
ddi_poke8 Solaris DDI
ddi_pokec Solaris DDI
ddi_poked Solaris DDI
ddi_pokel Solaris DDI
ddi_pokes Solaris DDI
ddi_prop_create Solaris DDI
ddi_prop_exists Solaris DDI
ddi_prop_free Solaris DDI
ddi_prop_get_int Solaris DDI
ddi_prop_lookup Solaris DDI
ddi_prop_lookup_byte_array Solaris DDI
ddi_prop_lookup_int_array Solaris DDI
ddi_prop_lookup_string Solaris DDI
ddi_prop_lookup_string_array Solaris DDI
ddi_prop_modify Solaris DDI
ddi_prop_op Solaris DDI
ddi_prop_remove Solaris DDI
ddi_prop_remove_all Solaris DDI
ddi_prop_undefine Solaris DDI
ddi_prop_update Solaris DDI
ddi_prop_update_byte_array Solaris DDI
ddi_prop_update_int Solaris DDI
ddi_prop_update_int_array Solaris DDI
ddi_prop_update_string Solaris DDI
ddi_prop_update_string_array Solaris DDI
ddi_ptob Solaris DDI
ddi_put16 Solaris DDI
ddi_put32 Solaris DDI
ddi_put64 Solaris DDI
ddi_put8 Solaris DDI
ddi_putb Solaris DDI
ddi_putl Solaris DDI
ddi_putll Solaris DDI
ddi_putw Solaris DDI
ddi_regs_map_free Solaris DDI
ddi_regs_map_setup Solaris DDI
ddi_remove_intr Solaris DDI
ddi_remove_minor_node Solaris DDI
ddi_remove_softintr Solaris DDI
ddi_rep_get16 Solaris DDI
ddi_rep_get32 Solaris DDI
ddi_rep_get64 Solaris DDI
ddi_rep_get8 Solaris DDI
ddi_rep_getb Solaris DDI
ddi_rep_getl Solaris DDI
ddi_rep_getll Solaris DDI
ddi_rep_getw Solaris DDI
ddi_rep_put16 Solaris DDI
ddi_rep_put32 Solaris DDI
ddi_rep_put64 Solaris DDI
ddi_rep_put8 Solaris DDI
ddi_rep_putb Solaris DDI
ddi_rep_putl Solaris DDI
ddi_rep_putll Solaris DDI
ddi_rep_putw Solaris DDI
ddi_report_dev Solaris DDI
ddi_root_node Solaris DDI
ddi_segmap Solaris DDI
ddi_segmap_setup Solaris DDI
ddi_set_driver_private Solaris DDI
ddi_slaveonly Solaris DDI
ddi_soft_state Solaris DDI
ddi_soft_state_fini Solaris DDI
ddi_soft_state_free Solaris DDI
ddi_soft_state_init Solaris DDI
ddi_soft_state_zalloc Solaris DDI
ddi_trigger_softintr Solaris DDI
ddi_umem_alloc Solaris DDI
ddi_umem_free Solaris DDI
ddi_unmap_regs Solaris DDI
delay DDI/DKI
devmap_default_access Solaris DDI
devmap_devmem_setup Solaris DDI
devmap_do_ctxmgt Solaris DDI
devmap_load Solaris DDI
devmap_set_ctx_timeout Solaris DDI
devmap_setup Solaris DDI
devmap_umem_setup Solaris DDI
devmap_unload Solaris DDI
disksort Solaris DDI
drv_getparm DDI/DKI
drv_hztousec DDI/DKI
drv_priv DDI/DKI
drv_usectohz DDI/DKI
drv_usecwait DDI/DKI
free_pktiopb Solaris DDI
freerbuf DDI/DKI
get_pktiopb Solaris DDI
geterror DDI/DKI
getmajor DDI/DKI
getminor DDI/DKI
getrbuf DDI/DKI
hat_getkpfnum DKI only
inb Solaris x86 DDI
inl Solaris x86 DDI
inw Solaris x86 DDI
kmem_alloc DDI/DKI
kmem_free DDI/DKI
kmem_zalloc DDI/DKI
kstat_create Solaris DDI
kstat_delete Solaris DDI
kstat_install Solaris DDI
kstat_named_init Solaris DDI
kstat_queue Solaris DDI
kstat_runq_back_to_waitq Solaris DDI
kstat_runq_enter Solaris DDI
kstat_runq_exit Solaris DDI
kstat_waitq_enter Solaris DDI
kstat_waitq_exit Solaris DDI
kstat_waitq_to_runq Solaris DDI
makecom_g0 Solaris DDI
makecom_g0_s Solaris DDI
makecom_g1 Solaris DDI
makecom_g5 Solaris DDI
makedevice DDI/DKI
max DDI/DKI
min DDI/DKI
minphys Solaris DDI
mod_info Solaris DDI
mod_install Solaris DDI
mod_remove Solaris DDI
mutex_destroy Solaris DDI
mutex_enter Solaris DDI
mutex_exit Solaris DDI
mutex_init Solaris DDI
mutex_owned Solaris DDI
mutex_tryenter Solaris DDI
nochpoll Solaris DDI
nodev DDI/DKI
nulldev DDI/DKI
numtos Solaris DDI
outb Solaris x86 DDI
outl Solaris x86 DDI
outw Solaris x86 DDI
pci_config_get16 Solaris DDI
pci_config_get32 Solaris DDI
pci_config_get64 Solaris DDI
pci_config_get8 Solaris DDI
pci_config_getb Solaris DDI
pci_config_getl Solaris DDI
pci_config_getw Solaris DDI
pci_config_put16 Solaris DDI
pci_config_put32 Solaris DDI
pci_config_put64 Solaris DDI
pci_config_put8 Solaris DDI
pci_config_putb Solaris DDI
pci_config_putl Solaris DDI
pci_config_putw Solaris DDI
pci_config_setup Solaris DDI
pci_config_teardown Solaris DDI
physio Solaris DDI
pollwakeup DDI/DKI
proc_ref Solaris DDI
proc_signal Solaris DDI
proc_unref Solaris DDI
ptob DDI/DKI
repinsb Solaris x86 DDI
repinsd Solaris x86 DDI
repinsw Solaris x86 DDI
repoutsb Solaris x86 DDI
repoutsd Solaris x86 DDI
repoutsw Solaris x86 DDI
rmalloc DDI/DKI
rmalloc_wait DDI/DKI
rmallocmap DDI/DKI
rmallocmap_wait DDI/DKI
rmfree DDI/DKI
rmfreemap DDI/DKI
rw_destroy Solaris DDI
rw_downgrade Solaris DDI
rw_enter Solaris DDI
rw_exit Solaris DDI
rw_init Solaris DDI
rw_read_locked Solaris DDI
rw_tryenter Solaris DDI
rw_tryupgrade Solaris DDI
scsi_abort Solaris DDI
scsi_alloc_consistent_buf Solaris DDI
scsi_cname Solaris DDI
scsi_destroy_pkt Solaris DDI
scsi_dmafree Solaris DDI
scsi_dmaget Solaris DDI
scsi_dname Solaris DDI
scsi_errmsg Solaris DDI
scsi_free_consistent_buf Solaris DDI
scsi_hba_attach Solaris DDI
scsi_hba_attach_setup Solaris DDI
scsi_hba_detach Solaris DDI
scsi_hba_fini Solaris DDI
scsi_hba_init Solaris DDI
scsi_hba_lookup_capstr Solaris DDI
scsi_hba_pkt_alloc Solaris DDI
scsi_hba_pkt_free Solaris DDI
scsi_hba_probe Solaris DDI
scsi_hba_tran_alloc Solaris DDI
scsi_hba_tran_free Solaris DDI
scsi_ifgetcap Solaris DDI
scsi_ifsetcap Solaris DDI
scsi_init_pkt Solaris DDI
scsi_log Solaris DDI
scsi_mname Solaris DDI
scsi_pktalloc Solaris DDI
scsi_pktfree Solaris DDI
scsi_poll Solaris DDI
scsi_probe Solaris DDI
scsi_resalloc Solaris DDI
scsi_reset Solaris DDI
scsi_reset_notify Solaris DDI
scsi_resfree Solaris DDI
scsi_rname Solaris DDI
scsi_slave Solaris DDI
scsi_sname Solaris DDI
scsi_sync_pkt Solaris DDI
scsi_transport Solaris DDI
scsi_unprobe Solaris DDI
scsi_unslave Solaris DDI
sema_destroy Solaris DDI
sema_init Solaris DDI
sema_p Solaris DDI
sema_p_sig Solaris DDI
sema_tryp Solaris DDI
sema_v Solaris DDI
sprintf Solaris DDI
stoi Solaris DDI
strchr Solaris DDI
strcmp Solaris DDI
strcpy Solaris DDI
strlen Solaris DDI
strncmp Solaris DDI
strncpy Solaris DDI
swab DDI/DKI
timeout DDI/DKI
uiomove DDI/DKI
untimeout DDI/DKI
ureadc DDI/DKI
uwritec DDI/DKI
va_arg Solaris DDI
va_end Solaris DDI
va_start Solaris DDI
vcmn_err DDI/DKI
vsprintf Solaris DDI
SEE ALSO
Intro(9E), mutex(9F)
LIST OF FUNCTIONS
Name Description
ASSERT(9F)
expression verification
IOC_CONVERT_FROM(9F)
determine if there is a need to translate M_IOCTL con-
tents.
OTHERQ(9F)
get pointer to queue's partner queue
RD(9F)
get pointer to the read queue
SAMESTR(9F)
test if next queue is in the same stream
SIZEOF_PTR(9F)
See STRUCT_DECL(9F)
SIZEOF_STRUCT(9F)
See STRUCT_DECL(9F)
STRUCT_BUF(9F)
See STRUCT_DECL(9F)
STRUCT_DECL(9F)
32[ndash ]bit application data access macros
STRUCT_FADDR(9F)
See STRUCT_DECL(9F)
STRUCT_FGET(9F)
See STRUCT_DECL(9F)
STRUCT_FGETP(9F)
See STRUCT_DECL(9F)
STRUCT_FSET(9F)
See STRUCT_DECL(9F)
STRUCT_FSETP(9F)
See STRUCT_DECL(9F)
STRUCT_HANDLE(9F)
See STRUCT_DECL(9F)
STRUCT_INIT(9F)
See STRUCT_DECL(9F)
STRUCT_SET_HANDLE(9F)
See STRUCT_DECL(9F)
STRUCT_SIZE(9F)
See STRUCT_DECL(9F)
WR(9F)
get pointer to the write queue for this module or
driver
adjmsg(9F)
trim bytes from a message
allocb(9F)
allocate a message block
anocancel(9F)
prevent cancellation of asynchronous I/O request
aphysio(9F)
perform asynchronous physical I/O
assert(9F)
See ASSERT(9F)
backq(9F)
get pointer to the queue behind the current queue
bcanput(9F)
test for flow control in specified priority band
bcanputnext(9F)
See canputnext(9F)
bcmp(9F)
compare two byte arrays
bcopy(9F)
copy data between address locations in the kernel
bioclone(9F)
clone another buffer
biodone(9F)
release buffer after buffer I/O transfer and notify
blocked threads
bioerror(9F)
indicate error in buffer header
biofini(9F)
uninitialize a buffer structure
bioinit(9F)
initialize a buffer structure
biomodified(9F)
check if a buffer is modified
bioreset(9F)
reuse a private buffer header after I/O is complete
biosize(9F)
returns size of a buffer structure
biowait(9F)
suspend processes pending completion of block I/O
bp_mapin(9F)
allocate virtual address space
bp_mapout(9F)
deallocate virtual address space
btop(9F)
convert size in bytes to size in pages (round down)
btopr(9F)
convert size in bytes to size in pages (round up)
bufcall(9F)
call a function when a buffer becomes available
bzero(9F)
clear memory for a given number of bytes
canput(9F)
test for room in a message queue
canputnext(9F)
test for room in next module's message queue
clrbuf(9F)
erase the contents of a buffer
cmn_err(9F)
display an error message or panic the system
condvar(9F)
condition variable routines
copyb(9F)
copy a message block
copyin(9F)
copy data from a user program to a driver buffer
copymsg(9F)
copy a message
copyout(9F)
copy data from a driver to a user program
csx_AccessConfigurationRegister(9F)
read or write a PC Card Configuration Register
csx_CS_DDI_Info(9F)
obtain DDI information
csx_ConvertSize(9F)
convert device sizes
csx_ConvertSpeed(9F)
convert device speeds
csx_DeregisterClient(9F)
remove client from Card Services list
csx_DupHandle(9F)
duplicate access handle
csx_Error2Text(9F)
convert error return codes to text strings
csx_Event2Text(9F)
convert events to text strings
csx_FreeHandle(9F)
free access handle
csx_Get16(9F)
See csx_Get8(9F)
csx_Get32(9F)
See csx_Get8(9F)
csx_Get64(9F)
See csx_Get8(9F)
csx_Get8(9F)
read data from device address
csx_GetEventMask(9F)
See csx_SetEventMask(9F)
csx_GetFirstClient(9F)
return first or next client
csx_GetFirstTuple(9F)
return Card Information Structure tuple
csx_GetHandleOffset(9F)
return current access handle offset
csx_GetMappedAddr(9F)
return mapped virtual address
csx_GetNextClient(9F)
See csx_GetFirstClient(9F)
csx_GetNextTuple(9F)
See csx_GetFirstTuple(9F)
csx_GetStatus(9F)
return the current status of a PC Card and its socket
csx_GetTupleData(9F)
return the data portion of a tuple
csx_MakeDeviceNode(9F)
create and remove minor nodes on behalf of the client
csx_MapLogSocket(9F)
return the physical socket number associated with the
client handle
csx_MapMemPage(9F)
map the memory area on a PC Card
csx_ModifyConfiguration(9F)
modify socket and PC Card Configuration Register
csx_ModifyWindow(9F)
modify window attributes
csx_ParseTuple(9F)
generic tuple parser
csx_Parse_CISTPL_BATTERY(9F)
parse the Battery Replacement Date tuple
csx_Parse_CISTPL_BYTEORDER(9F)
parse the Byte Order tuple
csx_Parse_CISTPL_CFTABLE_ENTRY(9F)
parse 16-bit Card Configuration Table Entry tuple
csx_Parse_CISTPL_CONFIG(9F)
parse Configuration tuple
csx_Parse_CISTPL_DATE(9F)
parse the Card Initialization Date tuple
csx_Parse_CISTPL_DEVICE(9F)
parse Device Information tuples
csx_Parse_CISTPL_DEVICEGEO(9F)
parse the Device Geo tuple
csx_Parse_CISTPL_DEVICEGEO_A(9F)
parse the Device Geo A tuple
csx_Parse_CISTPL_DEVICE_A(9F)
See csx_Parse_CISTPL_DEVICE(9F)
csx_Parse_CISTPL_DEVICE_OA(9F)
See csx_Parse_CISTPL_DEVICE(9F)
csx_Parse_CISTPL_DEVICE_OC(9F)
See csx_Parse_CISTPL_DEVICE(9F)
csx_Parse_CISTPL_FORMAT(9F)
parse the Data Recording Format tuple
csx_Parse_CISTPL_FUNCE(9F)
parse Function Extension tuple
csx_Parse_CISTPL_FUNCID(9F)
parse Function Identification tuple
csx_Parse_CISTPL_GEOMETRY(9F)
parse the Geometry tuple
csx_Parse_CISTPL_JEDEC_A(9F)
See csx_Parse_CISTPL_JEDEC_C(9F)
csx_Parse_CISTPL_JEDEC_C(9F)
parse JEDEC Identifier tuples
csx_Parse_CISTPL_LINKTARGET(9F)
parse the Link Target tuple
csx_Parse_CISTPL_LONGLINK_A(9F)
parse the Long Link A and C tuples
csx_Parse_CISTPL_LONGLINK_C(9F)
See csx_Parse_CISTPL_LONGLINK_A(9F)
csx_Parse_CISTPL_LONGLINK_MFC(9F)
parse the Multi-Function tuple
csx_Parse_CISTPL_MANFID(9F)
parse Manufacturer Identification tuple
csx_Parse_CISTPL_ORG(9F)
parse the Data Organization tuple
csx_Parse_CISTPL_SPCL(9F)
parse the Special Purpose tuple
csx_Parse_CISTPL_SWIL(9F)
parse the Software Interleaving tuple
csx_Parse_CISTPL_VERS_1(9F)
parse Level-1 Version/Product Information tuple
csx_Parse_CISTPL_VERS_2(9F)
parse Level-2 Version and Information tuple
csx_Put16(9F)
See csx_Put8(9F)
csx_Put32(9F)
See csx_Put8(9F)
csx_Put64(9F)
See csx_Put8(9F)
csx_Put8(9F)
write to device register
csx_RegisterClient(9F)
register a client
csx_ReleaseConfiguration(9F)
release PC Card and socket configuration
csx_ReleaseIO(9F)
See csx_RequestIO(9F)
csx_ReleaseIRQ(9F)
See csx_RequestIRQ(9F)
csx_ReleaseSocketMask(9F)
See csx_RequestSocketMask(9F)
csx_ReleaseWindow(9F)
See csx_RequestWindow(9F)
csx_RemoveDeviceNode(9F)
See csx_MakeDeviceNode(9F)
csx_RepGet16(9F)
See csx_RepGet8(9F)
csx_RepGet32(9F)
See csx_RepGet8(9F)
csx_RepGet64(9F)
See csx_RepGet8(9F)
csx_RepGet8(9F)
read repetitively from the device register
csx_RepPut16(9F)
See csx_RepPut8(9F)
csx_RepPut32(9F)
See csx_RepPut8(9F)
csx_RepPut64(9F)
See csx_RepPut8(9F)
csx_RepPut8(9F)
write repetitively to the device register
csx_RequestConfiguration(9F)
configure the PC Card and socket
csx_RequestIO(9F)
request or release I/O resources for the client
csx_RequestIRQ(9F)
request or release IRQ resource
csx_RequestSocketMask(9F)
set or clear the client's client event mask
csx_RequestWindow(9F)
request or release window resources
csx_ResetFunction(9F)
reset a function on a PC card
csx_SetEventMask(9F)
set or return the client event mask for the client
csx_SetHandleOffset(9F)
set current access handle offset
csx_ValidateCIS(9F)
validate the Card Information Structure (CIS)
cv_broadcast(9F)
See condvar(9F)
cv_destroy(9F)
See condvar(9F)
cv_init(9F)
See condvar(9F)
cv_signal(9F)
See condvar(9F)
cv_timedwait(9F)
See condvar(9F)
cv_timedwait_sig(9F)
See condvar(9F)
cv_wait(9F)
See condvar(9F)
cv_wait_sig(9F)
See condvar(9F)
datamsg(9F)
test whether a message is a data message
ddi_add_intr(9F)
hardware interrupt handling routines
ddi_add_softintr(9F)
software interrupt handling routines
ddi_binding_name(9F)
return driver binding name
ddi_btop(9F)
page size conversions
ddi_btopr(9F)
See ddi_btop(9F)
ddi_check_acc_handle(9F)
Check data access and DMA handles
ddi_check_dma_handle(9F)
See ddi_check_acc_handle(9F)
ddi_copyin(9F)
copy data to a driver buffer
ddi_copyout(9F)
copy data from a driver
ddi_create_minor_node(9F)
create a minor node for this device
ddi_dev_is_needed(9F)
inform the system that a device's component is
required
ddi_dev_is_sid(9F)
tell whether a device is self-identifying
ddi_dev_nintrs(9F)
return the number of interrupt specifications a device
has
ddi_dev_nregs(9F)
return the number of register sets a device has
ddi_dev_regsize(9F)
return the size of a device's register
ddi_dev_report_fault(9F)
Report a hardware failure
ddi_device_copy(9F)
copy data from one device register to another device
register
ddi_device_zero(9F)
zero fill the device
ddi_devid_compare(9F)
kernel interfaces for device ids
ddi_devid_free(9F)
See ddi_devid_compare(9F)
ddi_devid_init(9F)
See ddi_devid_compare(9F)
ddi_devid_register(9F)
See ddi_devid_compare(9F)
ddi_devid_sizeof(9F)
See ddi_devid_compare(9F)
ddi_devid_str_decode(9F)
See ddi_devid_compare(9F)
ddi_devid_str_encode(9F)
See ddi_devid_compare(9F)
ddi_devid_str_free(9F)
See ddi_devid_compare(9F)
ddi_devid_unregister(9F)
See ddi_devid_compare(9F)
ddi_devid_valid(9F)
See ddi_devid_compare(9F)
ddi_devmap_segmap(9F)
See devmap_setup(9F)
ddi_dma_addr_bind_handle(9F)
binds an address to a DMA handle
ddi_dma_addr_setup(9F)
easier DMA setup for use with virtual addresses
ddi_dma_alloc_handle(9F)
allocate DMA handle
ddi_dma_buf_bind_handle(9F)
binds a system buffer to a DMA handle
ddi_dma_buf_setup(9F)
easier DMA setup for use with buffer structures
ddi_dma_burstsizes(9F)
find out the allowed burst sizes for a DMA mapping
ddi_dma_coff(9F)
convert a DMA cookie to an offset within a DMA handle
ddi_dma_curwin(9F)
report current DMA window offset and size
ddi_dma_devalign(9F)
find DMA mapping alignment and minimum transfer size
ddi_dma_free(9F)
release system DMA resources
ddi_dma_free_handle(9F)
free DMA handle
ddi_dma_get_attr(9F)
get the device DMA attribute structure from a DMA han-
dle
ddi_dma_getwin(9F)
activate a new DMA window
ddi_dma_htoc(9F)
convert a DMA handle to a DMA address cookie
ddi_dma_mem_alloc(9F)
allocate memory for DMA transfer
ddi_dma_mem_free(9F)
free previously allocated memory
ddi_dma_movwin(9F)
shift current DMA window
ddi_dma_nextcookie(9F)
retrieve subsequent DMA cookie
ddi_dma_nextseg(9F)
get next DMA segment
ddi_dma_nextwin(9F)
get next DMA window
ddi_dma_numwin(9F)
retrieve number of DMA windows
ddi_dma_segtocookie(9F)
convert a DMA segment to a DMA address cookie
ddi_dma_set_sbus64(9F)
allow 64[ndash ]bit transfers on SBus
ddi_dma_setup(9F)
setup DMA resources
ddi_dma_sync(9F)
synchronize CPU and I/O views of memory
ddi_dma_unbind_handle(9F)
unbinds the address in a DMA handle
ddi_dmae(9F)
system DMA engine functions
ddi_dmae_1stparty(9F)
See ddi_dmae(9F)
ddi_dmae_alloc(9F)
See ddi_dmae(9F)
ddi_dmae_disable(9F)
See ddi_dmae(9F)
ddi_dmae_enable(9F)
See ddi_dmae(9F)
ddi_dmae_getattr(9F)
See ddi_dmae(9F)
ddi_dmae_getcnt(9F)
See ddi_dmae(9F)
ddi_dmae_getlim(9F)
See ddi_dmae(9F)
ddi_dmae_prog(9F)
See ddi_dmae(9F)
ddi_dmae_release(9F)
See ddi_dmae(9F)
ddi_dmae_stop(9F)
See ddi_dmae(9F)
ddi_driver_major(9F)
return driver's major device number
ddi_driver_name(9F)
return normalized driver name
ddi_enter_critical(9F)
enter and exit a critical region of control
ddi_exit_critical(9F)
See ddi_enter_critical(9F)
ddi_ffs(9F)
find first (last) bit set in a long integer
ddi_fls(9F)
See ddi_ffs(9F)
ddi_get16(9F)
See ddi_get8(9F)
ddi_get32(9F)
See ddi_get8(9F)
ddi_get64(9F)
See ddi_get8(9F)
ddi_get8(9F)
read data from the mapped memory address, device
register or allocated DMA memory address
ddi_get_cred(9F)
returns a pointer to the credential structure of the
caller
ddi_get_devstate(9F)
Check device state
ddi_get_driver_private(9F)
get or set the address of the device's private data
area
ddi_get_iblock_cookie(9F)
See ddi_add_intr(9F)
ddi_get_instance(9F)
get device instance number
ddi_get_kt_did(9F)
get identifier of current thread
ddi_get_lbolt(9F)
returns the value of lbolt
ddi_get_name(9F)
See ddi_binding_name(9F)
ddi_get_parent(9F)
find the parent of a device information structure
ddi_get_pid(9F)
returns the process
ddi_get_soft_iblock_cookie(9F)
See ddi_add_softintr(9F)
ddi_get_soft_state(9F)
See ddi_soft_state(9F)
ddi_get_time(9F)
returns the current time in seconds
ddi_getb(9F)
See ddi_get8(9F)
ddi_getiminor(9F)
get kernel internal minor number from an external
dev_t
ddi_getl(9F)
See ddi_get8(9F)
ddi_getll(9F)
See ddi_get8(9F)
ddi_getlongprop(9F)
See ddi_prop_op(9F)
ddi_getlongprop_buf(9F)
See ddi_prop_op(9F)
ddi_getprop(9F)
See ddi_prop_op(9F)
ddi_getproplen(9F)
See ddi_prop_op(9F)
ddi_getw(9F)
See ddi_get8(9F)
ddi_in_panic(9F)
determine if system is in panic state
ddi_intr_hilevel(9F)
indicate interrupt handler type
ddi_io_get16(9F)
See ddi_io_get8(9F)
ddi_io_get32(9F)
See ddi_io_get8(9F)
ddi_io_get8(9F)
read data from the mapped device register in I/O space
ddi_io_getb(9F)
See ddi_io_get8(9F)
ddi_io_getl(9F)
See ddi_io_get8(9F)
ddi_io_getw(9F)
See ddi_io_get8(9F)
ddi_io_put16(9F)
See ddi_io_put8(9F)
ddi_io_put32(9F)
See ddi_io_put8(9F)
ddi_io_put8(9F)
write data to the mapped device register in I/O space
ddi_io_putb(9F)
See ddi_io_put8(9F)
ddi_io_putl(9F)
See ddi_io_put8(9F)
ddi_io_putw(9F)
See ddi_io_put8(9F)
ddi_io_rep_get16(9F)
See ddi_io_rep_get8(9F)
ddi_io_rep_get32(9F)
See ddi_io_rep_get8(9F)
ddi_io_rep_get8(9F)
read multiple data from the mapped device register in
I/O space
ddi_io_rep_getb(9F)
See ddi_io_rep_get8(9F)
ddi_io_rep_getl(9F)
See ddi_io_rep_get8(9F)
ddi_io_rep_getw(9F)
See ddi_io_rep_get8(9F)
ddi_io_rep_put16(9F)
See ddi_io_rep_put8(9F)
ddi_io_rep_put32(9F)
See ddi_io_rep_put8(9F)
ddi_io_rep_put8(9F)
write multiple data to the mapped device register in
I/O space
ddi_io_rep_putb(9F)
See ddi_io_rep_put8(9F)
ddi_io_rep_putl(9F)
See ddi_io_rep_put8(9F)
ddi_io_rep_putw(9F)
See ddi_io_rep_put8(9F)
ddi_iomin(9F)
find minimum alignment and transfer size for DMA
ddi_iopb_alloc(9F)
allocate and free non-sequentially accessed memory
ddi_iopb_free(9F)
See ddi_iopb_alloc(9F)
ddi_log_sysevent(9F)
log system event for drivers
ddi_map_regs(9F)
map or unmap registers
ddi_mapdev(9F)
create driver-controlled mapping of device
ddi_mapdev_intercept(9F)
control driver notification of user accesses
ddi_mapdev_nointercept(9F)
See ddi_mapdev_intercept(9F)
ddi_mapdev_set_device_acc_attr(9F)
set the device attributes for the mapping
ddi_mem_alloc(9F)
allocate and free sequentially accessed memory
ddi_mem_free(9F)
See ddi_mem_alloc(9F)
ddi_mem_get16(9F)
See ddi_mem_get8(9F)
ddi_mem_get32(9F)
See ddi_mem_get8(9F)
ddi_mem_get64(9F)
See ddi_mem_get8(9F)
ddi_mem_get8(9F)
read data from mapped device in the memory space or
allocated DMA memory
ddi_mem_getb(9F)
See ddi_mem_get8(9F)
ddi_mem_getl(9F)
See ddi_mem_get8(9F)
ddi_mem_getll(9F)
See ddi_mem_get8(9F)
ddi_mem_getw(9F)
See ddi_mem_get8(9F)
ddi_mem_put16(9F)
See ddi_mem_put8(9F)
ddi_mem_put32(9F)
See ddi_mem_put8(9F)
ddi_mem_put64(9F)
See ddi_mem_put8(9F)
ddi_mem_put8(9F)
write data to mapped device in the memory space or
allocated DMA memory
ddi_mem_putb(9F)
See ddi_mem_put8(9F)
ddi_mem_putl(9F)
See ddi_mem_put8(9F)
ddi_mem_putll(9F)
See ddi_mem_put8(9F)
ddi_mem_putw(9F)
See ddi_mem_put8(9F)
ddi_mem_rep_get16(9F)
See ddi_mem_rep_get8(9F)
ddi_mem_rep_get32(9F)
See ddi_mem_rep_get8(9F)
ddi_mem_rep_get64(9F)
See ddi_mem_rep_get8(9F)
ddi_mem_rep_get8(9F)
read multiple data from mapped device in the memory
space or allocated DMA memory
ddi_mem_rep_getb(9F)
See ddi_mem_rep_get8(9F)
ddi_mem_rep_getl(9F)
See ddi_mem_rep_get8(9F)
ddi_mem_rep_getll(9F)
See ddi_mem_rep_get8(9F)
ddi_mem_rep_getw(9F)
See ddi_mem_rep_get8(9F)
ddi_mem_rep_put16(9F)
See ddi_mem_rep_put8(9F)
ddi_mem_rep_put32(9F)
See ddi_mem_rep_put8(9F)
ddi_mem_rep_put64(9F)
See ddi_mem_rep_put8(9F)
ddi_mem_rep_put8(9F)
write multiple data to mapped device in the memory
space or allocated DMA memory
ddi_mem_rep_putb(9F)
See ddi_mem_rep_put8(9F)
ddi_mem_rep_putl(9F)
See ddi_mem_rep_put8(9F)
ddi_mem_rep_putll(9F)
See ddi_mem_rep_put8(9F)
ddi_mem_rep_putw(9F)
See ddi_mem_rep_put8(9F)
ddi_mmap_get_model(9F)
return data model type of current thread
ddi_model_convert_from(9F)
determine data model type mismatch
ddi_no_info(9F)
stub for
ddi_node_name(9F)
return the devinfo node name
ddi_peek(9F)
read a value from a location
ddi_peek16(9F)
See ddi_peek(9F)
ddi_peek32(9F)
See ddi_peek(9F)
ddi_peek64(9F)
See ddi_peek(9F)
ddi_peek8(9F)
See ddi_peek(9F)
ddi_peekc(9F)
See ddi_peek(9F)
ddi_peekd(9F)
See ddi_peek(9F)
ddi_peekl(9F)
See ddi_peek(9F)
ddi_peeks(9F)
See ddi_peek(9F)
ddi_poke(9F)
write a value to a location
ddi_poke16(9F)
See ddi_poke(9F)
ddi_poke32(9F)
See ddi_poke(9F)
ddi_poke64(9F)
See ddi_poke(9F)
ddi_poke8(9F)
See ddi_poke(9F)
ddi_pokec(9F)
See ddi_poke(9F)
ddi_poked(9F)
See ddi_poke(9F)
ddi_pokel(9F)
See ddi_poke(9F)
ddi_pokes(9F)
See ddi_poke(9F)
ddi_prop_create(9F)
create, remove, or modify properties for leaf device
drivers
ddi_prop_exists(9F)
check for the existence of a property
ddi_prop_free(9F)
See ddi_prop_lookup(9F)
ddi_prop_get_int(9F)
lookup integer property
ddi_prop_get_int64(9F)
See ddi_prop_get_int(9F)
ddi_prop_lookup(9F)
look up property information
ddi_prop_lookup_byte_array(9F)
See ddi_prop_lookup(9F)
ddi_prop_lookup_int64_array(9F)
See ddi_prop_lookup(9F)
ddi_prop_lookup_int_array(9F)
See ddi_prop_lookup(9F)
ddi_prop_lookup_string(9F)
See ddi_prop_lookup(9F)
ddi_prop_lookup_string_array(9F)
See ddi_prop_lookup(9F)
ddi_prop_modify(9F)
See ddi_prop_create(9F)
ddi_prop_op(9F)
get property information for leaf device drivers
ddi_prop_remove(9F)
See ddi_prop_create(9F)
ddi_prop_remove_all(9F)
See ddi_prop_create(9F)
ddi_prop_undefine(9F)
See ddi_prop_create(9F)
ddi_prop_update(9F)
update properties
ddi_prop_update_byte_array(9F)
See ddi_prop_update(9F)
ddi_prop_update_int(9F)
See ddi_prop_update(9F)
ddi_prop_update_int64(9F)
See ddi_prop_update(9F)
ddi_prop_update_int64_array(9F)
See ddi_prop_update(9F)
ddi_prop_update_int_array(9F)
See ddi_prop_update(9F)
ddi_prop_update_string(9F)
See ddi_prop_update(9F)
ddi_prop_update_string_array(9F)
See ddi_prop_update(9F)
ddi_ptob(9F)
See ddi_btop(9F)
ddi_put16(9F)
See ddi_put8(9F)
ddi_put32(9F)
See ddi_put8(9F)
ddi_put64(9F)
See ddi_put8(9F)
ddi_put8(9F)
write data to the mapped memory address, device regis-
ter or allocated DMA memory address
ddi_putb(9F)
See ddi_put8(9F)
ddi_putl(9F)
See ddi_put8(9F)
ddi_putll(9F)
See ddi_put8(9F)
ddi_putw(9F)
See ddi_put8(9F)
ddi_regs_map_free(9F)
free a previously mapped register address space
ddi_regs_map_setup(9F)
set up a mapping for a register address space
ddi_remove_intr(9F)
See ddi_add_intr(9F)
ddi_remove_minor_node(9F)
remove a minor node for this dev_info
ddi_remove_softintr(9F)
See ddi_add_softintr(9F)
ddi_removing_power(9F)
check whether
ddi_rep_get16(9F)
See ddi_rep_get8(9F)
ddi_rep_get32(9F)
See ddi_rep_get8(9F)
ddi_rep_get64(9F)
See ddi_rep_get8(9F)
ddi_rep_get8(9F)
read data from the mapped memory address, device
register or allocated DMA memory address
ddi_rep_getb(9F)
See ddi_rep_get8(9F)
ddi_rep_getl(9F)
See ddi_rep_get8(9F)
ddi_rep_getll(9F)
See ddi_rep_get8(9F)
ddi_rep_getw(9F)
See ddi_rep_get8(9F)
ddi_rep_put16(9F)
See ddi_rep_put8(9F)
ddi_rep_put32(9F)
See ddi_rep_put8(9F)
ddi_rep_put64(9F)
See ddi_rep_put8(9F)
ddi_rep_put8(9F)
write data to the mapped memory address, device regis-
ter or allocated DMA memory address
ddi_rep_putb(9F)
See ddi_rep_put8(9F)
ddi_rep_putl(9F)
See ddi_rep_put8(9F)
ddi_rep_putll(9F)
See ddi_rep_put8(9F)
ddi_rep_putw(9F)
See ddi_rep_put8(9F)
ddi_report_dev(9F)
announce a device
ddi_root_node(9F)
get the root of the dev_info tree
ddi_segmap(9F)
set up a user mapping using seg_dev
ddi_segmap_setup(9F)
See ddi_segmap(9F)
ddi_set_driver_private(9F)
See ddi_get_driver_private(9F)
ddi_slaveonly(9F)
tell if a device is installed in a slave access only
location
ddi_soft_state(9F)
driver soft state utility routines
ddi_soft_state_fini(9F)
See ddi_soft_state(9F)
ddi_soft_state_free(9F)
See ddi_soft_state(9F)
ddi_soft_state_init(9F)
See ddi_soft_state(9F)
ddi_soft_state_zalloc(9F)
See ddi_soft_state(9F)
ddi_trigger_softintr(9F)
See ddi_add_softintr(9F)
ddi_umem_alloc(9F)
allocate and free page-aligned kernel memory
ddi_umem_free(9F)
See ddi_umem_alloc(9F)
ddi_umem_iosetup(9F)
Setup I/O requests to application memory
ddi_umem_lock(9F)
lock and unlock memory pages
ddi_umem_unlock(9F)
See ddi_umem_lock(9F)
ddi_unmap_regs(9F)
See ddi_map_regs(9F)
delay(9F)
delay execution for a specified number of clock ticks
devmap_default_access(9F)
default driver memory access function
devmap_devmem_setup(9F)
set driver memory mapping parameters
devmap_do_ctxmgt(9F)
perform device context switching on a mapping
devmap_load(9F)
See devmap_unload(9F)
devmap_set_ctx_timeout(9F)
set the timeout value for the context management call-
back
devmap_setup(9F)
set up a user mapping to device memory using the dev-
map framework
devmap_umem_setup(9F)
See devmap_devmem_setup(9F)
devmap_unload(9F)
control validation of memory address translations
disksort(9F)
single direction elevator seek sort for buffers
drv_getparm(9F)
retrieve kernel state information
drv_hztousec(9F)
convert clock ticks to microseconds
drv_priv(9F)
determine driver privilege
drv_usectohz(9F)
convert microseconds to clock ticks
drv_usecwait(9F)
busy-wait for specified interval
dupb(9F)
duplicate a message block descriptor
dupmsg(9F)
duplicate a message
enableok(9F)
reschedule a queue for service
esballoc(9F)
allocate a message block using a caller-supplied
buffer
esbbcall(9F)
call function when buffer is available
flushband(9F)
flush messages for a specified priority band
flushq(9F)
remove messages from a queue
free_pktiopb(9F)
See get_pktiopb(9F)
freeb(9F)
free a message block
freemsg(9F)
free all message blocks in a message
freerbuf(9F)
free a raw buffer header
freezestr(9F)
freeze, thaw the state of a stream
get_pktiopb(9F)
allocate/free a SCSI packet in the iopb map
geterror(9F)
return I/O error
gethrtime(9F)
get high resolution time
getmajor(9F)
get major device number
getminor(9F)
get minor device number
getq(9F)
get the next message from a queue
getrbuf(9F)
get a raw buffer header
gld(9F)
Generic LAN Driver service routines
gld_intr(9F)
See gld(9F)
gld_mac_alloc(9F)
See gld(9F)
gld_mac_free(9F)
See gld(9F)
gld_recv(9F)
See gld(9F)
gld_register(9F)
See gld(9F)
gld_sched(9F)
See gld(9F)
gld_unregister(9F)
See gld(9F)
hat_getkpfnum(9F)
get page frame number for kernel address
id32_alloc(9F)
32-bit driver ID management routines
id32_free(9F)
See id32_alloc(9F)
id32_lookup(9F)
See id32_alloc(9F)
inb(9F)
read from an I/O port
inl(9F)
See inb(9F)
insq(9F)
insert a message into a queue
inw(9F)
See inb(9F)
kmem_alloc(9F)
allocate kernel memory
kmem_cache_alloc(9F)
See kmem_cache_create(9F)
kmem_cache_create(9F)
kernel memory cache allocator operations
kmem_cache_destroy(9F)
See kmem_cache_create(9F)
kmem_cache_free(9F)
See kmem_cache_create(9F)
kmem_free(9F)
See kmem_alloc(9F)
kmem_zalloc(9F)
See kmem_alloc(9F)
kstat_create(9F)
create and initialize a new kstat
kstat_delete(9F)
remove a kstat from the system
kstat_install(9F)
add a fully initialized kstat to the system
kstat_named_init(9F)
initialize a named kstat
kstat_named_setstr(9F)
See kstat_named_init(9F)
kstat_queue(9F)
update I/O kstat statistics
kstat_runq_back_to_waitq(9F)
See kstat_queue(9F)
kstat_runq_enter(9F)
See kstat_queue(9F)
kstat_runq_exit(9F)
See kstat_queue(9F)
kstat_waitq_enter(9F)
See kstat_queue(9F)
kstat_waitq_exit(9F)
See kstat_queue(9F)
kstat_waitq_to_runq(9F)
See kstat_queue(9F)
linkb(9F)
concatenate two message blocks
makecom(9F)
make a packet for SCSI commands
makecom_g0(9F)
See makecom(9F)
makecom_g0_s(9F)
See makecom(9F)
makecom_g1(9F)
See makecom(9F)
makecom_g5(9F)
See makecom(9F)
makedevice(9F)
make device number from major and minor numbers
max(9F)
return the larger of two integers
min(9F)
return the lesser of two integers
minphys(9F)
See physio(9F)
mkiocb(9F)
allocates a STREAMS ioctl block for M_IOCTL messages
in the kernel.
mod_info(9F)
See mod_install(9F)
mod_install(9F)
add, remove or query a loadable module
mod_remove(9F)
See mod_install(9F)
msgdsize(9F)
return the number of bytes in a message
msgpullup(9F)
concatenate bytes in a message
mt-streams(9F)
STREAMS multithreading
mutex(9F)
mutual exclusion lock routines
mutex_destroy(9F)
See mutex(9F)
mutex_enter(9F)
See mutex(9F)
mutex_exit(9F)
See mutex(9F)
mutex_init(9F)
See mutex(9F)
mutex_owned(9F)
See mutex(9F)
mutex_tryenter(9F)
See mutex(9F)
nochpoll(9F)
error return function for non-pollable devices
nodev(9F)
error return function
noenable(9F)
prevent a queue from being scheduled
nulldev(9F)
zero return function
numtos(9F)
See stoi(9F)
nvlist_add_boolean(9F)
value pair functions
nvlist_add_byte(9F)
See nvlist_add_boolean(9F)
nvlist_add_byte_array(9F)
See nvlist_add_boolean(9F)
nvlist_add_int16(9F)
See nvlist_add_boolean(9F)
nvlist_add_int16_array(9F)
See nvlist_add_boolean(9F)
nvlist_add_int32(9F)
See nvlist_add_boolean(9F)
nvlist_add_int32_array(9F)
See nvlist_add_boolean(9F)
nvlist_add_int64(9F)
See nvlist_add_boolean(9F)
nvlist_add_int64_array(9F)
See nvlist_add_boolean(9F)
nvlist_add_nvlist(9F)
See nvlist_add_boolean(9F)
nvlist_add_string(9F)
See nvlist_add_boolean(9F)
nvlist_add_string_array(9F)
See nvlist_add_boolean(9F)
nvlist_add_uint16(9F)
See nvlist_add_boolean(9F)
nvlist_add_uint16_array(9F)
See nvlist_add_boolean(9F)
nvlist_add_uint32(9F)
See nvlist_add_boolean(9F)
nvlist_add_uint32_array(9F)
See nvlist_add_boolean(9F)
nvlist_add_uint64(9F)
See nvlist_add_boolean(9F)
nvlist_add_uint64_array(9F)
See nvlist_add_boolean(9F)
nvlist_alloc(9F)
manage a name-value pair list
nvlist_dup(9F)
See nvlist_alloc(9F)
nvlist_free(9F)
See nvlist_alloc(9F)
nvlist_lookup_boolean(9F)
match name and type indicated by the interface name
and retrieve data value
nvlist_lookup_byte(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_byte_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_byte_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_int16(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_int16_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_int32(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_int32_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_int64(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_int64_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_nvlist(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_nvlist(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_string(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_string_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_uint16(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_uint16_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_uint32(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_uint32_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_uint64(9F)
See nvlist_lookup_boolean(9F)
nvlist_lookup_uint64_array(9F)
See nvlist_lookup_boolean(9F)
nvlist_next_nvpair(9F)
return data regarding name-value pairs
nvlist_pack(9F)
See nvlist_alloc(9F)
nvlist_remove(9F)
remove name-value pairs
nvlist_remove_all(9F)
See nvlist_remove(9F)
nvlist_size(9F)
See nvlist_alloc(9F)
nvlist_unpack(9F)
See nvlist_alloc(9F)
nvpair_name(9F)
See nvlist_next_nvpair(9F)
nvpair_type(9F)
See nvlist_next_nvpair(9F)
nvpair_value_byte(9F)
retrieve value from a name-value pair
nvpair_value_byte_array(9F)
See nvpair_value_byte(9F)
nvpair_value_int16(9F)
See nvpair_value_byte(9F)
nvpair_value_int16_array(9F)
See nvpair_value_byte(9F)
nvpair_value_int32(9F)
See nvpair_value_byte(9F)
nvpair_value_int32_array(9F)
See nvpair_value_byte(9F)
nvpair_value_int64(9F)
See nvpair_value_byte(9F)
nvpair_value_int64_array(9F)
See nvpair_value_byte(9F)
nvpair_value_nvlist(9F)
See nvpair_value_byte(9F)
nvpair_value_nvlist_array(9F)
See nvpair_value_byte(9F)
nvpair_value_string(9F)
See nvpair_value_byte(9F)
nvpair_value_string_array(9F)
See nvpair_value_byte(9F)
nvpair_value_uint16(9F)
See nvpair_value_byte(9F)
nvpair_value_uint16_array(9F)
See nvpair_value_byte(9F)
nvpair_value_uint32(9F)
See nvpair_value_byte(9F)
nvpair_value_uint32_array(9F)
See nvpair_value_byte(9F)
nvpair_value_uint64(9F)
See nvpair_value_byte(9F)
nvpair_value_uint64_array(9F)
See nvpair_value_byte(9F)
otherq(9F)
See OTHERQ(9F)
outb(9F)
write to an I/O port
outl(9F)
See outb(9F)
outw(9F)
See outb(9F)
pci_config_get16(9F)
See pci_config_get8(9F)
pci_config_get32(9F)
See pci_config_get8(9F)
pci_config_get64(9F)
See pci_config_get8(9F)
pci_config_get8(9F)
read or write single datum of various sizes to the PCI
Local Bus Configuration space
pci_config_getb(9F)
See pci_config_get8(9F)
pci_config_getl(9F)
See pci_config_get8(9F)
pci_config_getll(9F)
See pci_config_get8(9F)
pci_config_getw(9F)
See pci_config_get8(9F)
pci_config_put16(9F)
See pci_config_get8(9F)
pci_config_put32(9F)
See pci_config_get8(9F)
pci_config_put64(9F)
See pci_config_get8(9F)
pci_config_put8(9F)
See pci_config_get8(9F)
pci_config_putb(9F)
See pci_config_get8(9F)
pci_config_putl(9F)
See pci_config_get8(9F)
pci_config_putll(9F)
See pci_config_get8(9F)
pci_config_putw(9F)
See pci_config_get8(9F)
pci_config_setup(9F)
setup or tear down the resources for enabling accesses
to the PCI Local Bus Configuration space
pci_config_teardown(9F)
See pci_config_setup(9F)
pci_report_pmcap(9F)
Report Power Management capability of a PCI device
pci_restore_config_regs(9F)
See pci_save_config_regs(9F)
pci_save_config_regs(9F)
save and restore the PCI configuration registers
physio(9F)
perform physical I/O
pm_busy_component(9F)
Control device component availability for Power
Management
pm_create_components(9F)
Create or destroy power-manageable components
pm_destroy_components(9F)
See pm_create_components(9F)
pm_get_normal_power(9F)
get or set a device component's normal power level
pm_idle_component(9F)
See pm_busy_component(9F)
pm_lower_power(9F)
See pm_raise_power(9F)
pm_power_has_changed(9F)
Notify Power Management framework of autonomous power
level change
pm_raise_power(9F)
Raise or lower power of components
pm_set_normal_power(9F)
See pm_get_normal_power(9F)
pm_trans_check(9F)
Device power cycle advisory check
pollwakeup(9F)
inform a process that an event has occurred
proc_ref(9F)
See proc_signal(9F)
proc_signal(9F)
send a signal to a process
proc_unref(9F)
See proc_signal(9F)
ptob(9F)
convert size in pages to size in bytes
pullupmsg(9F)
concatenate bytes in a message
put(9F)
call a STREAMS put procedure
putbq(9F)
place a message at the head of a queue
putctl(9F)
send a control message to a queue
putctl1(9F)
send a control message with a one-byte parameter to a
queue
putnext(9F)
send a message to the next queue
putnextctl(9F)
send a control message to a queue
putnextctl1(9F)
send a control message with a one-byte parameter to a
queue
putq(9F)
put a message on a queue
qassociate(9F)
associate STREAMS queue with driver instance
qbufcall(9F)
call a function when a buffer becomes available
qenable(9F)
enable a queue
qprocsoff(9F)
See qprocson(9F)
qprocson(9F)
enable, disable put and service routines
qreply(9F)
send a message on a stream in the reverse direction
qsize(9F)
find the number of messages on a queue
qtimeout(9F)
execute a function after a specified length of time
qunbufcall(9F)
cancel a pending qbufcall request
quntimeout(9F)
cancel previous qtimeout function call
qwait(9F)
STREAMS wait routines
qwait_sig(9F)
See qwait(9F)
qwriter(9F)
asynchronous STREAMS perimeter upgrade
rd(9F)
See RD(9F)
repinsb(9F)
See inb(9F)
repinsd(9F)
See inb(9F)
repinsw(9F)
See inb(9F)
repoutsb(9F)
See outb(9F)
repoutsd(9F)
See outb(9F)
repoutsw(9F)
See outb(9F)
rmalloc(9F)
allocate space from a resource map
rmalloc_wait(9F)
allocate space from a resource map, wait if necessary
rmallocmap(9F)
allocate and free resource maps
rmallocmap_wait(9F)
See rmallocmap(9F)
rmfree(9F)
free space back into a resource map
rmfreemap(9F)
See rmallocmap(9F)
rmvb(9F)
remove a message block from a message
rmvq(9F)
remove a message from a queue
rw_destroy(9F)
See rwlock(9F)
rw_downgrade(9F)
See rwlock(9F)
rw_enter(9F)
See rwlock(9F)
rw_exit(9F)
See rwlock(9F)
rw_init(9F)
See rwlock(9F)
rw_read_locked(9F)
See rwlock(9F)
rw_tryenter(9F)
See rwlock(9F)
rw_tryupgrade(9F)
See rwlock(9F)
rwlock(9F)
readers/writer lock functions
samestr(9F)
See SAMESTR(9F)
scsi_abort(9F)
abort a SCSI command
scsi_alloc_consistent_buf(9F)
allocate an I/O buffer for SCSI DMA
scsi_cname(9F)
decode a SCSI name
scsi_destroy_pkt(9F)
free an allocated SCSI packet and its DMA resource
scsi_dmafree(9F)
See scsi_dmaget(9F)
scsi_dmaget(9F)
SCSI dma utility routines
scsi_dname(9F)
See scsi_cname(9F)
scsi_errmsg(9F)
display a SCSI request sense message
scsi_free_consistent_buf(9F)
free a previously allocated SCSI DMA I/O buffer
scsi_get_device_type_scsi_options(9F)
look up per-device-type scsi-options property
scsi_hba_attach(9F)
See scsi_hba_attach_setup(9F)
scsi_hba_attach_setup(9F)
SCSI HBA attach and detach routines
scsi_hba_detach(9F)
See scsi_hba_attach_setup(9F)
scsi_hba_fini(9F)
See scsi_hba_init(9F)
scsi_hba_init(9F)
SCSI Host Bus Adapter system initialization and com-
pletion routines
scsi_hba_lookup_capstr(9F)
return index matching capability string
scsi_hba_pkt_alloc(9F)
allocate and free a scsi_pkt structure
scsi_hba_pkt_free(9F)
See scsi_hba_pkt_alloc(9F)
scsi_hba_probe(9F)
default SCSI HBA probe function
scsi_hba_tran_alloc(9F)
allocate and free transport structures
scsi_hba_tran_free(9F)
See scsi_hba_tran_alloc(9F)
scsi_ifgetcap(9F)
get/set SCSI transport capability
scsi_ifsetcap(9F)
See scsi_ifgetcap(9F)
scsi_init_pkt(9F)
prepare a complete SCSI packet
scsi_log(9F)
display a SCSI-device-related message
scsi_mname(9F)
See scsi_cname(9F)
scsi_pktalloc(9F)
SCSI packet utility routines
scsi_pktfree(9F)
See scsi_pktalloc(9F)
scsi_poll(9F)
run a polled SCSI command on behalf of a target driver
scsi_probe(9F)
utility for probing a scsi device
scsi_resalloc(9F)
See scsi_pktalloc(9F)
scsi_reset(9F)
reset a SCSI bus or target
scsi_reset_notify(9F)
notify target driver of bus resets
scsi_resfree(9F)
See scsi_pktalloc(9F)
scsi_rname(9F)
See scsi_cname(9F)
scsi_setup_cdb(9F)
setup SCSI command descriptor block (CDB)
scsi_slave(9F)
utility for SCSI target drivers to establish the pres-
ence of a target
scsi_sname(9F)
See scsi_cname(9F)
scsi_sync_pkt(9F)
synchronize CPU and I/O views of memory
scsi_transport(9F)
request by a SCSI target driver to start a command
scsi_unprobe(9F)
free resources allocated during initial probing
scsi_unslave(9F)
See scsi_unprobe(9F)
scsi_vu_errmsg(9F)
display a SCSI request sense message
sema_destroy(9F)
See semaphore(9F)
sema_init(9F)
See semaphore(9F)
sema_p(9F)
See semaphore(9F)
sema_p_sig(9F)
See semaphore(9F)
sema_tryp(9F)
See semaphore(9F)
sema_v(9F)
See semaphore(9F)
semaphore(9F)
semaphore functions
snprintf(9F)
See sprintf(9F)
sprintf(9F)
format characters in memory
stoi(9F)
convert between an integer and a decimal string
strcasecmp(9F)
See strcmp(9F)
strchr(9F)
find a character in a string
strcmp(9F)
compare two null-terminated strings.
strcpy(9F)
copy a string from one location to another.
strlen(9F)
determine the number of non-null bytes in a string
strlog(9F)
submit messages to the log driver
strncasecmp(9F)
See strcmp(9F)
strncmp(9F)
See strcmp(9F)
strncpy(9F)
See strcpy(9F)
strqget(9F)
get information about a queue or band of the queue
strqset(9F)
change information about a queue or band of the queue
strrchr(9F)
See strchr(9F)
swab(9F)
swap bytes in 16-bit halfwords
testb(9F)
check for an available buffer
timeout(9F)
execute a function after a specified length of time
uiomove(9F)
copy kernel data using uio structure
unbufcall(9F)
cancel a pending bufcall request
unfreezestr(9F)
See freezestr(9F)
unlinkb(9F)
remove a message block from the head of a message
untimeout(9F)
cancel previous timeout function call
ureadc(9F)
add character to a uio structure
uwritec(9F)
remove a character from a uio structure
va_arg(9F)
handle variable argument list
va_copy(9F)
See va_arg(9F)
va_end(9F)
See va_arg(9F)
va_start(9F)
See va_arg(9F)
vcmn_err(9F)
See cmn_err(9F)
vsprintf(9F)
format characters in memory
wr(9F)
See WR(9F)
Man(1) output converted with
man2html