Developing SCO OpenServer 5 kernel drivers

Porting drivers to SCO OpenServer 5 from earlier SCO releases
        Porting drivers to SCO OpenServer 5 from earlier releases
        New SCO OpenServer 5 features

SCO OpenServer 5 Release 5 STREAMS interface
        User-level interface
        Kernel interface
        Multithreaded STREAMS
        Guidelines for STREAMS drivers
        Message types

Multithreading device drivers
        Multiprocessor architecture
                Operating system modifications
                Hardware architecture
                New multithreading capabilities
        Registering the driver as multithreaded
        Protecting critical code
        Notes and examples for multithreaded block drivers
                Registering the task-time level of a block device
                Modifying the strategy routine
                Modifying the start routine
                Modifying the intr routine

Notes and examples for multithreaded TTY drivers
        Processing interrupts
        Modifying the open(D2oddi) routine
        Modifying the close(D2oddi) routine
        Modifying the read(D2oddi) routine
        Modifying the ioctl(D2oddi) routine
        Modifying the param() routine
        Modifying the proc(D2oddi) routine
        Modifying the alternate line discipline routine
        Modifying the intr(D2oddi) routine
        Modifying the poll(D2oddi) routine

Linking and testing SCO OpenServer 5 drivers
        Files needed to link a driver
                Configuring drivers using idinstall(ADM)
                Configuring drivers using configure(ADM)
        Configuring interrupt handlers
        Setting the driver initialization message
        Creating bootable kernels for testing
                Debugging drivers

Boot-time loadable drivers
        What drivers should be BTLD
        Configuring BTLDs into the Link Kit at boot time
        Packaging BTLD drivers
                Changes to BTLDs for SCO OpenServer 5 Release 5
        Testing BTLD drivers
        Guidelines for writing BTLDs
                Adjusting System and variable values within link(HW)

Packaging SCO OpenServer 5 drivers for installation
        Packaging drivers for SCO OpenServer 5 Release 5
                Setting up a cutting tree
                        run -- package cutting script
                        makeBTLD -- create a BTLD from an SSO
                Layout of a BTLD custom-installable disk
        Packaging drivers for releases before SCO OpenServer 5 Release 5
        Writing custom installation scripts
                Writing mkdev scripts

SURF kernel monitor
        Installing SURF software
        Running SURF
        Adding SURF modules
        Creating new reports

UNIX system concepts for DOS programmers
        Machine virtualization
        Memory management
                Virtual memory
                Linear memory
                Separation of function by region
        I/O and device drivers
        File subsystem
        File access permissions
        Common command equivalents
        Glossary of UNIX system terminology
        Notes about NT drivers
                Characteristics of NT drivers
                Possible future implementations