
{
{ dmt$file_medium_descriptor
{

  TYPE
    dmt$file_medium_descriptor = record
      in_use: boolean,
      system_file_id: gft$system_file_identifier,
      avt_index: dmt$active_volume_table_index,
      dfl_index: dmt$device_file_list_index,
      delete_logging_count: dmt$delete_logging_count,
      volume_assigned: boolean,
      fmd_allocated_length: amt$file_byte_address,
      bytes_per_mau: dmt$bytes_per_mau,
      daus_per_cylinder: dmt$daus_per_position,
      daus_per_allocation_unit: dmt$daus_per_allocation,
      internal_vsn: dmt$internal_vsn,
      maus_per_dau: dmt$maus_per_dau,
      maus_per_transfer_unit: dmt$maus_per_transfer,
      p_next_fmd: ^dmt$file_medium_descriptor,
      allocation_style: dmt$allocation_styles,
    recend;

  TYPE
    dmt$delete_logging_count = 0 .. 0ffff(16);

  TYPE
    dmt$fmd_attributes = record
      fmd_index: dmt$fmd_index,
      attributes: array [1 .. * ] of dmt$fmd_attribute,
    recend;

  TYPE
    dmt$fmd_attribute = record
      case keyword: dmt$file_attribute_keywords of
      = dmc$allocated_length =
        fmd_allocated_length: amt$file_byte_address,
      = dmc$device_file_list_index =
        device_file_list_index: dmt$device_file_list_index,
      = dmc$internal_vsn =
        internal_vsn: dmt$internal_vsn,
      = dmc$recorded_vsn =
        recorded_vsn: rmt$recorded_vsn,
      casend,
    recend;

  CONST
    dmc$max_fmd_attribute = 7;

*copyc amt$file_byte_address
*copyc dmt$allocation_size
*copyc dmt$active_volume_table_index
*copyc dmt$device_allocation_unit
*copyc dmt$device_file_list_index
*copyc dmt$fad_index
*copyc dmt$file_attributes
*copyc dmt$global_file_name
*copyc dmt$internal_vsn
*copyc dmt$minimum_allocation_unit
*copyc dmt$subfile_index
*copyc gft$system_file_identifier
*copyc rmd$volume_declarations
