CONTENTS Title Page Copyright Page Preface 1 Design Considerations 1.1 Structuring VAXELN Applications 1.1.1 Jobs and Processes in VAXELN Applications 1.1.2 Applications with Multiple Jobs 1.1.3 Applications with Single Jobs 1.2 Designing Communication Protocols 2 Asynchronous I/O 2.1 Solution 2.2 Creating and Running the Application 2.3 Sample Application 3 Interjob Communication 3.1 Solution 3.2 Creating and Running the Application 3.3 Sample Application 4 Intrajob Synchronization 4.1 Solution 4.2 Creating and Running the Application 4.3 Sample Application 5 VAXELN Time Routines 5.1 Solution 5.2 Creating and Running the Application 5.3 Sample Application 6 VAXELN Interface to VMS 6.1 Solution 6.2 Creating and Running the Application 6.3 Sample Application 7 Multiple-Circuit Server 7.1 Solution 7.2 Creating and Running the Application 7.3 C Multithread Server and Application 7.3.1 C Server 7.3.2 C Sample Application 7.4 Pascal Multithread Server and Application 7.4.1 Pascal Server 7.4.2 Pascal Sample Application 8 Interrupt Service Routines 8.1 Solution 8.2 Creating and Running the Applications 8.3 First Sample Application 8.4 Second Sample Application 9 Accessing Hardware in User Mode 9.1 Solution 9.2 Creating and Running the Application 9.3 Sample Application 10 Fast Device Handling 10.1 Solution 10.2 Creating and Running the Application 10.3 Sample Application 11 Drivers for NonDMA Devices 11.1 Solution 11.2 Creating and Running the Application 11.3 Sample Application 12 Drivers for DMA Devices 12.1 Solution 12.2 Creating and Running the Application 12.3 Sample Application 13 FORTRAN Routine Inclusion 13.1 Solution 13.2 Creating and Running the Application 13.3 Pascal Sample Application 13.4 C Sample Application 13.5 FORTRAN Subroutines 14 C Device Driver 14.1 Solution 14.2 Creating and Running the Application 14.3 Sample Application A Making a Bootable Floppy Disk A.1 Solution A.2 Creating and Running the Application A.3 Sample Application