
  TYPE
    amt$get_item = record
      source {output} : amc$undefined_attribute .. amc$access_method_default,
      case key {input} : amt$file_attribute_keys of {output}
{}
{ The caller of amp$get_file_attributes must initialize the case selector (key)
{ of this variant record to identify the attribute whose value is}
{ desired. The source field of this record is initialized by}
{ amp$get_file_attributes. The value of source indicates whether}
{ the item sought was returned and how the value of the item became defined.}
{}
      = amc$access_mode =
        access_mode: pft$usage_selections,
      = amc$application_info =
        application_info: pft$application_info,
      = amc$block_type =
        block_type: amt$block_type,
      = amc$character_conversion =
        character_conversion: boolean,
      = amc$clear_space =
        clear_space: ost$clear_file_space,
      = amc$device_class =
        device_class: rmt$device_class,
      = amc$error_exit_name =
        error_exit_name: pmt$program_name,
      = amc$error_options =
        error_options: amt$tape_error_options,
      = amc$file_access_procedure =
        file_access_procedure: pmt$program_name,
      = amc$file_contents =
        file_contents: amt$file_contents,
      = amc$file_length =
        file_length: amt$file_length,
      = amc$file_limit =
        file_limit: amt$file_limit,
      = amc$file_organization =
        file_organization: amt$file_organization,
      = amc$file_processor =
        file_processor: amt$file_processor,
      = amc$file_structure =
        file_structure: amt$file_structure,
      = amc$forced_write =
        forced_write: amt$forced_write,
      = amc$global_access_mode =
        global_access_mode: pft$usage_selections,
      = amc$global_file_address =
        global_file_address: amt$file_byte_address,
      = amc$global_file_name =
        global_file_name: ost$binary_unique_name,
      = amc$global_file_position =
        global_file_position: amt$global_file_position,
      = amc$global_share_mode =
        global_share_mode: pft$share_selections,
      = amc$internal_code =
        internal_code: amt$internal_code,
      = amc$label_exit_name =
        label_exit_name: pmt$program_name,
      = amc$label_options =
        label_options: amt$label_options,
      = amc$label_type =
        label_type: amt$label_type,
      = amc$line_number =
        line_number: amt$line_number,
      = amc$max_block_length =
        max_block_length: amt$max_block_length,
      = amc$max_record_length =
        max_record_length: amt$max_record_length,
      = amc$min_block_length =
        min_block_length: amt$min_block_length,
      = amc$min_record_length =
        min_record_length: amt$min_record_length,
      = amc$null_attribute =
        ,
      = amc$open_position =
        open_position: amt$open_position,
      = amc$padding_character =
        padding_character: amt$padding_character,
      = amc$page_format =
        page_format: amt$page_format,
      = amc$page_length =
        page_length: amt$page_length,
      = amc$page_width =
        page_width: amt$page_width,
      = amc$permanent_file =
        permanent_file: boolean,
      = amc$preset_value =
        preset_value: amt$preset_value,
      = amc$private_read =
        private_read: boolean,
      = amc$record_delimiting_character =
        record_delimiting_character: char,
      = amc$record_type =
        record_type: amt$record_type,
      = amc$return_option =
        return_option: amt$return_option,
      = amc$ring_attributes =
        ring_attributes: amt$ring_attributes,
      = amc$shared_queue =
        shared_queue: ost$name,
      = amc$statement_identifier =
        statement_identifier: amt$statement_identifier,
      = amc$user_info =
        user_info: amt$user_info,
      = amc$vertical_print_density =
        vertical_print_density: amt$vertical_print_density,
{}
{ The following attributes are only used to describe files which}
{ are accessed with the Advanced Access Method (AAM). The}
{ documentation of the AAM attributes are found in the AAM ERS.}
{}
      = amc$average_record_length =
        average_record_length: amt$average_record_length,
      = amc$collate_table_name =
        collate_table_name: pmt$program_name,
      = amc$compression_procedure_name =
        compression_procedure_name: {input,output}
              ^amt$compression_procedure_name,
      = amc$data_padding =
        data_padding: amt$data_padding,
      = amc$dynamic_home_block_space =
        dynamic_home_block_space: amt$dynamic_home_block_space,
      = amc$embedded_key =
        embedded_key: boolean,
      = amc$error_limit =
        error_limit: amt$error_limit,
      = amc$estimated_record_count =
        estimated_record_count: amt$estimated_record_count,
      = amc$hashing_procedure_name =
        hashing_procedure_name: {input,output} ^amt$hashing_procedure_name,
      = amc$index_levels =
        index_levels: amt$index_levels,
      = amc$index_padding =
        index_padding: amt$index_padding,
      = amc$initial_home_block_count =
        initial_home_block_count: amt$initial_home_block_count,
      = amc$key_length =
        key_length: amt$key_length,
      = amc$key_position =
        key_position: amt$key_position,
      = amc$key_type =
        key_type: amt$key_type,
      = amc$loading_factor =
        loading_factor: amt$loading_factor,
      = amc$lock_expiration_time =
        lock_expiration_time: amt$lock_expiration_time,
      = amc$logging_options =
        logging_options: amt$logging_options,
      = amc$log_residence =
        log_residence: {input,output} ^amt$log_residence,
      = amc$message_control =
        message_control: amt$message_control,
      = amc$record_limit =
        record_limit: amt$record_limit,
      = amc$records_per_block =
        records_per_block: amt$records_per_block,
      casend
    recend;

*copyc amc$mau_length
*copyc osd$unique_name
*copyc osd$virtual_address
*copyc amt$attribute_source
*copyc amt$average_record_length
*copyc amt$block_type
*copyc amt$collate_table
*copyc amt$collation_value
*copyc amt$compression_procedure_name
*copyc amt$data_padding
*copyc amt$dynamic_home_block_space
*copyc amt$error_exit_procedure
*copyc amt$error_limit
*copyc amt$estimated_record_count
*copyc amt$file_attribute_keys
*copyc amt$file_byte_address
*copyc amt$file_contents
*copyc amt$file_identifier
*copyc amt$file_length
*copyc amt$file_limit
*copyc amt$file_organization
*copyc amt$file_position
*copyc amt$file_processor
*copyc amt$file_structure
*copyc amt$forced_write
*copyc amt$global_file_position
*copyc amt$hashing_procedure_name
*copyc amt$index_levels
*copyc amt$index_padding
*copyc amt$initial_home_block_count
*copyc amt$internal_code
*copyc amt$key_length
*copyc amt$key_position
*copyc amt$key_type
*copyc amt$label_exit_procedure
*copyc amt$label_options
*copyc amt$label_type
*copyc amt$line_number
*copyc amt$loading_factor
*copyc amt$local_file_name
*copyc amt$lock_expiration_time
*copyc amt$log_residence
*copyc amt$logging_options
*copyc amt$max_block_length
*copyc amt$max_record_length
*copyc amt$message_control
*copyc amt$min_block_length
*copyc amt$min_record_length
*copyc amt$open_position
*copyc amt$padding_character
*copyc amt$page_format
*copyc amt$page_length
*copyc amt$page_width
*copyc amt$preset_value
*copyc amt$record_limit
*copyc amt$record_type
*copyc amt$records_per_block
*copyc amt$return_option
*copyc amt$ring_attributes
*copyc amt$statement_identifier
*copyc amt$tape_error_options
*copyc amt$user_info
*copyc amt$vertical_print_density
*copyc ost$binary_unique_name
*copyc ost$clear_file_space
*copyc ost$name
*copyc ost$status
*copyc pft$application_info
*copyc pft$share_selections
*copyc pft$usage_selections
*copyc pmt$program_name
*copyc rmt$device_class
