DOC HOME SITE MAP MAN PAGES GNU INFO SEARCH PRINT BOOK
 
SCO OpenServer

Intro(D2oddi)


Intro -- introduction to SCO OpenServer DDI driver entry-point routines

Description

Section D2oddi describes the system entry-point routines that are supported on SCO OpenServer systems. Entry-point routines are called by the operating system through switch tables such as bdevsw and cdevsw or the interrupt dispatch table or some similar table. The names of entry-point routines must follow a strict formula: the name of the entry-point routine as documented in this section, preceeded by the driver's prefix as registered in the driver's mdevice(F) table. For example, the open(D2oddi) routine that is called in response to an open system call would be named myopen( ) if my were the driver's prefix.

Each entry point is defined as operating in a context. This determines which kernel functions can be called from that routine. The Section D3oddi manual pages in Section D3oddi manual pages each identify the contexts in which that function can be called.

SCO OpenServer entry point routines (non-STREAMS, non-SCSI drivers)

Routine Context Block Character Notes
close blockable o o  
exec user o o  
exit user o o  
halt blockable o o  
init initialization o o  
intr interrupt rh rh  
ioctl user -- o  
kenter interrupt o o  
kexit interrupt o o  
open blockable r r  
poll interrupt -- o  
print interrupt r --  
pminit initialization o o  
probe initialization r --  
proc user -- o  
read user -- o  
start non-blockable o o  
strategy blockable r o  
swtch interrupt o o  
write user -- o  

 Routine  | Context        | Block   Character | Notes
 close    | blockable      | o       o         |
 exec     | user           | o       o         |
 exit     | user           | o       o         |
 halt     | blockable      | o       o         |
 init     | initialization | o       o         |
 intr     | interrupt      | rh      rh        |
 ioctl    | user           |         o         |
 kenter   | interrupt      | o       o         |
 kexit    | interrupt      | o       o         |
 open     | blockable      | r       r         |
 poll     | interrupt      |         o         |
 print    | interrupt      | r                 |
 pminit   | initialization | o       o         |
 probe    | initialization | r                 |
 proc     | user           |         o         |
 read     | user           |         o         |
 start    | non-blockable  | o       o         |
 strategy | blockable      | r       o         |
 swtch    | interrupt      | o       o         |
 write    | user           |         o         |

KEY

o
optional

r
recommended

h
used mostly for hardware drivers

--
not supported

SVR5 DDI compatibility

Section D2oddi manual pages in Section D2oddi manual pages documents the DDI entry point routines that correspond to those in this section. For DDI versions prior to version 8, most of the entry point routines are similar to those supported for ODDI, although there are syntactical differences:

DDI 8 and later versions use a slightly different set of entry point routines and introduce additional semantic differences:

See ``Porting drivers to DDI 8'' in Developing DDI kernel drivers for more information about differences between ODDI and DDI entry point routines.

External dependencies

Each manual page in this section provides detailed information about how the entry point routine is identified to the system. In most cases, the entry points are identified by a letter in the mdevice(F) file. file.

See also

mdevice(F)

Intro(MDI) (on OpenServer 6), Intro(7mdi) (on UnixWare 7.1.4), Intro(D2), Intro(D2mdi), Intro(D2osdi), Intro(D3oddi),

``Context of a driver'' in HDK Technical Reference
``Entry-point routines'' in HDK Technical Reference
``ODDI driver interface version for SCO OpenServer 5'' in HDK Technical Reference


19 June 2005
© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 5 HDK - June 2005