Table E-2 Ada Implementations
  
    | OpenVMS Data Types  | 
    Ada Declarations  | 
  
  
    | 
      access_bit_names
     | 
    
      STARLET.ACCESS_BIT_NAMES_TYPE
     | 
  
  
    | 
      access_mode
     | 
    
      STARLET.ACCESS_MODE_TYPE
     | 
  
  
    | 
      address
     | 
    
      SYSTEM.ADDRESS
     | 
  
  
    | 
      address_range
     | 
    
      STARLET.ADDRESS_RANGE_TYPE
     | 
  
  
    | 
      arg_list
     | 
    
      STARLET.ARG_LIST_TYPE
     | 
  
  
    | 
      ast_procedure
     | 
    
      SYSTEM.AST_HANDLER
     | 
  
  
    | 
      boolean
     | 
    
      STANDARD.BOOLEAN
     | 
  
  
    | 
      byte_signed
     | 
    
      STANDARD.SHORT_SHORT_INTEGER
     | 
  
  
    | 
      byte_unsigned
     | 
    
      SYSTEM.UNSIGNED_BYTE
     | 
  
  
    | 
      channel
     | 
    
      STARLET.CHANNEL_TYPE
     | 
  
  
    | 
      char_string
     | 
    
      STANDARD.STRING
     | 
  
  
    | 
      complex_number
     | 
    
      User-defined record
     | 
  
  
    | 
      cond_value
     | 
    
      CONDITION_HANDLING.COND_VALUE_TYPE
     | 
  
  
    | 
      context
     | 
    
      STARLET.CONTEXT_TYPE
     | 
  
  
    | 
      date_time
     | 
    
      STARLET.DATE_TIME_TYPE
     | 
  
  
    | 
      device_name
     | 
    
      STARLET.DEVICE_NAME_TYPE
     | 
  
  
    | 
      ef_cluster_name
     | 
    
      STARLET.EF_CLUSTER_NAME_TYPE
     | 
  
  
    | 
      ef_number
     | 
    
      STARLET.EF_NUMBER_TYPE
     | 
  
  
    | 
      exit_handler_block
     | 
    
      STARLET.EXIT_HANDLER_BLOCK_TYPE
     | 
  
  
    | 
      fab
     | 
    
      STARLET.FAB_TYPE
     | 
  
  
    | 
      file_protection
     | 
    
      STARLET.FILE_PROTECTION_TYPE
     | 
  
  
    | 
      floating_point
     | 
    
      STANDARD.FLOAT
        STANDARD.LONG_FLOAT
        STANDARD.LONG_LONG_FLOAT
        SYSTEM.F_FLOAT
        SYSTEM.D_FLOAT
        SYSTEM.G_FLOAT
        SYSTEM.H_FLOAT
        SYSTEM.IEEE_SINGLE_FLOAT
      1
        SYSTEM.IEEE_DOUBLE_FLOAT
      1
     | 
  
  
    | 
      function_code
     | 
    
      STARLET.FUNCTION_CODE_TYPE
     | 
  
  
    | 
      identifier
     | 
    
      SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      invo_context_blk
      1
     | 
    
      User-defined record
     | 
  
  
    | 
      invo_handle
      1
     | 
    
      SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      io_status_block
     | 
    
      STARLET.IOSB_TYPE
     | 
  
  
    | 
      item_list_pair
     | 
    
      SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      item_list_2
     | 
    
      STARLET.ITEM_LIST_2_TYPE
     | 
  
  
    | 
      item_list_3
     | 
    
      STARLET.ITEM_LIST_3_TYPE
     | 
  
  
    | 
      item_quota_list
     | 
    
      User-defined record
     | 
  
  
    | 
      lock_id
     | 
    
      STARLET.LOCK_ID_TYPE
     | 
  
  
    | 
      lock_status_block
     | 
    
      STARLET.LOCK_STATUS_BLOCK_TYPE
     | 
  
  
    | 
      lock_value_block
     | 
    
      STARLET.LOCK_VALUE_BLOCK_TYPE
     | 
  
  
    | 
      logical_name
     | 
    
      STARLET.LOGICAL_NAME_TYPE
     | 
  
  
    | 
      longword_signed
     | 
    
      STANDARD.INTEGER
     | 
  
  
    | 
      longword_unsigned
     | 
    
      SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      mask_byte
     | 
    
      SYSTEM.UNSIGNED_BYTE
     | 
  
  
    | 
      mask_longword
     | 
    
      SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      mask_quadword
     | 
    
      SYSTEM.UNSIGNED_QUADWORD
     | 
  
  
    | 
      mask_word
     | 
    
      SYSTEM.UNSIGNED_WORD
     | 
  
  
    | 
      mechanism_args
     | 
    
      STARLET.CHFDEF2_TYPE
     | 
  
  
    | 
      null_arg
     | 
    
      SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      octaword_signed
     | 
    
      array(1..4)
      of SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      octaword_unsigned
     | 
    
      array(1..4)
      of SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      page_protection
     | 
    
      STARLET.PAGE_PROTECTION_TYPE
     | 
  
  
    | 
      procedure
     | 
    
      SYSTEM.ADDRESS
     | 
  
  
    | 
      process_id
     | 
    
      STARLET.PROCESS_ID_TYPE
     | 
  
  
    | 
      process_name
     | 
    
      STARLET.PROCESS_NAME_TYPE
     | 
  
  
    | 
      quadword_signed
     | 
    
      SYSTEM.UNSIGNED_QUADWORD
     | 
  
  
    | 
      quadword_unsigned
     | 
    
      SYSTEM.UNSIGNED_QUADWORD
     | 
  
  
    | 
      rights_holder
     | 
    
      STARLET.RIGHTS_HOLDER_TYPE
     | 
  
  
    | 
      rights_id
     | 
    
      STARLET.RIGHTS_ID_TYPE
     | 
  
  
    | 
      rab
     | 
    
      STARLET.RAB_TYPE
     | 
  
  
    | 
      section_id
     | 
    
      STARLET.SECTION_ID_TYPE
     | 
  
  
    | 
      section_name
     | 
    
      STARLET.SECTION_NAME_TYPE
     | 
  
  
    | 
      system_access_id
     | 
    
      STARLET.SYSTEM_ACCESS_ID_TYPE
     | 
  
  
    | 
      time_name
     | 
    
      STARLET.TIME_NAME_TYPE
     | 
  
  
    | 
      transaction_id
     | 
    
      array(1..4)
      of SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      uic
     | 
    
      STARLET.UIC_TYPE
     | 
  
  
    | 
      user_arg
     | 
    
      STARLET.USER_ARG_TYPE
     | 
  
  
    | 
      varying_arg
     | 
    
      SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      vector_byte_signed
     | 
    
      array(1..
      n)
      of STANDARD.SHORT_SHORT_INTEGER
     | 
  
  
    | 
      vector_byte_unsigned
     | 
    
      array(1..
      n)
      of SYSTEM.UNSIGNED_BYTE
     | 
  
  
    | 
      vector_longword_signed
     | 
    
      array(1..
      n)
      of STANDARD.INTEGER
     | 
  
  
    | 
      vector_longword_unsigned
     | 
    
      array(1..
      n)
      of SYSTEM.UNSIGNED_LONGWORD
     | 
  
  
    | 
      vector_quadword_signed
     | 
    
      array(1..
      n)
      of SYSTEM.UNSIGNED_QUADWORD
     | 
  
  
    | 
      vector_quadword_unsigned
     | 
    
      array(1..
      n)
      of SYSTEM.UNSIGNED_QUADWORD
     | 
  
  
    | 
      vector_word_signed
     | 
    
      array(1..
      n)
      of STANDARD.SHORT_INTEGER
     | 
  
  
    | 
      vector_word_unsigned
     | 
    
      array(1..
      n)
      of SYSTEM.UNSIGNED_WORD
     | 
  
  
    | 
      word_signed
     | 
    
      STANDARD.SHORT_INTEGER
     | 
  
  
    | 
      word_unsigned
     | 
    
      SYSTEM.UNSIGNED_WORD
     | 
  
  Table E-4 BASIC Implementations
  
    | OpenVMS Data Type  | 
    BASIC Declarations  | 
  
  
    | 
      access_bit_names
     | 
    
      na
     | 
  
  
    | 
      access_mode
     | 
    
      BYTE (signed)
     | 
  
  
    | 
      address
     | 
    
      LONG
     | 
  
  
    | 
      address_range
     | 
    
      LONG address_range (1)
        or
        RECORD address_range
        LONG beginning_address
        LONG ending_address
        END RECORD
     | 
  
  
    | 
      arg_list
     | 
    
      na
     | 
  
  
    | 
      ast_procedure
     | 
    
      EXTERNAL LONG ast_proc
     | 
  
  
    | 
      boolean
     | 
    
      LONG
     | 
  
  
    | 
      byte_signed
     | 
    
      BYTE
     | 
  
  
    | 
      byte_unsigned
     | 
    
      BYTE
      1
     | 
  
  
    | 
      channel
     | 
    
      WORD
     | 
  
  
    | 
      char_string
     | 
    
      STRING
     | 
  
  
    | 
      complex_number
     | 
    
      RECORD complex
        REAL real_part
        REAL imaginary_part
        END RECORD
     | 
  
  
    | 
      cond_value
     | 
    
      LONG
     | 
  
  
    | 
      context
     | 
    
      LONG
     | 
  
  
    | 
      date_time
     | 
    
      RECORD date_time
        LONG FILL (2)
        END RECORD
     | 
  
  
    | 
      device_name
     | 
    
      STRING
     | 
  
  
    | 
      ef_cluster_name
     | 
    
      STRING
     | 
  
  
    | 
      ef_number
     | 
    
      LONG
     | 
  
  
    | 
      exit_handler_block
     | 
    
      RECORD EHCB
        LONG flink
        LONG handler_addr
        BYTE arg_count
        BYTE FILL (3)
        LONG status_value_addr
        END RECORD
     | 
  
  
    | 
      fab
     | 
    
      na
     | 
  
  
    | 
      file_protection
     | 
    
      LONG
     | 
  
  
    | 
      floating_point
     | 
    
      SINGLE
        DOUBLE
        GFLOAT
        HFLOAT
     | 
  
  
    | 
      function_code
     | 
    
      RECORD function-code
        WORD major-function
        WORD subfunction
        END RECORD
     | 
  
  
    | 
      identifier
     | 
    
      LONG
     | 
  
  
    | 
      io_status_block
     | 
    
      RECORD iosb
        WORD iosb-field (3)
        END RECORD
     | 
  
  
    | 
      item_list_2
     | 
    
      RECORD item_list_two
        GROUP item(15)
        VARIANT
        CASE
        WORD comp_length
        WORD code
        LONG comp_address
        CASE
        LONG terminator
        END VARIANT
        END GROUP
        END RECORD
     | 
  
  
    | 
      item_list_3
     | 
    
      RECORD item_list_3
        GROUP item (15)
        VARIANT
        CASE
        WORD buf_len
        WORD code
        LONG buffer_address
        LONG length_address
        CASE
        LONG terminator
        END VARIANT
        END GROUP
        END RECORD
     | 
  
  
    | 
      item_list_pair
     | 
    
      RECORD item_list_pair
        GROUP item (15)
        VARIANT
        CASE
        LONG code
        LONG value
        CASE
        LONG terminator
        END VARIANT
        END GROUP
        END RECORD item_list_pair
     | 
  
  
    | 
      item_quota_list
     | 
    
      RECORD item_quota_list
        GROUP quota (
      n)
        VARIANT
        CASE
        BYTE quota_name
        LONG value
        CASE
        BYTE list_end
        END VARIANT
        END GROUP
        END RECORD
     | 
  
  
    | 
      lock_id
     | 
    
      LONG
     | 
  
  
    | 
      lock_status_block
     | 
    
      na
     | 
  
  
    | 
      lock_value_block
     | 
    
      na
     | 
  
  
    | 
      logical_name
     | 
    
      STRING
     | 
  
  
    | 
      longword_signed
     | 
    
      LONG
     | 
  
  
    | 
      longword_unsigned
     | 
    
      LONG
      1
     | 
  
  
    | 
      mask_byte
     | 
    
      BYTE
     | 
  
  
    | 
      mask_longword
     | 
    
      LONG
     | 
  
  
    | 
      mask_quadword
     | 
    
      RECORD quadword
        LONG FILL (2)
        END RECORD
      1
     | 
  
  
    | 
      mask_word
     | 
    
      WORD
     | 
  
  
    | 
      null_arg
     | 
    
      A null argument is indicated by a comma used as a placeholder in the
      argument list.
     | 
  
  
    | 
      octaword_signed
     | 
    
      na
     | 
  
  
    | 
      octaword_unsigned
     | 
    
      na
     | 
  
  
    | 
      page_protection
     | 
    
      LONG
     | 
  
  
    | 
      procedure
     | 
    
      EXTERNAL LONG proc
     | 
  
  
    | 
      process_id
     | 
    
      LONG
     | 
  
  
    | 
      process_name
     | 
    
      STRING
     | 
  
  
    | 
      quadword_signed
     | 
    
      RECORD quadword
        LONG FILL (2)
        END RECORD
     | 
  
  
    | 
      quadword_unsigned
     | 
    
      RECORD quadword
        LONG FILL (2)
        END RECORD
      1
     | 
  
  
    | 
      rights_holder
     | 
    
      RECORD quadword
        LONG FILL (2)
        END RECORD
      1
     | 
  
  
    | 
      rights_id
     | 
    
      LONG
     | 
  
  
    | 
      rab
     | 
    
      na
     | 
  
  
    | 
      section_id
     | 
    
      RECORD quadword
        LONG FILL (2)
        END RECORD
      1
     | 
  
  
    | 
      section_name
     | 
    
      STRING
     | 
  
  
    | 
      system_access_id
     | 
    
      RECORD quadword
        LONG FILL (2)
        END RECORD
      1
     | 
  
  
    | 
      time_name
     | 
    
      STRING
     | 
  
  
    | 
      transaction_id
     | 
    
      na
     | 
  
  
    | 
      uic
     | 
    
      LONG
     | 
  
  
    | 
      user_arg
     | 
    
      LONG
     | 
  
  
    | 
      varying_arg
     | 
    
      Depends on the application.
     | 
  
  
    | 
      vector_byte_signed
     | 
    
      BYTE array
      n
     | 
  
  
    | 
      vector_byte_unsigned
     | 
    
      BYTE array
      n
      1
     | 
  
  
    | 
      vector_longword_signed
     | 
    
      LONG array
      n
     | 
  
  
    | 
      vector_longword_unsigned
     | 
    
      LONG array
      n
      1
     | 
  
  
    | 
      vector_quadword_signed
     | 
    
      na
     | 
  
  
    | 
      vector_quadword_unsigned
     | 
    
      na
     | 
  
  
    | 
      vector_word_signed
     | 
    
      WORD array
      n
     | 
  
  
    | 
      vector_word_unsigned
     | 
    
      WORD array
      n
      1
     | 
  
  
    | 
      word_signed
     | 
    
      WORD
     | 
  
  
    | 
      word_unsigned
     | 
    
      WORD
      1
     |