VAXELN Runtime Facilities Guide

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Runtime Facilities Overview

  1.1     VAXELN Runtime Environment

  1.2     VAXELN Programming Concepts
    1.2.1      Processes:  Execution Agents for Programs and Program Parts
    1.2.2      Jobs:  Families of Processes
    1.2.3      Concurrency:  Processes Sharing Processor Resources
      1.2.3.1      Multitasking
      1.2.3.2      Multiprogramming
      1.2.3.3      Multiprocessing

  1.3     VAXELN Runtime Facilities
    1.3.1      Kernel
    1.3.2      Network Services
    1.3.3      LAT Host Services
    1.3.4      Authorization Service
    1.3.5      File Service
    1.3.6      Device Drivers
    1.3.7      DECwindows Support

  2      The VAXELN Kernel

  2.1     Kernel Objects
    2.1.1      AREA Objects
    2.1.2      DEVICE Objects
    2.1.3      EVENT Objects
    2.1.4      MESSAGE Objects
    2.1.5      NAME Objects
    2.1.6      PORT Objects
    2.1.7      PROCESS Objects
    2.1.8      SEMAPHORE Objects
    2.1.9      Kernel Object Implementation

  2.2     Optimized Data Structures
    2.2.1      AREA_LOCK_VARIABLE Data Structure
    2.2.2      MUTEX Data Structure

  3      Job, Process, and Memory Management

  3.1     Job Activation and Termination

  3.2     Subprocess Activation and Termination

  3.3     Scheduling
    3.3.1      Processes and Process States
    3.3.2      Job and Process Scheduling
    3.3.3      Initialization Programs and System Start-Up
    3.3.4      Loading Programs
    3.3.5      Scheduling in Multiprocessing Configurations

  3.4     Kernel Services for Processes and Jobs
    3.4.1      CREATE_JOB Procedure
    3.4.2      CREATE_PROCESS Procedure
    3.4.3      CURRENT_PROCESS Procedure
    3.4.4      DELETE Procedure
    3.4.5      DISABLE_SWITCH Procedure
    3.4.6      ENABLE_SWITCH Procedure
    3.4.7      EXIT Procedure
    3.4.8      KER$GET_JCB Procedure
    3.4.9      KER$GET_USER Procedure
    3.4.10     INITIALIZATION_DONE Procedure
    3.4.11     KER$NAME_OBJECT Procedure
    3.4.12     KER$RAISE_PROCESS_EXCEPTION Procedure
    3.4.13     RESUME Procedure
    3.4.14     Setting a Job's Processor Eligibility
    3.4.15     SET_JOB_PRIORITY Procedure
    3.4.16     SET_PROCESS_PRIORITY Procedure
    3.4.17     KER$SET_USER Procedure
    3.4.18     SIGNAL Procedure
    3.4.19     SUSPEND Procedure
    3.4.20     WAIT_ANY and WAIT_ALL Procedures

  3.5     Memory Management
    3.5.1      Managing Stack Usage
    3.5.2      Allocating Memory
      3.5.2.1      ALLOCATE_MEMORY Procedure
      3.5.2.2      KER$ALLOCATE_SYSTEM_REGION Procedure
      3.5.2.3      FREE_MEMORY Procedure
      3.5.2.4      KER$FREE_SYSTEM_REGION Procedure
      3.5.2.5      KER$MEMORY_SIZE Procedure
    3.5.3      Loading VAXELN System Images onto KA800 Processors

  4      Synchronization

  4.1     Synchronizing Process Execution

  4.2     Using Time Values to Synchronize Process Execution
    4.2.1      Waiting on Time
    4.2.2      Retrieving and Setting the System Time

  4.3     Synchronizing Process Execution Based on Process Completion

  4.4     Using Semaphores to Synchronize Process Execution
    4.4.1      Creating Semaphores
    4.4.2      Waiting On and Signaling Semaphores
    4.4.3      Deleting Semaphores
    4.4.4      Using Mutexes to Optimize Waiting and Signaling Operations

  4.5     Using Events to Synchronize Process Execution
    4.5.1      Creating Events
    4.5.2      Waiting On, Signaling, and Clearing Events
    4.5.3      Deleting Events

  5      Communication

  5.1     Sharing Module-Level Data

  5.2     Sharing Packets of Data Using Queues

  5.3     Passing Messages
    5.3.1      Messages
    5.3.2      Message Ports
    5.3.3      Named Message Ports
    5.3.4      Message Transmission
      5.3.4.1      Expedited Messages
    5.3.5      Datagrams and Circuits
    5.3.6      Programming with Circuits
    5.3.7      Port Limits and Flow Control
      5.3.7.1      Flow Control with Unconnected Ports
      5.3.7.2      Flow Control with Circuits
    5.3.8      Programming Considerations for Message Communication
    5.3.9      Kernel Services for Message Transmission
      5.3.9.1      ACCEPT_CIRCUIT Procedure
      5.3.9.2      CONNECT_CIRCUIT Procedure
      5.3.9.3      CREATE_MESSAGE Procedure
      5.3.9.4      CREATE_NAME Procedure
      5.3.9.5      CREATE_PORT Procedure
      5.3.9.6      DELETE Procedure
      5.3.9.7      DISCONNECT_CIRCUIT Procedure
      5.3.9.8      JOB_PORT Procedure
      5.3.9.9      RECEIVE Procedure
      5.3.9.10     SEND Procedure
      5.3.9.11     TRANSLATE_NAME Procedure
      5.3.9.12     WAIT_ANY and WAIT_ALL Procedures

  5.4     Sharing Memory Areas
    5.4.1      Creating Areas
    5.4.2      Synchronizing Access to Areas with Events
    5.4.3      Synchronizing Access to Areas with Semaphores
    5.4.4      Using Area Lock Variables to Optimize Waiting and Signaling Operations
    5.4.5      Using Areas to Synchronize Job Execution
    5.4.6      Deleting Areas

  6      Device Handling

  6.1     Creating and Deleting DEVICE Objects

  6.2     Handling Device Interrupts
    6.2.1      Waiting for an ISR to Service a Device Interrupt
    6.2.2      Signaling the DEVICE Object After Service Completion

  6.3     Synchronizing Access to the Device Communication Region

  6.4     Setting a Driver Job's Processor Eligibility

  6.5     Reading and Writing Register Data

  6.6     Controlling DMA Devices
    6.6.1      Allocating, Loading, and Freeing Map Registers
    6.6.2      Allocating and Freeing Buffered Data Paths
    6.6.3      Mapping and Unmapping Memory Buffers
    6.6.4      Returning a Variable's Physical Address

  6.7     Coding VAXBI Bus Device Drivers

  6.8     Executing Routines in Kernel Mode

  6.9     Handling Power-Failure Recovery

  7      Exception Handling

  7.1     VAX Stack Architecture

  7.2     Exceptions in VAXELN Systems
    7.2.1      Exception-Handler Arguments
    7.2.2      Continue and Resignal Operations
    7.2.3      Unwind Operation
    7.2.4      Multiple Concurrent Exceptions

  7.3     Raising Exceptions
    7.3.1      Kernel Procedure Failure Exceptions
    7.3.2      Asynchronous Exceptions

  7.4     Exception-Handling Procedures
    7.4.1      DISABLE_ASYNCH_EXCEPTION Procedure
    7.4.2      ENABLE_ASYNCH_EXCEPTION Procedure
    7.4.3      RAISE_EXCEPTION Procedure
    7.4.4      KER$RAISE_PROCESS_EXCEPTION Procedure
    7.4.5      KER$UNWIND Procedure

  7.5     Status Codes

  7.6     Using Runtime Messages in Application Programs
    7.6.1      VAXELN Message Files
    7.6.2      Constructing Messages
    7.6.3      Using Message Files with Application Programs
    7.6.4      Retrieving Message Text
    7.6.5      Displaying VAXELN Message Text on VMS Systems

  8      Ethernet/IEEE 802 Datalink Drivers

  8.1     Ethernet/IEEE 802 Datagram Service

  8.2     Retrieving a CSMA/CD LAN Configuration
    8.2.1      Ethernet Controller Device Types
    8.2.2      Ethernet Controller Device Names
    8.2.3      Ethernet Controller Control Ports
    8.2.4      Ethernet Controller Data Ports

  8.3     Retrieving Ethernet Controller Attributes
    8.3.1      Ethernet Controller Physical Addresses
    8.3.2      Ethernet Controller Hardware Addresses

  8.4     Connecting and Disconnecting an Ethernet/IEEE 802 Protocol
    8.4.1      Portals
    8.4.2      Dispatch Ports
    8.4.3      Message Format and Multiplexing
    8.4.4      User Data
    8.4.5      Promiscuous Mode
    8.4.6      Multicast Addresses
    8.4.7      Group SAPs
    8.4.8      LLC Classes
    8.4.9      Padded Ethernet Protocols

  8.5     Transmitting and Receiving Messages
    8.5.1      Allocating a Message Buffer
    8.5.2      Transmitting Messages
    8.5.3      Retrieving Transmitted Messages
    8.5.4      Receiving Messages

  8.6     Setting Up an Ethernet/IEEE 802 Datagram Service Environment

  9      DECnet Network Services

  9.1     Network Service Protocols

  9.2     Message Transmission Services

  9.3     Name Service
    9.3.1      Name Server
    9.3.2      Kernel and Name Service Interaction
    9.3.3      Name Server Election

  9.4     Network Management Services
    9.4.1      Managing VAXELN DECnet Systems from a VMS Host System
    9.4.2      Testing the Network Service
    9.4.3      Using the Network Management Service
      9.4.3.1      Initializing DECnet Node Addresses at Runtime
      9.4.3.2      Stopping and Starting DECnet Software to Reduce Network Overhead
      9.4.3.3      Switching DECnet Software Between Ethernet Controllers
    9.4.4      Using the Down-Line Load Service
      9.4.4.1      Establishing Circuits for Down-Line Load Service Communication
      9.4.4.2      Managing and Monitoring Data Base Node Entries
      9.4.4.3      Managing and Monitoring Data Base Line Entries
      9.4.4.4      Managing Target-Initiated Down-Line Load Requests
      9.4.4.5      Trigger Booting a VAXELN Target Node
      9.4.4.6      Down-Line Loading VAXELN Systems

  9.5     Services for Communicating with VMS Nodes
    9.5.1      Specifying Nodes
      9.5.1.1      Using Node Names and Node Numbers in VMS
      9.5.1.2      Using Node Numbers in VAXELN
    9.5.2      Requesting Connections from VAXELN Systems
    9.5.3      Accepting Connections on VMS Systems
    9.5.4      Requesting Connections from VMS Systems
    9.5.5      Accepting Connections on VAXELN Systems
    9.5.6      Using DECnet Object Numbers in Connection Requests

  9.6     Remote Terminal Utility

  10     Internet Services

  10.1    Internet Service Concepts
    10.1.1     Client-Server Model
    10.1.2     Internet Architecture
      10.1.2.1     Internet Protocol
      10.1.2.2     User Datagram Protocol
      10.1.2.3     Transmission Control Protocol
    10.1.3     Internet Addresses
      10.1.3.1     Network Classes
      10.1.3.2     Network Mask
      10.1.3.3     Broadcast Mask
    10.1.4     Ports as Internet Communication Endpoints
    10.1.5     Sockets
      10.1.5.1     Connection Socket Communication
      10.1.5.2     Connectionless Socket Communication
    10.1.6     Routing
    10.1.7     Fragmentation

  10.2    Configuring Internet Services

  10.3    Controlling Internet Services
    10.3.1     Managing the ARP Cache
      10.3.1.1     Adding and Deleting ARP Cache Entries
      10.3.1.2     Retrieving Ethernet Addresses from the ARP Cache
      10.3.1.3     Retrieving ARP Cache Entries
    10.3.2     Managing the Internet Routing Table
      10.3.2.1     Adding and Deleting Routing Table Entries
      10.3.2.2     Checking the Status of Routing Table Entries
      10.3.2.3     Retrieving Routing Table Entries
    10.3.3     Managing Internet Network Interfaces
      10.3.3.1     Setting Internet Network Interfaces
      10.3.3.2     Retrieving Internet Network Interface Characteristics
    10.3.4     Retrieving Internet Performance and Error Data
    10.3.5     Retrieving TCP Connection Data

  10.4    Converting the Byte Order of Network and Host Binary Data

  10.5    Manipulating Internet Addresses

  10.6    Programming Internet Communication
    10.6.1     Creating Sockets
    10.6.2     Binding Names to Sockets
    10.6.3     Controlling Socket Characteristics
    10.6.4     Establishing Connections for Socket Communication
      10.6.4.1     Initiating Socket Connections
      10.6.4.2     Creating a Queue for Pending Connection Requests
      10.6.4.3     Accepting Socket Connections
    10.6.5     Transferring Data
      10.6.5.1     Sending Data to Sockets
      10.6.5.2     Receiving Data from Sockets
      10.6.5.3     Polling Sockets for I/O Activity
    10.6.6     Shutting Down Sockets
    10.6.7     Closing Sockets
    10.6.8     Programming Socket Communication for a UDP Application
    10.6.9     Programming Socket Communication for a TCP/IP Application

  10.7    Retrieving and Setting Socket Characteristics
    10.7.1     Retrieving Socket Names
    10.7.2     Setting Socket Characteristics
    10.7.3     Retrieving Socket Options

  11     LAT Host Services

  11.1    LAT Host Services Overview

  11.2    Establishing Circuits for LAT Communication
    11.2.1     Connecting to a LAT Control Port
    11.2.2     Creating a VAXELN LAT Port
    11.2.3     Connecting to a DDA Port

  11.3    Managing VAXELN Service Nodes
    11.3.1     Retrieving and Setting Service Node Characteristics
      11.3.1.1     Node Names
      11.3.1.2     Node Identification Strings
      11.3.1.3     LAT Network Groups
      11.3.1.4     Multicast Timer
      11.3.1.5     Service Node States
    11.3.2     Managing Service Node Services
      11.3.2.1     Creating and Deleting Services
      11.3.2.2     Changing Service Characteristics
      11.3.2.3     Advertising Services
    11.3.3     Retrieving LAT Port Characteristics
      11.3.3.1     LAT Port Names
      11.3.3.2     Queue Statuses
      11.3.3.3     Remote Server Names
      11.3.3.4     Remote Port Names
    11.3.4     Retrieving Terminal Server Characteristics
    11.3.5     Monitoring LAT Network Performance and Error Statistics

  11.4    Setting Up a Dedicated Service Environment

  11.5    Setting Up an Application Device Environment

  11.6    Retrieving and Setting Terminal Characteristics

  12     System Security

  12.1    Security Features Overview

  12.2    User Names and Identification Codes

  12.3    Authorization Service
    12.3.1     Including the Authorization Service
    12.3.2     Authorization Service Utility Procedures
    12.3.3     Establishing Circuits for Authorization Service Communication
    12.3.4     Adding Users to the Authorization Data Base
    12.3.5     Modifying Records in the Authorization Data Base
    12.3.6     Removing User Records from the Authorization Data Base
    12.3.7     Retrieving Authorization Data Base Information

  12.4    User Identities

  12.5    File Service Security

  13     File Service

  13.1    Device Specifications

  13.2    Volume Names

  13.3    File Specifications

  13.4    Procedure for Mounting Multiple Volumes with Identical Volume Labels

  13.5    DISK$DEFAULT_VOLUME Device Name

  13.6    File Access Listener

  13.7    File Service Volumes from VMS

  13.8    File Service Operations

  13.9    File Utility Procedures
    13.9.1     ELN$COPY_FILE Procedure
    13.9.2     ELN$CREATE_DIRECTORY Procedure
    13.9.3     ELN$DELETE_FILE Procedure
    13.9.4     ELN$DIRECTORY_CLOSE Procedure
    13.9.5     ELN$DIRECTORY_LIST Procedure
    13.9.6     ELN$DIRECTORY_OPEN Procedure
    13.9.7     ELN$PROTECT_FILE Procedure
    13.9.8     ELN$RENAME_FILE Procedure
    13.9.9     ELN$SET_DEFAULT_FILESPEC Procedure

  13.10  Disk Utility Procedures
    13.10.1    ELN$DISMOUNT_VOLUME Procedure
    13.10.2    ELN$INIT_VOLUME Procedure
    13.10.3    ELN$MOUNT_VOLUME Procedure

  13.11  Tape Utility Procedures
    13.11.1    ELN$DISMOUNT_TAPE_VOLUME Procedure
    13.11.2    ELN$INIT_TAPE_VOLUME Procedure
    13.11.3    ELN$MOUNT_TAPE_VOLUME Procedure

  13.12  File Service Interface for Disk and Tape Drivers

  13.13  Data Access Protocol
    13.13.1    DAP General Principles
    13.13.2    Action Routines and DAP$SERVER
    13.13.3    DAP Data Types
    13.13.4    DAP Constants
    13.13.5    DAP Wildcard Functions

  14     VAXELN Device Drivers

  14.1    Disk Drivers
    14.1.1     Logical I/O
    14.1.2     Disk Specifications
    14.1.3     Disk Driver Interface to the File Service
    14.1.4     Recovery from Power Failure
    14.1.5     Direct Device Access for Disk Devices
      14.1.5.1     Establishing Circuits for the DDA Disk Interface
      14.1.5.2     Reading Data from and Writing Data to a Local Disk
      14.1.5.3     Reading Logical Blocks from an Unmounted Disk
      14.1.5.4     Reading Logical Blocks from a Mounted Disk
      14.1.5.5     Transferring Data to a System Region
    14.1.6     Virtual-Memory Disk Driver

  14.2    Tape Driver
    14.2.1     Logical I/O
    14.2.2     Tape Specifications
    14.2.3     Tape Driver Interface to the File Service
    14.2.4     Recovery from Power Failure
    14.2.5     Recovery from Errors

  14.3    Printer Drivers
    14.3.1     Accessing Printer Devices
    14.3.2     Printer Driver Characteristics

  14.4    Terminal Drivers
    14.4.1     Terminal I/O
    14.4.2     Type-Ahead and Synchronization
    14.4.3     Terminating Lines of Input
    14.4.4     Setting Up Point-to-Point DDCMP Communication
    14.4.5     Direct Device Access for Serial-Line Devices
      14.4.5.1     Establishing Circuits for Serial-Line Communication
      14.4.5.2     Retrieving and Setting Terminal Characteristics
      14.4.5.3     Reading Data from and Writing Data to a Serial Line
      14.4.5.4     Setting a Serial Line to the Spacing State
      14.4.5.5     Monitoring the Use of Out-of-Band Characters
    14.4.6     Using Control Characters
    14.4.7     Using Escape and Control Sequences
      14.4.7.1     Using VT52-Type Escape Sequences
    14.4.8     Using Modem Control
      14.4.8.1     Retrieving and Setting Modem Characteristics
      14.4.8.2     Monitoring Modem Events
    14.4.9     Performing Parallel I/O

  14.5    Small Computer System Interface Driver
    14.5.1     Using the VAXELN SCSI Disk Class Driver
    14.5.2     Using the VAXELN SCSI Generic Class Driver
      14.5.2.1     Connecting to the Generic Class Driver
      14.5.2.2     Requesting SCSI Bus Configuration Data
      14.5.2.3     Connecting to SCSI Devices
      14.5.2.4     Issuing SCSI Commands
      14.5.2.5     Programming a Generic Class Driver Message Interface Application
    14.5.3     Developing User-Defined SCSI Class Drivers
      14.5.3.1     Modifying the SCSI Driver Start-Up Module
      14.5.3.2     Programming SCSI Class Drivers
        14.5.3.2.1      Defining Device Locks
        14.5.3.2.2      Setting Up an Entry Point
        14.5.3.2.3      Checking for Devices to Service
        14.5.3.2.4      Setting the Current Connection Flag
        14.5.3.2.5      Allocating I/O Request Packets for Devices
        14.5.3.2.6      Mapping Data Buffers for I/O Requests
        14.5.3.2.7      Issuing SCSI Commands
        14.5.3.2.8      Initializing a SCSI Device Controller
      14.5.3.3     Compiling and Linking the SCSI Driver Modules

  14.6    Realtime Device Drivers
    14.6.1     ADQ32 DMA Analog-to-Digital Converter
    14.6.2     ADV11-C/AXV11-C Analog-to-Digital Converter
    14.6.3     ADV11-D DMA Analog-to-Digital Converter
    14.6.4     DLVJ1 Asynchronous Serial-line Controller
    14.6.5     DRB32 DMA Parallel-Line Interface
    14.6.6     DRQ3B DMA Parallel-Line Interface
    14.6.7     DRV11-J Parallel-Line Interface
    14.6.8     DRV11-W DMA Parallel-Line Interface
    14.6.9     IEQ11-A and IEU11-A Dual IEC/IEEE Instrument Bus Interfaces
    14.6.10    KWV11-C Realtime Clock

  A   Status Values/Exception Names

  B   Machine-Check Stack Frames

  B.1     Obtaining a Machine-Check Stack Frame

  B.2     Machine-Check Stack Frame for MicroVAX I Processors

  B.3     Machine-Check Stack Frame for MicroVAX II and 2000, VAXstation II and 2000, and KA800 Processors

  B.4     Machine-Check Stack Frame for rtVAX 300, MicroVAX 3 nnn Series, VAXstation 3100, 3200, and 3500, and VAX 6000-2 nn anS

  B.5     Machine-Check Stack Frame for VAX 6000-4 nn Series Processors

  B.6     Machine-Check Stack Frame for VAX 8200 and 8250 Processors

  B.7     Machine-Check Stack Frame for VAX 8500, 8550, 8700, 8800, and 8810 Processors

  B.8     Machine-Check Stack Frame for VAX-11/730 Processors

  B.9     Machine-Check Stack Frame for VAX-11/750 Processors

  C   VMS Emulation Routines

  C.1     VMS Emulation Routine Summary

  C.2     Calling VMS Emulation Routines

  C.3     VMS System Service Emulation Routine Descriptions

  C.4     LIB$ Emulation Routine Descriptions

  C.5     STR$ Emulation Routine Description

  D   SCSI Port Driver Interface Routines

  PORT$ALLOCATE_DEVICE

  PORT$EXIT_HANDLER

  PORT$FREE_DEVICE

  PORT$INITIALIZE_CONTROLLER

  PORT$ISSUE_COMMAND

  PORT$MAP_BUFFER

  PORT$UNMAP_BUFFER

  EXAMPLES

  5-1        Using Queues for Process Communication

  5-2        Disconnecting the Partner Port After a Disconnect Operation

  5-3        Synchronizing Access to Areas with Events

  5-4        Synchronizing Job Execution with Semaphores

  6-1        Using the KER$ENTER_KERNEL_CONTEXT Procedure

  7-1        Using Message Files

  8-1        Sample Network Interface Application

  9-1        Managing and Monitoring Down-Line Load Data Base Node Entries

  9-2        Managing and Monitoring Down-Line Load Data Base Line Entries

  9-3        Trigger Booting a VAXELN Target Node

  9-4        Down-Line Loading a VAXELN System Image

  10-1       Sample UDP Server

  10-2       Sample UDP Client

  10-3       Sample TCP/IP Server

  10-4       Sample TCP/IP Client

  11-1       LAT Dedicated Service

  11-2       LAT Application Service

  14-1       Reading Logical Blocks from an Unmounted Disk

  14-2       Reading Logical Blocks from a Mounted Disk

  14-3       Transferring Data to a System Region

  14-4       Using the Virtual-Memory Driver

  14-5       Reading and Writing Serial-Line Data

  14-6       Reading and Writing Serial-Line Data Using a User-Defined Message

  14-7       Monitoring the Use of Out-of-Band Characters

  14-8       Monitoring Modem Events

  14-9       Programming a SCSI Generic Class Driver Message Interface Application

  14-10      Modifying the SCSI Driver Start-Up Module

  FIGURES

  1-1        A VAXELN Application

  1-2        VAXELN System Software

  1-3        Runtime Environment

  1-4        Process Family

  1-5        Loosely Coupled Multiprocessing Configuration

  1-6        Tightly Coupled Symmetric Multiprocessing Configuration

  1-7        Closely Coupled Symmetric Multiprocessing Configuration with VAXELN Primary System

  1-8        Closely Coupled Symmetric Multiprocessing Configuration with VMS Primary System

  2-1        PORT Value Representation

  3-1        Valid Process State Transitions

  3-2        Job and Process Priorities

  3-3        Combined Priority Representation

  3-4        Memory Allocation

  3-5        System Region

  3-6        Program Region

  3-7        Control Region

  7-1        A Procedure's Stack Frame

  7-2        A Frame Structure After a Procedure Call

  7-3        Call Frame Block

  7-4        Signal Arguments

  7-5        Mechanism Arguments

  8-1        A Two-Node VAXELN Network Using the Datagram Service

  9-1        A Two-Node VAXELN Network Using the Network Service

  9-2        Target-Initiated Down-Line Load Request

  9-3        Trigger Boot Request

  9-4        Down-Line Load Request

  10-1       Client-Server Model

  10-2       Internet Layers

  10-3       Routing Table

  10-4       Routing Algorithm

  11-1       Sample VAXELN LAT Configuration

  11-2       VAXELN LAT Port

  11-3       Dedicated Service Environment

  11-4       Application Device Environment

  12-1       Authorization Service Example

  12-2       Protection Mask

  13-1       DAP Message Transmission (Read Request)

  14-1       A VAXELN Serial DDCMP Link

  14-2       SCSI Class/Port Driver Architecture

  14-3       SCSI Device Markers

  B-1        Machine-Check Stack Frame for MicroVAX I Processors

  B-2        Machine-Check Stack Frame for MicroVAX II and 2000, VAXstation II and 2000, and KA800 Processors

  B-3        Machine-Check Stack Frame for rtVAX 300, MicroVAX 3 nnn Series, VAXstation 3100, 3200, and 3500, and VAX 6000-2 nnS

  B-4        Machine-Check Stack Frame for VAX 6000-4 nn Series Processors

  B-5        Machine-Check Stack Frame for VAX 8200 and 8250 Processors

  B-6        Machine-Check Stack Frame for VAX 8500, 8550, 8700, 8800, and 8810 Processors

  B-7        Machine-Check Stack Frame for VAX-11/730 Processors

  B-8        Machine-Check Stack Frame for VAX-11/750 Processors

  TABLES

  1-1        Runtime System Components

  2-1        Kernel Objects

  2-2        Optimized Data Structures

  3-1        Process States

  6-1        Interrupt Priority Levels

  7-1        VAXELN Message Files

  8-1        Ethernet/IEEE 802 Datalink Drivers

  8-2        Ethernet Controller Device Types

  8-3        Portal Message Formats

  8-4        Portal Multiplexing Fields

  9-1        Down-Line Load Data Base Node Characteristics

  9-2        Down-Line Load Data Base Line Characteristics

  10-1       UDP Characteristics

  10-2       TCP Characteristics

  10-3       Network Class Number Ranges

  10-4       Broadcast Addresses

  10-5       Socket Protocol Types

  10-6       Calling Sequence for Socket Communication

  10-7       Socket-Level Socket Options

  13-1       Storage Device Types

  14-1       Disk Drivers

  14-2       Disk Devices

  14-3       Tape Specifications

  14-4       Printer Drivers

  14-5       Printer Driver Characteristics

  14-6       Terminal Drivers

  14-7       Terminal Driver Characteristics

  14-8       Control Characters

  14-9       Modem Control Signals

  14-10      Modem Characteristics

  14-11      SCSI Device Characteristics

  14-12      VAXELN SCSI Driver Components

  14-13      SCSI Bus Configuration Data

  14-14      Realtime Devices

  14-15      IEQ11-A/IEU11-A Interface Routines

  A-1        Status Values/Exception Names

  B-1        Machine-Check Type Codes for MicroVAX I Processors

  B-2        Machine-Check Type Codes for MicroVAX II and 2000, VAXstation II and 2000, and KA800 Processors

  B-3        Machine-Check Type Codes for rtVAX 300, MicroVAX 3 nnn Series, VAXstation 3100, 3200, and 3500, and VAX 6000-2 nn S

  B-4        Machine-Check Type Codes for VAX 6000-4 nn Series Processors

  B-5        Machine-Check Stack Frame Contents for VAX 8500, 8550, 8700, 8800, and 8810 Processors

  B-6        Machine-Check Error Type Codes for VAX-11/730 Processors

  B-7        Machine-Check Error Codes for VAX-11/750 Processors

  C-1        VMS System Service Emulation Routines

  C-2        VMS Runtime Library Emulation Routines

  C-3        SYS$ASCTIM System Service Call Format

  C-4        SYS$GETIM System Service Call Format

  C-5        SYS$UNWIND System Service Call Format

  C-6        LIB$ADD_TIMES Routine Call Format

  C-7        LIB$ADDX Routine Call Format

  C-8        LIB$ANALYZE_SDESC Routine Call Format

  C-9        LIB$CREATE_USER_VM_ZONE Routine Call Format

  C-10       LIB$CREATE_VM_ZONE Routine Call Format

  C-11       LIB$CVT_DTB Routine Call Format

  C-12       LIB$CVT_HTB Routine Call Format

  C-13       LIB$CVT_OTB Routine Call Format

  C-14       LIB$DELETE_VM_ZONE Routine Call Format

  C-15       LIB$EDIV Routine Call Format

  C-16       LIB$EMUL Routine Call Format

  C-17       LIB$FLT_UNDER Routine Call Format

  C-18       LIB$FREE_VM Routine Call Format

  C-19       LIB$FREE_VM_PAGE Routine Call Format

  C-20       LIB$GET_INPUT Routine Call Format

  C-21       LIB$GET_VM Routine Call Format

  C-22       LIB$GET_VM_PAGE Routine Call Format

  C-23       LIB$INT_OVER Routine Call Format

  C-24       LIB$LEN Routine Call Format

  C-25       LIB$MATCH_COND Routine Call Format

  C-26       LIB$MULT_DELTA_TIME Routine Call Format

  C-27       LIB$MULTF_DELTA_TIME Routine Call Format

  C-28       LIB$PUT_OUTPUT Routine Call Format

  C-29       LIB$RESET_VM_ZONE Routine Call Format

  C-30       LIB$SCOPY_DXDX Routine Call Format

  C-31       LIB$SCOPY_R_DX Routine Call Format

  C-32       LIB$SIGNAL Routine Call Format

  C-33       LIB$SIG_TO_RET Routine Call Format

  C-34       LIB$STOP Routine Call Format

  C-35       LIB$SUB_TIMES Routine Call Format

  C-36       LIB$SUBX Routine Call Format

  C-37       STR$ANALYZE_SDESC Routine Call Format