NAME | DESCRIPTION | HEADINGS | STREAMS Kernel Function Summary
Section 9F describes the Solaris and Trusted Solaris kernel functions available for use by device drivers. See Intro(9) for how Trusted Solaris man pages are included in section 9F.
The printed Trusted Solaris 8 HW 12/02 Reference Manual includes only those man pages that have been modified or originate in the Trusted Solaris environment. Printed versions of unchanged SunOS
5.8 man pages are found in the SunOS 5.8 Reference Manual.
For a fuller description, see Trusted Solaris Manual Page Display in Intro(1). The SEE ALSO man page heading has been subdivided to help users of the printed manual
locate a referenced man page.
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.
High-level interrupt context is a more restricted form of interrupt context. If ddi_intr_hilevel(9F) indicates that an interrupt is high-level, driver interrupt 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 initialized with the ddi_iblock_cookie returned by ddi_get_iblock_cookie(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.
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 |
NAME | DESCRIPTION | HEADINGS | STREAMS Kernel Function Summary