 TYPE
    cmt$wired_unit_queue_request = record
      address_word_pair_count: ALIGNED [0 MOD 512] 0 ..
        mmc$max_rma_list_length,
      io_identification: cmt$subsystem_io_request_id,
      task_id: ost$global_task_id,
      number_of_commands: cmt$command_index,
      unit_queuing_control: cmt$unit_queuing_options,
      number_of_data_descriptors: cmt$command_index,
      task_is_to_be_readied: boolean,
      response_area_p: ^cmt$subsys_io_response_area,
      wired_command_heap_p: ^cmt$subsystem_command_heap,
      wired_pp_response_p: ^cmt$collected_pp_response,
      wired_data_command_descript_p: ^cmt$wired_data_descriptors,
      monitor_request_block_p: ^iot$monitor_request_block,
      wired_io_request_p: ^iot$io_request,
      request: ALIGNED [0 MOD 8] cmt$pp_request,
    recend;

  TYPE
    cmt$max_wired_unit_queue_req = record
      address_word_pair_count: ALIGNED [0 MOD 512] 0 ..
        mmc$max_rma_list_length,
      io_identification: cmt$subsystem_io_request_id,
      task_id: ost$global_task_id,
      number_of_commands: cmt$command_index,
      unit_queuing_control: cmt$unit_queuing_options,
      number_of_data_descriptors: cmt$command_index,
      task_is_to_be_readied: boolean,
      response_area_p: ^cmt$subsys_io_response_area,
      wired_command_heap_p: ^cmt$subsystem_command_heap,
      wired_pp_response_p: ^cmt$collected_pp_response,
      wired_data_command_descript_p: ^cmt$wired_data_descriptors,
      monitor_request_block_p: ^iot$monitor_request_block,
      wired_io_request_p: ^iot$io_request,
      request: ALIGNED [0 MOD 8] cmt$max_pp_request,
    recend;

   TYPE
      cmt$wired_data_descriptor = RECORD
                  command_index: cmt$command_index,
                  rma_list_index: 0 .. mmc$max_rma_list_length,
                  data_descriptor_index: cmt$command_index,
                  io_direction: cmt$io_direction,
                  lock_data_pages: boolean,
                  length: cmt$data_descriptor_length,
                  address: ^cell,
                                  RECEND,
      cmt$wired_data_descriptors = array [1 .. *] of cmt$wired_data_descriptor,
      cmt$wired_descriptor_area = RECORD
                        data_area: ALIGNED [0 MOD 1024] SEQ (*),
                                  RECEND;

 TYPE
    cmt$pp_request = packed record
      fill1: ALIGNED [0 MOD 8] 0 .. 0ffff(16),
      next_pp_request: ^iot$io_request,
      fill2: 0 .. 0ffffffff(16),
      next_pp_request_rma: ost$real_memory_address,
      request_length: iot$pp_request_length,
      logical_unit: iot$logical_unit,
      recovery: iot$request_recovery,
      interrupt: iot$interrupt,
      priority: iot$priority,
      alert_mask: iot$alert_conditions,
      current_command_index: ALIGNED [0 MOD 8] 0 .. cmc$max_command_index,
      fill3: 0 .. 0FFFFFFFFFFFFFF(16),
      commands: ALIGNED [0 MOD 8] array [1 .. * ] of iot$command,
    recend;

  TYPE
    cmt$max_pp_request = packed record
      fill1: ALIGNED [0 MOD 8] 0 .. 0ffff(16),
      next_pp_request: ^iot$io_request,
      fill2: 0 .. 0ffffffff(16),
      next_pp_request_rma: ost$real_memory_address,
      request_length: iot$pp_request_length,
      logical_unit: iot$logical_unit,
      recovery: iot$request_recovery,
      interrupt: iot$interrupt,
      priority: iot$priority,
      alert_mask: iot$alert_conditions,
      current_command_index: ALIGNED [0 MOD 8] 0 .. cmc$max_command_index,
      fill3: 0 .. 0FFFFFFFFFFFFFF(16),
      commands: ALIGNED [0 MOD 8] array [1 .. cmc$max_command_index] of
        iot$command,
    recend;

?? PUSH (LISTEXT := ON) ??
*copyc iot$request_lengths
*copyc cmt$subsystem_io_request_id
*copyc mmt$rma_list
*copyc cmt$subsys_io_response_area
*copyc iot$monitor_request_block
*copyc cmt$os_subsystem_response
*copyc cmt$data_command_descriptors
*copyc cmt$subsystem_command_heap
*copyc cmt$unit_queuing_options
?? POP ??
