 CONST
    ioc$unit_commun_buffer_length = 64;

  TYPE
    iot$unit_interface_table = packed record
      logical_unit: ALIGNED [0 MOD 64] iot$logical_unit,
      unit_status: iot$unit_status,
      unit_type: iot$unit_type,
      queue_count: 0 .. 0ffff(16),
      unit_shared : boolean,
      fill1: 0 .. 7fff(16),
      unit_commun_buffer_length: iot$unit_commun_buffer_length,
      unit_communication_buffer_rma: ost$real_memory_address,
      unit_lockword: iot$lockword,
      unit_q_lockword: ALIGNED [0 MOD 8] iot$lockword,
      fill2: 0 .. 0ffff(16),
      next_request: ALIGNED [2 MOD 8] ^iot$io_request,
      last_word: ALIGNED [0 MOD 8] 0 .. 0ffffffff(16),
      next_request_rma: ALIGNED [4 MOD 8] ost$real_memory_address,
    recend,

    iot$unit_status = packed record
      disabled: boolean,
      force_format: boolean,
      parity_protection_enabled: boolean,
      restoring_drive: boolean,
      fill4: 0 .. 0f(16),
      off_line_drive_number: 0 .. 0ff(16),
    recend,

    iot$unit_communication_buffer = SEQ (REP ioc$unit_commun_buffer_length of
      ost$word),
    iot$unit_commun_buffer_template = record
      unit_communication_buffer: ALIGNED [0 MOD 512]
        iot$unit_communication_buffer,
    recend,
    iot$unit_commun_buffer_length = 0 .. 0ffff(16);

*copyc iot$logical_unit
*copyc ost$hardware_subranges
*copyc iot$lockword
*copyc iot$io_request
*copyc iot$unit_type
