
  TYPE
    bat$tape_block_mgmt_descriptor = record
      sfid: gft$system_file_identifier,
      tape_has_write_ring: boolean,
      io_direction: bat$tape_io_direction,
      direct_io: boolean,
      max_block_length: amt$max_block_length,
      max_blocks_per_physical_call: iot$tape_block_count,
      buffer_segment: mmt$segment_pointer,
      non_data_io_status: iot$tape_io_status, { for debugging }
      system_media_recovery: boolean,
      fatal_write_error: boolean,
      fatal_write_failure_modes: amt$tape_failure_modes,
      inhibit_read_ahead: boolean,
      write_hit_end_of_tape_reflector: boolean,
      buffer_groups_in_use: bat$tape_buffer_group_index,
      buffer_group_size: bat$tape_block_buffer_index,
      buffer_reserved: boolean,
      physical_position: bat$tape_block_position,
      logical_position: bat$tape_block_position,
      buffer_group: array [bat$tape_buffer_group_index] of
            ^bat$tape_buffer_grp_descriptor,
    recend;

*copyc iot$tape_io_status
*copyc bat$tape_io_direction
*copyc gft$system_file_identifier
*copyc bat$tape_buffer_grp_descriptor
*copyc amt$max_block_length
*copyc bat$tape_block_position
*copyc bat$tape_buffer_group_index
*copyc mmt$attribute_keyword
