[next] [previous] [contents]

  Table 20-4: OpenVMS Usages



  OpenVMS Usage BASIC Implementation

  access_bit_names Not applicable (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 FUNCTION ast_proc

                                                                                              1
  boolean LONG
  byte_signed BYTE
  byte_unsigned BYTE

                                                  2
  channel WORD
  char_string STRING
  complex_number RECORD complex
                                                  REAL real_part
                                                  REAL imaginary_part
                                          END RECORD
  cond_value LONG
  context LONG
  date_time BASIC$QUADWORD

                                                                      3
  device_name STRING
  ef_cluster_name STRING



  1
    Use the LOC function to pass the address of an AST routine to a system service. Specify BY VALUE for the passing mecha-
  nism.
  2
    Although unsigned data structures are not directly supported in BASIC, you can substitute the signed equivalent provided you
  do not exceed the range of the signed data structure.
  3
    The definition of the RECORD structures are included in the BASIC system definitions text library. See
Section 20.4.4 for
  more information.

  OpenVMS Usage BASIC Implementation



  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(1 to 4)
                                          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


  OpenVMS Usage BASIC Implementation



  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 item_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 item_value
                                                      CASE
                                                        BYTE list_end
                                                      END VARIANT
                                                  END GROUP
                                          END RECORD
  lock_id LONG
  lock_status_block NA
  lock_value_block NA


  OpenVMS Usage BASIC Implementation



  logical_name STRING
  longword_signed LONG
  longword_unsigned LONG

                                                  2
  mask_byte BYTE
  mask_longword LONG
  mask_quadword BASIC$QUADWORD

                                                                      3
  mask_word WORD
  null_arg A null argument is indicated by a comma used as a placekeeper in the
                                          argument list.
  octaword_signed BASIC$OCTAWORD
  octaword_unsigned BASIC$OCTAWORD
  page_protection LONG
  procedure EXTERNAL LONG FUNCTION proc
  process_id LONG
  process_name STRING
  quadword_signed BASIC$QUADWORD

                                                                      3
  quadword_unsigned BASIC$QUADWORD

                                                                      3
  rights_holder BASIC$QUADWORD

                                                                      3
  rights_id LONG
  rab NA
  section_id BASIC$QUADWORD

                                                                      3
  section_name STRING
  system_access_id BASIC$QUADWORD

                                                                      3
  time_name STRING
  uic LONG


  OpenVMS Usage BASIC Implementation




  2
    Although unsigned data structures are not directly supported in BASIC, you can substitute the signed equivalent provided you
  do not exceed the range of the signed data structure.
  3
    The definition of the RECORD structures are included in the BASIC system definitions text library. See
Section 20.4.4 for
  more information.

  OpenVMS Usage BASIC Implementation



  user_arg LONG
  varying_arg Dependent upon application.
  vector_byte_signed BYTE array(n)
  vector_byte_unsigned BYTE array(n)

                                                              2
  vector_longword_signed LONG array(n)
  vector_longword_unsigned LONG array(n)

                                                              2
  vector_quadword_signed NA
  vector_quadword_unsigned NA
  vector_word_signed WORD array(n)
  vector_word_unsigned WORD array(n)

                                                              2
  word_signed WORD
  word_unsigned WORD

                                                    2



  2
    Although unsigned data structures are not directly supported in BASIC, you can substitute the signed equivalent provided you
  do not exceed the range of the signed data structure.