VAXELN FORTRAN Runtime Library Reference Manual

*HyperReader

  CONTENTS

  Title Page

  Copyright Page

  Preface

  1      Program Development

  1.1     Compiling and Linking an Application with FORTRAN Modules
    1.1.1      COMPILING
    1.1.2      Linking
    1.1.3      Building the System
    1.1.4      Booting and Down-Line Loading
    1.1.5      Debugging

  1.2     FORTRAN Commons

  2      Programming Considerations

  2.1     Partially Supported Statements
    2.1.1      CLOSE Statement
    2.1.2      OPEN Statement
    2.1.3      PAUSE Statement
    2.1.4      READ Statement
    2.1.5      WRITE Statement

  2.2     Unsupported Statements

  2.3     VAX FORTRAN Extensions to FORTRAN-77
    2.3.1      System Subroutines
    2.3.2      VAX FORTRAN System Subroutine Library
    2.3.3      PDP-11 Compatibility Subroutines

  2.4     Default File Specification Strings

  2.5     File Organizations

  2.6     Logical Name Support

  2.7     Alternative I/O Methods

  2.8     System Services

  2.9     Floating-Point Underflow

  2.10    Using Floating-Point Emulation for G-Floating Instructions on a MicroVAX I

  2.11    Carriage Control Attributes Not Processed When Terminal I/O Is Redirected

  2.12    Parallel Processing of DO Loops

  3      Writing Exception Handlers in FORTRAN

  3.1     VAXELN FORTRAN Exception Handlers

  3.2     Establishing and Canceling an Exception Handler

  3.3     Exception Arguments and Types
    3.3.1      Signal Arguments
    3.3.2      Mechanism Arguments

  3.4     Program Example

  4      VAXELN Kernel Procedures

  4.1     VAXELN FORTRAN Arguments

  4.2     VARYING_STRING Records

  4.3     Return Status

  4.4     Kernel Service Calls

  KER$ACCEPT_CIRCUIT

  KER$ALLOCATE_MAP

  KER$ALLOCATE_MEMORY

  KER$ALLOCATE_PATH

  KER$ALLOCATE_SYSTEM_REGION

  KER$CLEAR_EVENT

  KER$CONNECT_CIRCUIT

  KER$CREATE_AREA

  KER$CREATE_AREA_EVENT

  KER$CREATE_AREA_SEMAPHORE

  KER$CREATE_DEVICE

  KER$CREATE_EVENT

  KER$CREATE_JOB

  KER$CREATE_MESSAGE

  KER$CREATE_NAME

  KER$CREATE_PORT

  KER$CREATE_PROCESS

  KER$CREATE_SEMAPHORE

  KER$CURRENT_PROCESS

  KER$DELETE

  KER$DISABLE_ASYNCH_EXCEPTION

  KER$DISABLE_SWITCH

  KER$DISCONNECT_CIRCUIT

  KER$ENABLE_ASYNCH_EXCEPTION

  KER$ENABLE_SWITCH

  KER$ENTER_KERNEL_CONTEXT

  KER$EXIT

  KER$FREE_MAP

  KER$FREE_MEMORY

  KER$FREE_PATH

  KER$FREE_SYSTEM_REGION

  KER$GET_JCB

  KER$GET_TIME

  KER$GET_UPTIME

  KER$GET_USER

  KER$INITIALIZATION_DONE

  KER$JOB_PORT

  KER$LOCK_DEVICE

  KER$MEMORY_SIZE

  KER$RAISE_EXCEPTION

  KER$RAISE_PROCESS_EXCEPTION

  KER$RECEIVE

  KER$RESUME

  KER$SEND

  KER$SET_JOB_ELIGIBILITY

  KER$SET_JOB_PRIORITY

  KER$SET_PROCESS_PRIORITY

  KER$SET_TIME

  KER$SET_USER

  KER$SIGNAL

  KER$SIGNAL_DEVICE

  KER$SUSPEND

  KER$TRANSLATE_NAME

  KER$UNLOCK_DEVICE

  KER$UNWIND

  KER$WAIT_ALL, KER$WAIT_ANY

  5      VAXELN Utility Procedures

  5.1     VAXELN FORTRAN Arguments

  5.2     VARYING_STRING Records

  5.3     Summary of VAXELN Utility Procedures

  5.4     Return Status

  5.5     Utility Procedure Calls

  ELN$ADD_INTERLOCKED

  ELN$ADD_LARGE_INTEGERS_LIST

  ELN$ADQ_INITIALIZE

  ELN$ADQ_QUEUE_READ

  ELN$ADQ_START

  ELN$ADQ_TRANSFER_DONE

  ELN$ADV_INITIALIZE

  ELN$ADV_QUEUE_READ

  ELN$ADV_TRANSFER_DONE

  ELN$ALLOCATE_STACK

  ELN$AUTH_ADD_USER

  ELN$AUTH_MODIFY_USER

  ELN$AUTH_REMOVE_USER

  ELN$AUTH_SHOW_USER

  ELN$AXV_INITIALIZE

  ELN$AXV_READ

  ELN$AXV_WRITE

  ELN$BI_NODE_MASK

  ELN$BI_STOP

  ELN$CANCEL_EXIT_HANDLER

  ELN$COPY_FILE

  ELN$CREATE_DIRECTORY

  ELN$CREATE_MUTEX

  ELN$DEALLOCATE_STACK

  ELN$DECLARE_EXIT_HANDLER

  ELN$DELETE_FILE

  ELN$DELETE_MUTEX

  ELN$DIRECTORY_CLOSE

  ELN$DIRECTORY_LIST

  ELN$DIRECTORY_OPEN

  ELN$DISABLE_INTERRUPT

  ELN$DISK_READ

  ELN$DISK_WRITE

  ELN$DISMOUNT_TAPE_VOLUME

  ELN$DISMOUNT_VOLUME

  ELN$DLL_CLEAR_LINE

  ELN$DLL_CLEAR_NODE

  ELN$DLL_GET_LINE

  ELN$DLL_GET_NODE

  ELN$DLL_LOAD

  ELN$DLL_SET_LINE

  ELN$DLL_SET_NODE

  ELN$DLL_TRIGGER

  ELN$DLV_INITIALIZE

  ELN$DLV_READ_BLOCK

  ELN$DLV_READ_STRING

  ELN$DLV_WRITE_STRING

  ELN$DRB_FINISHED_TRANSFER

  ELN$DRB_INITIALIZE

  ELN$DRB_QUEUE_READ

  ELN$DRB_QUEUE_WRITE

  ELN$DRB_READ_CTRL

  ELN$DRB_WRITE_CTRL

  ELN$DRQ3B_INITIALIZE

  ELN$DRQ3B_QUEUE_READ

  ELN$DRQ3B_QUEUE_WRITE

  ELN$DRQ3B_READ_FUNCTION

  ELN$DRQ3B_TRANSFER_DONE_READ

  ELN$DRQ3B_TRANSFER_DONE_WRITE

  ELN$DRQ3B_WRITE_FUNCTION

  ELN$DRV_DMA_INITIALIZE

  ELN$DRV_DMA_QUEUE_READ

  ELN$DRV_DMA_QUEUE_WRITE

  ELN$DRV_DMA_READ_STATUS

  ELN$DRV_DMA_TRANSFER_DONE

  ELN$DRV_DMA_WRITE_FUNCTION

  ELN$DRV_INITIALIZE

  ELN$DRV_READ

  ELN$DRV_WRITE

  ELN$ENABLE_INTERRUPT

  ELN$ESTABLISH

  ELN$GET_STATUS_TEXT

  ELN$GP_AUXILIARY_COMMAND

  ELN$GP_CLEAR_EVENT

  ELN$GP_CONFIGURE

  ELN$GP_DEFINE_PATH

  ELN$GP_GET_CONTROL

  ELN$GP_GOTO_STANDBY

  ELN$GP_INITIALIZE

  ELN$GP_LOAD_PARALLEL_POLL

  ELN$GP_PARALLEL_POLL

  ELN$GP_PARALLEL_POLL_CONFIG

  ELN$GP_PASS_CONTROL

  ELN$GP_RECEIVE_CONTROL

  ELN$GP_REQUEST_SERVICE

  ELN$GP_SEND_COMMAND

  ELN$GP_SENSE_MODE

  ELN$GP_SERIAL_POLL

  ELN$GP_SET_EVENT

  ELN$GP_TRANSFER

  ELN$GP_UNIT_INIT

  ELN$INITIALIZE_AREA_LOCK

  ELN$INIT_TAPE_VOLUME

  ELN$INIT_VOLUME

  ELN$INSERT_ENTRY

  ELN$KWV_INITIALIZE

  ELN$KWV_READ

  ELN$KWV_WRITE

  ELN$LAT_CLEAR_COUNTERS

  ELN$LAT_CONNECT_PORT

  ELN$LAT_CREATE_PORT

  ELN$LAT_CREATE_SERVICE

  ELN$LAT_DELETE_PORT

  ELN$LAT_DELETE_SERVICE

  ELN$LAT_DISCONNECT_PORT

  ELN$LAT_MAP_PORT

  ELN$LAT_SET_NODE

  ELN$LAT_SET_PORT

  ELN$LAT_SET_SERVICE

  ELN$LAT_SHOW_CHAR

  ELN$LAT_SHOW_COUNTERS

  ELN$LAT_SHOW_PORT

  ELN$LAT_SHOW_PORT_MAPPING

  ELN$LAT_SHOW_SERVERS

  ELN$LAT_START_NODE

  ELN$LAT_STOP_NODE

  ELN$LAT_WAIT_FOR_CONNECTION

  ELN$LOAD_KA800_PROCESSOR

  ELN$LOAD_PROGRAM

  ELN$LOAD_UNIBUS_MAP

  ELN$LOCK_AREA

  ELN$LOCK_MUTEX

  ELN$MFPR

  ELN$MOUNT_TAPE_VOLUME

  ELN$MOUNT_VOLUME

  ELN$MTPR

  ELN$NETMAN_START_NETWORK

  ELN$NETMAN_STOP_NETWORK

  ELN$NI_ALLOCATE_BUFFER

  ELN$NI_CONNECT

  ELN$NI_DISCONNECT

  ELN$NI_GET_ATTRIBUTES

  ELN$NI_GET_CONFIGURATION

  ELN$NI_RECEIVE

  ELN$NI_TRANSMIT

  ELN$NI_TRANSMIT_STATUS

  ELN$PHYSICAL_ADDRESS

  ELN$PROGRAM_ARGUMENT

  ELN$PROGRAM_ARGUMENT_COUNT

  ELN$PROTECT_FILE

  ELN$READ_BYTE_REGISTER

  ELN$READ_LONG_REGISTER

  ELN$READ_WORD_REGISTER

  ELN$REMOVE_ENTRY

  ELN$RENAME_FILE

  ELN$SCSI_CONNECT_DEVICE

  ELN$SCSI_DISCONNECT_DEVICE

  ELN$SCSI_FREE_CONFIG_DATA

  ELN$SCSI_FREE_CONTROL_PORT

  ELN$SCSI_GET_CONFIG_DATA

  ELN$SCSI_GET_CONTROL_PORTS

  ELN$SCSI_ISSUE_COMMAND

  ELN$SCSI_MAP_MESSAGE_BUFFER

  ELN$SCSI_UNMAP_MESSAGE_BUFFER

  ELN$SET_DEFAULT_FILESPEC

  ELN$START_QUEUE

  ELN$SUB_LARGE_INTEGERS_LIST

  ELN$TIME_FIELDS_LIST

  ELN$TIME_STRING

  ELN$TIME_VALUE_LIST

  ELN$TTY_ASSERT_BREAK

  ELN$TTY_CANCEL_MODEM_EVENTS

  ELN$TTY_CANCEL_OOB_CHARACTERS

  ELN$TTY_GET_CHARACTERISTICS

  ELN$TTY_READ

  ELN$TTY_RECEIVE_MODEM_EVENTS

  ELN$TTY_RECEIVE_OOB_CHARACTERS

  ELN$TTY_SET_CHARACTERISTICS

  ELN$TTY_SIGNAL_MODEM_EVENTS

  ELN$TTY_SIGNAL_OOB_CHARACTERS

  ELN$TTY_WRITE

  ELN$UNIBUS_MAP

  ELN$UNIBUS_UNMAP

  ELN$UNLOAD_PROGRAM

  ELN$UNLOCK_AREA

  ELN$UNLOCK_MUTEX

  ELN$WRITE_BYTE_REGISTER

  ELN$WRITE_LONG_REGISTER

  ELN$WRITE_WORD_REGISTER

  A   Writing FORTRAN Device Drivers

  EXAMPLES

  3-1        Using a FORTRAN Exception Handler

  4-1        Using the status Argument

  TABLES

  5-1        VAXELN Utility Procedures

  5-2        Mask Values for Clear_Fields Argument

  5-3        Mask Values for Clear_Fields Argument

  5-4        Contents of DLL$LINE_INFORMATION Record

  5-5        Contents of DLL$NODE_INFORMATION Record

  5-6        Mask Values for Specified_Fields Argument

  5-7        Mask Values for New_Fields Argument

  5-8        Mask Values for New_Fields Argument

  5-9        Mask Values for Specified_Fields Argument

  5-10       Mask Values for NETMAN$INFORMATION_FIELDS

  5-11       Description of ELN$NI_CONNECT form Argument

  5-12       Description of ELN$NI_RECEIVE form Argument

  5-13       Description of ELN$NI_TRANSMIT form Argument

  5-14       SCSI$CONFIG_MSG Structure

  5-15       SCSI$CONFIG_TBL_TYPE Structure