(D3) - Kernel utility functions
DOC HOME
SITE MAP
MAN PAGES
GNU INFO
SEARCH
PRINT BOOK
(D3) - Kernel utility functions
Intro
introduction to kernel functions
ASSERT
verify assertion
ATOMIC_INT_ADD
add to an ATOMIC_INT value
ATOMIC_INT_ALLOC
allocate an ATOMIC_INT structure
ATOMIC_INT_DEALLOC
free an ATOMIC_INT object
ATOMIC_INT_DECR
decrement an ATOMIC_INT value
ATOMIC_INT_INCR
increment an ATOMIC_INT value
ATOMIC_INT_INIT
initialize an ATOMIC_INT object
ATOMIC_INT_READ
read the value stored within an ATOMIC_INT
ATOMIC_INT_SUB
subtract from an ATOMIC_INT value
ATOMIC_INT_WRITE
write a value into an ATOMIC_INT
bcb_alloc
allocate a breakup control block
bcb_free
free a breakup control block
bcb_prep
prepare a breakup control block structure for use
bcmp
compare data between two kernel address locations
bcopy
copy data between address locations in the kernel
biocanblock
ensure that a b_iodone handler is executing in a blockable context
biodone
release buffer after block I/O and wakeup processes
bioerror
manipulate error fields within a buffer header
bioreset
reset a private buffer for reuse after completed I/O
biowait
suspend execution pending completion of block I/O
biowait_sig
suspend execution pending completion of block I/O or signal
bp_mapin
allocate virtual address space for buffer page list
bp_mapout
deallocate virtual address space for buffer page list
brelse
return a buffer to the system's free list
bs_getval
Get value of a boot parameter
btop
convert size in bytes to size in pages (round down)
btopr
convert size in bytes to size in pages (round up)
buf_breakup
unified I/O breakup routine
bzero
clear memory for a given number of bytes
call_demon
invoke current kernel debugger
clrbuf
erase the contents of a buffer
cm_abort_trans
terminate a resource manager transaction
cm_addval
add an entry to the resource manager database
cm_AT_putconf
store standard parameters in resource manager database
cm_begin_trans
begin a resource manager transaction
cm_delkey
delete a resource manager record
cm_delval
delete entries from the resource manager database
cm_devconfig_size
get the size of device configuration space
cm_end_trans
complete a resource manager transaction
cm_getbrdkey
retrieve the resource manager key for a particular driver/board
cm_getnbrd
determine number of boards supported by driver
cm_getval
retrieve an entry from the resource manager database
cm_getversion
get configuration manager version number
cm_intr_attach
attach device interrupts
cm_intr_detach
detach device interrupts
cmn_err
display an error message or panic the system
cm_newkey
create a new resource manager record
cm_read_devconfig
read a board's NVRAM extension information
cm_read_devconfig16
read word from board's NVRAM extension information
cm_read_devconfig32
read double word from board's NVRAM extension information
cm_read_devconfig8
read byte from board's NVRAM extension information
cm_write_devconfig
write a board's NVRAM extension information
cm_write_devconfig16
write byte to board's NVRAM extension information
cm_write_devconfig32
write byte to board's NVRAM extension information
cm_write_devconfig8
write byte to board's NVRAM extension information
copyin
copy data from a user buffer to a driver buffer
copyout
copy data from a driver buffer to a user buffer
delay
delay process execution for a specified number of clock ticks
devmem_mapin
obtain virtual address mapping for physical offsets within device memory
devmem_mapout
free virtual address mapping for physical offsets within device memory
devmem_ppid
get physical page ID for physical offsets within device memory
devmem_size
obtain the size of a device memory block
dma_cascade
program a DMA channel for cascade mode
dma_disable
disable recognition of hardware requests on a DMA channel
dma_enable
enable recognition of hardware requests on a DMA channel
dma_free_buf
free a previously allocated DMA buffer descriptor
dma_free_cb
free a previously allocated DMA command block
dma_get_best_mode
determine best transfer mode for DMA command
dma_get_buf
allocate a DMA buffer descriptor
dma_get_cb
allocate a DMA command block
dma_pageio
break up an I/O request into manageable units
dma_physreq
apply constraints for DMA channel and path size
dma_prog
program a DMA operation for a subsequent hardware request
dma_stop
stop software-initiated DMA operation on a channel and release it
dma_swsetup
program a DMA operation for a subsequent software request
dma_swstart
initiate a DMA operation via software request
do_biostart
invoke another driver's biostart(D2) entry point routine
do_devinfo
invoke another driver's devinfo(D2) entry point routine
do_drvctl
call another driver's drvctl(D2) entry point routine
do_ioctl
invoke another driver's ioctl(D2) entry point routine
drv_attach
register a driver and its entry points
drv_callback
call a function when an exceptional event happens
drv_close
obtain a channel handle for subsequent access by layered driver
drv_detach
deregister a driver registered by drv_attach(D3)
drv_gethardware
retrieve hardware information
drv_getparm
retrieve kernel state information
drv_hztousec
convert clock ticks to microseconds
drv_mmap
map device memory into user space
drv_munmap
release user mapping of kernel virtual or physical addresses
drv_open
obtain a channel handle for subsequent access by layered driver
drv_priv
determine whether credentials are privileged
drv_setparm
set kernel state information
drv_shutdown
initiate a system shutdown
drv_usectohz
convert microseconds to clock ticks
drv_usecwait
busy-wait for specified interval
dtimeout
execute a function on a specified processor after a specified length of time
eisa_parse_devconfig
parse EISA device configuration space
etoimajor
convert external to internal major device number
freerbuf
free a raw buffer header
geteblk
get an empty buffer
getemajor
get external major device number
geteminor
get external minor device number
geterror
retrieve error number from a buffer header
getmajor
get internal major device number
getminor
get internal minor device number
getnextpg
get next page pointer
getpl
get current interrupt priority level
getrbuf
get a raw buffer header
hat_getkpfnum
get physical page ID for kernel virtual address
hat_getppfnum
get physical page ID for physical address
ifstats_attach
register a network interface statistics structure
ifstats_detach
un-register a network interface statistics structure
inb
read a byte from an 8 bit I/O port
inl
read a 32 bit word from a 32 bit I/O port
inw
read a 16 bit short word from a 16 bit I/O port
iobitmapctl
enable/disable/check user access to I/O ports
itimeout
execute a function after a specified length of time
itoemajor
convert internal to external major device number
kmem_alloc
allocate space from kernel free memory
kmem_alloc_phys
allocate DMA-addressable, driver-accessible memory
kmem_alloc_physcontig
allocate physically contiguous memory
kmem_alloc_physreq
allocate memory with specified physical properties
kmem_free
free previously allocated kernel memory
kmem_free_physcontig
free kernel memory previously allocated with kmem_alloc_physcontig
kmem_zalloc
allocate and clear space from kernel free memory
kmem_zalloc_physreq
allocate and clear memory with specified physical properties
KS_HOLD0LOCKS
determine that the current context holds no basic or read/write locks
kthread_exit
cause current thread to exit
kthread_spawn
spawn a new kernel thread
kthread_wait
wait for a specified thread to exit
kvtoppid
get physical page ID for kernel virtual address
LOCK
acquire a basic lock
LOCK_ALLOC
allocate and initialize a basic lock
LOCK_DEALLOC
deallocate an instance of a basic lock
LOCK_OWNED
determine if the current context owns a basic lock
makedevice
make device number from major and minor numbers
max
return the larger of two integers
met_ds_alloc_stats
allocate a disk statistics structure
met_ds_dealloc_stats
deallocate a disk statistics structure
met_ds_dequeued
update disk statistics after a failed attempt to put a request on the queue
met_ds_hist_stats
update disk access and response time histograms when a request completes
met_ds_iodone
update disk statistics when a read or write request completes
met_ds_queued
update disk statistics when a read or write request is added to the queue
min
return the lesser of two integers
mod_drvattach
install interrupts for a loadable device driver
mod_drvdetach
remove interrupts for a loadable device driver
ngeteblk
get an empty buffer of the specified size
numtos
convert an unsigned long number to an ASCII string in base 10
outb
write a byte to an 8 bit I/O port
outl
write a 32 bit long word to a 32 bit I/O port
outw
write a 16 bit short word to a 16 bit I/O port
ovbcopy
copy data between overlapping address locations in the kernel
phalloc
allocate and initialize a pollhead structure
phfree
free a pollhead structure
physiock
validate and issue a raw I/O request
physmap
obtain virtual address mapping for physical addresses
physmap_free
free virtual address mapping for physical addresses
physreq_alloc
allocate a physical alignment requirements structure
physreq_free
free a physical alignment requirements structure
physreq_prep
prepare a physical alignment requirements structure for use
phystoppid
get physical page ID for physical address
pollwakeup
inform polling processes that an event has occurred
pptophys
convert page pointer to physical address
proc_ref
obtain a reference to a process for signaling
proc_signal
send a signal to a process
proc_unref
release a reference to a process
proc_valid
check whether a referenced process has exited
psignal
send signal to a process
ptob
convert size in pages to size in bytes
rdma_filter
filter transfers to use only DMA-able memory
repinsb
read bytes from I/O port to buffer
repinsd
read 32 bit words from I/O port to buffer
repinsw
read 16 bit words from I/O port to buffer
repoutsb
write bytes from buffer to an I/O port
repoutsd
write 32 bit words from buffer to an I/O port
repoutsw
write 16 bit words from buffer to an I/O port
rmalloc
allocate space from a private space management map
rmallocmap
allocate and initialize a private space management map
rmalloc_wait
allocate space from a private space management map
rmfree
free space into a private space management map
rmfreemap
free a private space management map
rminit
initialize a private space management map
rmsetwant
set the map's wait flag for a wakeup
RW_ALLOC
allocate and initialize a read/write lock
RW_DEALLOC
deallocate an instance of a read/write lock
RW_RDLOCK
acquire a read/write lock in read mode
RW_TRYRDLOCK
try to acquire a read/write lock in read mode
RW_TRYWRLOCK
try to acquire a read/write lock in write mode
RW_UNLOCK
release a read/write lock
RW_WRLOCK
acquire a read/write lock in write mode
scgth_free
free a scatter/gather structure
sleep
suspend process execution pending occurrence of an event
SLEEP_ALLOC
allocate and initialize a sleep lock
SLEEP_DEALLOC
deallocate an instance of a sleep lock
SLEEP_LOCK
acquire a sleep lock
SLEEP_LOCKAVAIL
query whether a sleep lock is available
SLEEP_LOCKOWNED
query whether a sleep lock is held by the caller
SLEEP_LOCK_SIG
acquire a sleep lock
SLEEP_TRYLOCK
try to acquire a sleep lock
SLEEP_UNLOCK
release a sleep lock
spl
block/allow interrupts on a processor
spl0
block no interrupts (equivalent to splbase)
spl6
block interrupts from the clock (SCO OpenServer only)
spl7
block all interrupts (equivalent to splhi) on Intel processors
splbase
block no interrupts
spldisk
block disk devie interrupts
splhi
block all interrupts, including the clock
splstr
block STREAMS interrupts
spltimeout
block functions scheduled by itmeout and dtimeout
spltty
protect critical code in TTY driver; mapped to splstr
splx
restore priority level
strcat
concatenate strings
strchr
find first or last occurence of a character in a string
strcmp
compare strings
strcpy
copy a string
strlen
determine the length of a string
strncat
concatenate strings appending a specified number of characters
strncmp
compare strings using a specified number of characters
strncpy
copy a string using a specified number of characters
strtoul
convert string to an unsigned long integer
SV_ALLOC
allocate and initialize a synchronization variable
SV_BROADCAST
wake up all processes sleeping on a synchronization variable
SV_DEALLOC
deallocate an instance of a synchronization variable
SV_SIGNAL
wake up one process sleeping on a synchronization variable
SV_WAIT
block on a synchronization variable
SV_WAIT_SIG
sleep on a synchronization variable
TICKS
macros for lbolt values
TICKS_BETWEEN
determine time interval in ticks between two lbolt times
TICKS_FARFUTURE
determine lbolt value for far future time
TICKS_FARPAST
determine lbolt value for far past time
TICKS_LATER
determine which of two lbolt times is later
TICKS_SINCE
determine time interval in ticks since an lbolt time
timeout
execute a function after a specified length of time
TRYLOCK
try to acquire a basic lock
uiobuf
set buffer address type to BA_UIO for a specified uio structure
uiomove
copy data using uio structure
UNLOCK
release a basic lock
untimeout
cancel previous timeout request
ureadc
copy a character to space described by uio structure
uwritec
return a character from space described by uio structure
vtop
convert virtual address to physical address
wakeup
resume suspended process execution
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005