 CONST
    ioc$min_request_length = 5 * 8,
    ioc$command_count = 3;

  TYPE
    iot$disk_request = record
      request_index: ALIGNED [0 MOD 8] iot$request_index,
      link: ALIGNED [2 MOD 8] ^iot$io_request,
      request_info: ALIGNED [0 MOD 8] iot$request_info,
      request: ALIGNED [0 MOD 8] iot$disk_pp_request,
    recend,

    iot$request_index = 0 .. ioc$request_heap_count,

    iot$request_info = record
      preset_value: ALIGNED [0 MOD 8] amt$preset_value,
      command_index: 0 .. ioc$command_heap_count,
      command_group_count: 0 .. ioc$command_map_count,
      list_length: 0 .. mmc$max_rma_list_length,
      io_function: iot$io_function,
      request_type: iot$io_request_type,
      job_id: jmt$ijl_ordinal,
      system_file_id: gft$system_file_identifier,
      byte_address: amt$file_byte_address,
      au_was_previously_written: boolean,
      list_p: ^mmt$rma_list,
      completion: ^iot$completion_status,
      next_track: iot$track,
      next_sector: iot$sector,
      data_maus: 0 .. dmc$max_maus_per_transfer,
      time: integer,
      io_identifier: mmt$io_identifier,
    recend,


    iot$disk_pp_request = packed record
      fill1: ALIGNED [0 MOD 8] 0 .. 0ffff(16),
      next_pp_request: ALIGNED [2 MOD 8] ^iot$io_request,
      fill2: 0 .. 0ffffffff(16),
      next_pp_request_rma: ost$real_memory_address,
      request_length: iot$request_length,
      logical_unit: iot$logical_unit,
      recovery: iot$request_recovery,
      interrupt: iot$interrupt,
      priority: iot$priority,
      alert_mask: iot$alert_conditions,
      pp_switch: boolean,
      fill5: 0 .. 7, { 1f(16),
      mau_count: 0 .. 0fff(16), { 3ff(16),
      cylinder: iot$cylinder,
      track: iot$track,
      sector: iot$sector,
      command: array [1 .. ioc$command_count] of iot$command,
    recend,


    iot$request_length = 0 .. 0ffff(16);

*copyc amt$file_byte_address
*copyc amt$preset_value
*copyc dmt$minimum_allocation_unit
*copyc gft$system_file_identifier
*copyc iot$alert_conditions
*copyc iot$command
*copyc iot$completion_status
*copyc iot$cylinder
*copyc iot$io_function
*copyc iot$io_request
*copyc iot$io_request_type
*copyc iot$logical_unit
*copyc iot$request_heap_map
*copyc iot$request_recovery
*copyc jmt$ijl_ordinal
*copyc mmt$io_identifier
*copyc mmt$rma_list
*copyc ost$hardware_subranges
*copyc rmt$device_class
