(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