(D3oddi) - OpenServer driver kernel functions
DOC HOME
SITE MAP
MAN PAGES
GNU INFO
SEARCH
PRINT BOOK
(D3oddi) - OpenServer driver kernel functions
Intro
introduction to OpenServer kernel functions
add_intr_handler
dynamically add interrupt routine handler
add_nmi_handler
register an NMI handler function
all_io
determine if all processors can do device I/O
archtobus
extract bus type from architecture
ASSERT
verify assertion
atomic
quick atomic locks
BatteriesCritical
indicate that battery life is nearly expired
bcopy
copy bytes in kernel space
bdistributed
indicate block driver can have multiprocessor access
brelse
release a block buffer
btoc
convert bytes to memory pages
btoc, ctob
convert between bytes and clicks (memory pages)
bzero
set memory locations to zero
calldebug
invoke current kernel debugger
can_doio
determine if current processor can do device I/O
cdistributed
indicate character driver can have multiprocessor access
clockb
conditionally lock critical section
clockb, cunlockb
conditionally lock and unlock critical sections
clrbuf
zero a block I/O buffer
cmn_err
log and display informational driver messages
copyin
copy bytes from user space to kernel space
copyin, copyout
copy bytes between user and kernel space
copyio
copy bytes between a physical and a virtual address
copyout
copy bytes from kernel space to user space
cpass
returns a character in user write request
cpass, passc
pass a character between user space and the kernel
ctob
convert memory pages to bytes
cunlockb
unlock critical section locked with clockb
db_alloc
allocate contiguous memory for DMA transfer
db_alloc, db_free
allocate and free physically contiguous memory
db_free
releases memory allocated by db_alloc
db_read
transfer data from physical memory to a user address
db_write
transfer data from a user address to contiguous memory
delay
delay process execution for specified time
deverr
print a device error message on the console
disksort
add a block I/O request to a device's queue
DISPLAYED
checks if screen is displayed
dma_alloc
allocate a DMA channel
dma_breakup
size DMA request into 512-byte blocks
dma_enable
begin DMA transfer
dma_param
set up a DMA controller chip for DMA transfer
dma_relse
release previously allocated DMA channel
dma_resid
return the number of bytes not transferred during a DMA request
dma_start
queue DMA request
emajor
extract external major device number
emajor, eminor
extract extended major/minor device numbers
emdupmap
duplicate channel mapping
eminor
extract external minor device number
emunmap
disable mapping on a channel
flushtlb
flush the translation lookaside buffer
freecpages
free memory allocated with getcpages()
fubyte
get a character from user data space
fuword
get one 32-bit word from user data space
getablk
calls geteblk (for backwards compatibility)
getbsflag
test for bootstring value
getbsvalue
get bootstring value
getbsvalue: getbsflag, getbsvalue, getbsword
get configuration information from the bootstring
getbsword
get bootstring words
getc
remove and return a character from a buffer
getcb
remove and return a cblock from a buffer
getcbp
remove characters and transfer them to a buffer
getcf
return a pointer to a cblock
getc, getcb, getcbp, getcf
read clist buffers
getchar
get one character of input during debug
getcpages
allocate physically contiguous memory for DMA operations
getcpages, freecpages
allocate and free physically contiguous memory
geteblk
get a free buffer from the block buffer pool
geteblk, getablk
get a buffer from the block buffer pool
get_intr_arg
get value of argument passed to the interrupt routine
idistributed
dynamically register an interrupt handler
ilockb
short lock on critical code section
ilockb, iunlockb
lock and unlock critical code section and disable interrupts directly
inb
read a byte from a physical I/O address
inb, outb
read a byte from or write a byte to a physical I/O address
ind
read word from physical I/O
ind, outd
read or write a 32-bit word to a physical I/O address
intralloc
get handle for later call to startio(D3oddi)
intralloc, intrallocs
get handle for later call to startio(D3oddi)
intrallocs
get handle for later call to startio(D3oddi)
inw
read a word from physical I/O address
inw, outw
read or write a 16-bit word from or to a physical I/O address
iodone
signal I/O completion
iomove
move data to/from the user/kernel area
iopolldistributed
register an xxpoll routine as distributed
iowait
wait for I/O completion
ismpx
determine whether this is a multiprocessor configuration
iunlockb
unlock resource locked by ilockb
kmem_alloc
allocate kernel memory
kmem_alloc, kmem_zalloc
allocate kernel memory
kmem_free
free kernel memory
kmem_zalloc
allocate and zero kernel memory
ktop
convert kernel virtual address to physical address (XENIX)
kvtophys
convert kernel virtual address to physical address
ldistributed
register a line discipline as multithreaded
LinePowerFailed
indicate that AC power is interrupted
LinePowerOK
indicate that AC power is okay
lockb
lock critical code section
lockb5
lock critical code at spl 5
lockb, unlockb
lock and unlock critical code section for single processor access
major
get major device number
major, makedev, minor
return base major, new device number, or extended minor device number
makedev
get major and extended minor device number
memget
allocate contiguous memory at initialization
minor
get extended minor device number
nano_timeout
schedule a routine for future execution (nanosecond precision)
outb
write a byte to a physical I/O address
outd
write value to physical I/O
outw
write a word from to physical I/O address
passc
pass a character to user read request
pci_buspresent
determine the presence of a PCI bus
pci_findclass
find a PCI device given its class code
pci_finddevice
find a PCI device given its vendor and device IDs
pci_readbyte
read a byte from PCI configuration space
pci_readdword
read a 32-bit (double) word from PCI configuration space
pci_read: pci_readbyte, pci_readword, pci_readdword
read data from PCI configuration space
pci_readword
read a word from PCI configuration space
pci_search
search PCI buses for a device matching specified fields
pci_specialcycle
generate a PCI special cycle
pci_transbase
remap I/O base address to a bus specific address
pci_writebyte
write a byte to PCI configuration space
pci_writedword
write a 32-bit (double) word to PCI configuration space
pci_write: pci_writebyte, pci_writeword, pci_writedword
write data to PCI configuration space
pci_writeword
write a word to PCI configuration space
physck
raw I/O for block drivers
physio
raw I/O for block drivers
physio, physck
direct (raw) I/O for block drivers
phystokv
convert kernel virtual address to physical address
phystokv, kvtophys
convert virtual and physical addresses
pio_breakup
break up programmed I/O requests
printcfg
display driver initialization message
printf
print a message on the console
pr_intr_adderr
output an error message if add_intr_handler(D3oddi) fails
pr_intr_rmerr
output an error message if remove_intr_handler(D3oddi) fails
psignal
send signal to a process
ptok
convert physical address to kernel virtual address (XENIX)
putbc
add block to clist
putc
add character to clist
putcb
add characters to clist
putcf
add block to freelist
putchar
print a character on the console
putc, putcb, putcbp, putcf
write to clists
qaddb
quick lock
qaddi
quick lock
qaddl
quick lock
qaddub
quick lock
qaddui
quick lock
qaddul
quick lock
qadduw
quick lock
qaddw
quick lock
qandb
quick lock
qandi
quick lock
qandl
quick lock
qandub
quick lock
qandui
quick lock
qandul
quick lock
qanduw
quick lock
qandw
quick lock
qbtsi
bit test and set
qbtsl
bit test and set
qbtsui
bit test and set
qbtsul
bit test and set
qdecb
quick lock
qdeci
quick lock
qdecl
quick lock
qdecub
quick lock
qdecui
quick lock
qdecul
quick lock
qdecuw
quick lock
qdecw
quick lock
qincb
quick lock
qinci
quick lock
qincl
quick lock
qincub
quick lock
qincui
quick lock
qincul
quick lock
qincuw
quick lock
qincw
quick lock
qorb
quick lock
qori
quick lock
qorl
quick lock
qorub
quick lock
qorui
quick lock
qorul
quick lock
qoruw
quick lock
qorw
quick lock
qsubb
quick lock
qsubi
quick lock
qsubl
quick lock
qsubub
quick lock
qsubui
quick lock
qsubul
quick lock
qsubuw
quick lock
qsubw
quick lock
qxchgb
quick lock
qxchgi
quick lock
qxchgl
quick lock
qxchgub
quick lock
qxchgui
quick lock
qxchgul
quick lock
qxchguw
quick lock
qxchgw
quick lock
qzerob
quick lock
qzeroi
quick lock
qzerol
quick lock
qzeroub
quick lock
qzeroui
quick lock
qzeroul
quick lock
qzerouw
quick lock
qzerow
quick lock
remap_driver_cpu
bind an interrupt service routine to a CPU
remove_intr_handler
dynamically remove interrupt routine handler
remove_nmi_handler
remove an NMI handler function
repinsb
read a stream of bytes
repinsd
read a stream of 32-bit words
repins: repinsb, repinsw, repinsd, repoutsb, repoutsw, repoutsd
read and write streams of device data
repinsw
write a stream of words
repout
write streams of data
repoutsb
write a stream of bytes
repoutsd
write a stream of 32-bit words
repoutsw
write a stream of 16-bit words
run_ld
call line discipline from multithreaded driver
sdistributed
indicate that a STREAMS driver can have multiprocessor access
select: selsuccess, selfailure, selwakeup
kernel routines supporting select(S)
selfailure
support select(S) - process should block
selsuccess
support select(S) - process should not block
selwakeup
support select(S) - awaken process
seterror
set error code in u.u_error
signal
send a signal to a process group
sleep
suspend execution pending occurrence of an event
spl0
permit all interrupts
spl1
prevent priority level 1 interrupts
spl2
prevent priority level 2 interrupts
spl3
prevent priority level 3 interrupts
spl4
prevent priority level 4 interrupts
spl5
prevent interrupts from character devices
spl6
prevent interrupts from the clock
spl7
prevent all interrupts
splbuf
prevent interrupts from block device
splcli
prevent interrupts from character list processing
splhi
prevent all interrupts
splni
prevent interrupts from network devices
splpp
prevent interrupts from character parallel ports
spl: spl0, spl1, spl2, spl3, spl4, spl5, spl6, spl7, splbuf, splcli, splhi, splni, splpp, splstr, spltty, splx
block or permit interrupts
splstr
spl5 for use in STREAMS modules
spltty
prevent interrupts from character parallel ports
splx
restore a former interrupt
sptalloc
allocate temporary memory or map a device's memory
sptfree
release memory previously allocated with sptalloc(D3oddi)
startio
run start(D2oddi) routine from another processor
subyte
store a character in user data space
SURF_ACTIVE
check that a particular SURF module is active
SURF_ENQUEUE
add event_record to SURF modules event list
SURFHOOK
hook SURF monitoring to kernel code
surf: SURFHOOK, SURF_ACTIVE, SURF_ENQUEUE
SURF event logging monitor functions
suser
determine if current user is the superuser
suspend
delay running processes
suword
store a 32-bit word in user data space
tc_ctlock
conditionally lock tty structure
tc_ctunlock
release conditional lock on tty structure
tc_tlock
lock tty structure
tc_tlock, tc_tunlock, tc_ctlock, tc_ctunlock
lock and unlock portions of a tty structure
tc_tunlock
unlock tty structure
TICKS
macros for lbolt values
TICKS_BETWEEN
return time interval in ticks between two lbolt times
TICKS_SINCE
return time interval in ticks since an lbolt time
timeout
schedule a routine for future execution (millisecond precision)
timeout, nano_timeout, untimeout
schedule a time to execute a routine
timevalnow
convert system representation of time to timeval format
ttclose
close TTY device
ttclose
remove access to TTY device
ttin
move characters to t_rawq character queue
ttin
process characters
ttinit
initialise the TTY structure
ttinit
initialize tty structure for line discipline zero
ttiocom
interpret TTY driver I/O control commands
ttioctl
allocate, deallocate, or move contents of terminal buffers
ttioctl
manipulates contents of terminal buffers
ttopen
open a serial line
ttopen
open a serial routine
ttout
move characters to t_rbuf character queue
ttout
move data to the output buffer
ttrdchk
check existence of characters on input queue
ttrdchk
check if there are characters to be read from the input queue
ttread
read data from a device
ttread
read data from a TTY device
ttselect
ensure read/write can be performed without blocking
ttselect
ensure that one-byte read can be done without blocking
ttwrite
write data to a device
ttwrite
write data to a TTY device
ttyflush
release character blocks to free list
ttyflush
release character blocks to the freelist
tty: ttclose, ttin, ttinit, ttopen, ttout, ttread, ttrdchk, ttselect, ttwrite, ttyflush, ttywait, ttioctl
TTY driver routines
ttywait
wait for UART to be empty
ttywait
wait for UART to empty of all data
unlockb
unlock critical code section
untimeout
cancel a timeout(D3oddi) request
ups
generic Uninterruptable Power Supply (UPS) driver
UPS
support for third-party Uninterruptable Power Supply drivers
ups_get_pwrdwn
return address of routine to be called at every system shutdown
ups_set_pwrdwn
return address of UPS callback routine
upsstate
global variable for the current state of the UPS
upssw
UPS generic function switch table
vasbind
bind a specified virtual address to a physical address
vasbind
bind a virtual address to a physical address
vasmalloc
allocate virtual memory
vasmapped
determine if mapping is in place for specified memory range
vasmapped
determines if mapping is in place
vasunbind
undo a mapping
vasunbind
undo mapping
vas: vasbind, vasmalloc, vasmapped, vasunbind
virtual address space memory function
viddoio
support I/O management for adapter driver
video: DISPLAYED, viddoio, vidinitscreen, vidmap, vidresscreen, vidsavscreen, vidumapinit, vidunmap
support video adapter driver development
vidinitscreen
initialise a multiscreen
vidmap
get a pointer to virtual memory
vidresscreen
restore a multiscreen
vidsavscreen
save a multiscreen
vidumapinit
return a kernel data pointer
vidunmap
unbind virtual memory got by vidumapinit
VM_SLEEP
set sleep priority when waiting for virtual memory allocation
vtop
convert a virtual address to a physical address
wakeupn
wake up a specified number of processes
wakeup, wakeupn
wake up a sleeping process
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 5 HDK - June 2005