
{ This common deck contains the type declarations for the PTL.

  CONST
    tmc$initial_ptl_size = 255,
    tmc$maximum_ptl = 0ffff(16),
    tmc$ptl_increment = 256;



{Define Primary Task List (PTL)}

  TYPE
    tmt$primary_task_list_entry = record
      ptl_thread: ALIGNED [0 MOD 32] ost$task_index,
      sequence_number: 0 .. 255,
      xcb_offset: tmt$xcb_offset_size,
      ijl_ordinal: jmt$ijl_ordinal,
      status: tmt$task_status,
      new_task_status: tmt$task_status,
      idle_status: tmt$idle_status,
      queue_link: tmt$task_queue_link,
      monitor_flags: syt$monitor_flags,
      system_flags: tmt$system_flags,
      ptl_flags: tmt$ptl_flags,
      dispatching_priority: jmt$dispatching_priority,
      readying_task_priority: jmt$dispatching_priority,
      ijl_thread: ost$task_index,
      end_of_wait_time: 0 .. 0ffffffffffff(16),
    recend,

    tmt$primary_task_list = array [0 .. * ] of tmt$primary_task_list_entry,

    tmt$option = (tmc$opt_stop, tmc$opt_return),

    tmt$xcb_offset_size = 0 .. 0ffffff(16),

    tmt$ptl_flags = PACKED RECORD
       subsystem_locks_set: boolean,
       wait_inhibited: tmt$wait_inhibited,
    recend;

*copyc jmt$ijl_ordinal
*copyc jmt$dispatching_priority
*copyc SYT$MONITOR_FLAGS
*copyc OST$GLOBAL_TASK_ID
*copyc TMT$SYSTEM_FLAGS
*copyc TMT$TASK_QUEUE_LINK
*copyc TMT$TASK_STATUS
*copyc TMT$WAIT_INHIBITED

