
  TYPE
    amt$keyed_file_attribute = record
      returned {output} : boolean,
      case selector {input} : amt$file_attribute_keys of {output)

{}
{ The caller of amp$fetch_nested_file_attrib must }
{ initialize the tag field (selector) of this        }
{ variant record to identify the attribute whose     }
{ value is desired. The RETURNED field indicates     }
{ whether a valid value was found for the attribute. }
{}

{}
{ The following attributes pertain to all nested files. }
{}

      = amc$alternate_key_count =
        alternate_key_count: 0 .. 4294967295,
      = amc$alternate_key_information =
        altkey_block_count: 0 .. amc$file_byte_limit,
        altkey_creation_date: ost$date_time,
        altkey_parts_count: 0 .. 64,
      = amc$block_count =
        block_count: 0 .. amc$file_byte_limit,
      = amc$creation_date =
        creation_date: ost$date_time,
      = amc$collate_table_name =
        collate_table_name: pmt$program_name,
      = amc$collate_table =
        collate_table: amt$collate_table,
      = amc$compression_procedure_name =
        compression_procedure_name: ^amt$compression_procedure_name,
      = amc$embedded_key =
        embedded_key: boolean,
      = amc$file_organization =
        file_organization: amt$file_organization,
      = 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$max_record_length =
        max_record_length: amt$max_record_length,
      = amc$min_record_length =
        min_record_length: amt$min_record_length,
      = amc$null_attribute =
        ,
      = amc$record_count =
        record_count: 0 .. amc$file_byte_limit,
      = amc$record_type =
        record_type: amt$record_type,

{}
{ The following items are statistics maintained }
{ separately for each nested file. }
{}

      = amc$delete_count =
        delete_count: integer,
      = amc$get_count =
        get_count: integer,
      = amc$get_next_count =
        get_next_count: integer,
      = amc$open_count =
        open_count: integer,
      = amc$put_count =
        put_count: integer,
      = amc$putrep_count =
        putrep_count: integer,
      = amc$replace_count =
        replace_count: integer,

{}
{ The following attributes pertain only to indexed }
{ sequential nested files. }
{}

      = amc$data_padding =
        data_padding: amt$data_padding,
      = amc$index_levels =
        index_levels: amt$index_levels,
      = amc$index_level_overflow =
        index_level_overflow: boolean,
      = amc$index_padding =
        index_padding: amt$index_padding,
{}
{ The following attributes pertain only to direct }
{ access nested files. }
{}

      = amc$dynamic_home_block_space =
        dynamic_home_block_space: amt$dynamic_home_block_space,
      = amc$hashing_procedure_name =
        hashing_procedure_name: ^amt$hashing_procedure_name,
      = amc$home_block_count =
        home_block_count: amt$initial_home_block_count,
      = amc$loading_factor =
        loading_factor: amt$loading_factor,
      = amc$overflow_block_count =
        overflow_block_count: 0 .. amc$file_byte_limit,
      = amc$overflow_record_count =
        overflow_record_count: 0 .. amc$file_byte_limit,
      casend
    recend;

*copyc amt$collate_table
*copyc amt$compression_procedure_name
*copyc amt$data_padding
*copyc amt$dynamic_home_block_space
*copyc amt$file_attribute_keys
*copyc amt$file_organization
*copyc amt$hashing_procedure_name
*copyc amt$index_levels
*copyc amt$index_padding
*copyc amt$initial_home_block_count
*copyc amt$key_length
*copyc amt$key_name
*copyc amt$key_position
*copyc amt$key_type
*copyc amt$loading_factor
*copyc amt$max_record_length
*copyc amt$min_record_length
*copyc amt$record_type
*copyc ost$date_time
*copyc osd$virtual_address
*copyc pmt$program_name
