
{Define types used for logging DUE errors in a circular buffer in 180 monitor.

  CONST
    mtc$due_log_entry_count = 4;


  TYPE

    mtt$due_log_entries = 0 .. mtc$due_log_entry_count,

    mtt$due_log = RECORD
      lock: ALIGNED [0 MOD 8] mtt$monitor_lock,
      header: ALIGNED [0 MOD 8] string(7),
      next_i: mtt$due_log_entries,
      total_due_count: ALIGNED [0 MOD 8] ARRAY [mtt$due_state] of PACKED ARRAY [boolean {damaged}] of
            ost$parcel,
      dues: ALIGNED [0 MOD 8] ARRAY [1 .. mtc$due_log_entry_count] of mtt$due_log_entry,
    RECEND,

    mtt$due_log_entry = RECORD
      due_state: mtt$due_state,
      process_damaged: boolean,
      task_id: ost$global_task_id,
      time: ALIGNED [0 MOD 8] ost$free_running_clock,
      xp: ost$exchange_package,
      fill2: integer,
      fill3: integer,
    RECEND;

*copyc mtt$monitor_lock
*copyc OST$HARDWARE_SUBRANGES
*copyc OST$EXCHANGE_PACKAGE
*copyc OST$GLOBAL_TASK_ID
