HDK Technical Reference

HDK Technical Reference

This is a listing of terms and concepts that are of special interest to driver writers, in alphabetical order. Each item includes a brief definition and a pointer to other sources of information.

These articles can be grouped topically as follows:

Interface and device types
``DDI interface versioning'', ``DLPI'', ``Hotplug devices'', ``HPCI (Hot Plug Controller Interface)'', ``I2O'', ``ISDN'', ``LLI'', ``MDI'', ``ODI'', ``PC Card interface (PCMCIA)'', ``PDI (Portable Driver Interface)'', ``PSM (Platform Support Module)'', ``SDI'', ``System interface'', ``UDI (Uniform Driver Interface)''

``ODDI driver interface version for SCO OpenServer 5'', ``OSDI SCSI driver interface version for SCO OpenServer 5''

``Serial port registration''

``Block device drivers'', ``Character device drivers'', ``Clone device'', ``Modems, adding new'', ``Plug and Play ISA interface'', ``Printers, adding new (SVR5)''

``C++, device drivers'', ``TTY devices''

``Compiling kernel drivers'', ``Porting kernel drivers'', ``Debugging kernel drivers'', ``Test and certification suites''

Driver structure
``Error handling'', ``Header files''

Installation, configuration, and packaging
``Autoconfiguration'', ``Configuration manager'', ``Daemons associated with drivers'', ``DSP (Driver Software Package)'', ``ISA bus autoconfiguration'', ``Packaging and installing SVR5 drivers'', ``Resource manager database'', ``Subsystem and Vendor ID (PCI)''


Locks and synchronization
``Concurrency'', ``Critical code section''

``Atomic locks'', ``Sleep locks'', ``Spin locks (DDI)'', ``Spin locks (ODDI)'', ``Synchronization primitives'', ``Synchronization variables'', ``Timeouts'', ``Trylocks'',


``Locks, non-DDI''

Interrupts and interrupt handling
``Interrupts'', ``Interrupt handlers, attaching and registering'', ``Interrupts, edge- and level-triggered'', ``Interrupt sharing'', ``PCU (Platform Conformance Utility)'', ``IPLs (Interrupt Priority Levels)'', ``Non-Maskable interrupts (NMI)''

Bus types
``APIC'', ``Bus'', ``Bus-master devices'', ``EISA device configuration'', ``MicroChannel configuration information'', ``PCI''

``Endian issues for drivers''

System timer
``Clock, system''

Memory management
``Buffered I/O buffers, allocating'', ``Data, copying'', ``DMA'', ``DMA up to 64 bits (DDI only)'', ``Dual-ported memory'', ``Programmed I/O (PIO)'', ``Large memory support (DDI 8)'', ``Memory access'', ``Memory allocation'', ``Scatter/gather operations''

SCSI and non-SCSI mass storage drivers
``SDI'', ``OSDI SCSI driver interface version for SCO OpenServer 5'', ``SCSI interface''

``Extended SCSI addressing scheme'', ``SDI peripheral hot add/remove'', ``SCSI multiple channels'', ``SDI event handling'', ``SDI pass-through interface'', ``SDI bus timeout/reset recovery'', ``SDI routing'',

``Host bus adapter (HBA)'', ``Layered device drivers'', ``Target drivers (SDI)'', ``Target mode for SDI HBA drivers'', ``RAID''

``Metrics for disk devices''

Network adapter card drivers
``MDI'', ``MAC'', ``Failover (Network cards)'', ``MAC addresses'', ``MDI data'', ``MDI ioctls'', ``MDI primitives'', ``Promiscuous mode'', ``Source routing (network drivers)''

``ISDN'', ``CAPI''

``Metrics for disk devices''

``Messages, STREAMS'', ``Multiplexing, STREAMS'', ``Queues, STREAMS'', ``STREAMS'', ``STREAMS ioctls'', ``Uniplexor (UNI multiplexor)''

About drivers in the kernel
``Bitfields'', ``Channel number'', ``Context of a driver'', ``Device instance'', ``Device number'', ``Dynamically-loadable kernel modules (DLKM)'', ``Entry-point routines'', ``idata (instance data)'', ``Large device support'', ``Major and minor numbers'', ``Switch tables''

© 2005 The SCO Group, Inc. All rights reserved.
OpenServer 6 and UnixWare (SVR5) HDK - June 2005