{Declaration for the EXECUTION CONTROL BLOCK
{     *** If you add fields to this TYPE, make sure the constant in      ***
{     *** in SYA$CONSTANTS for XCBSIZE is >= actual size of this record  ***



  TYPE
    ost$execution_control_block = record
      xp: ALIGNED [0 MOD 416] ost$exchange_package,
      monitor_flags: syt$monitor_flags,
      processor_selections: ost$processor_id_set,
      requested_processor_selections: ost$processor_id_set,
      last_lpid_for_task: ost$processor_id,
{ End of fields referenced in assembly language
      system_task_id: tmt$system_task_id,
      critical_task: boolean,
      task_has_terminated: boolean,
      stlc_allocation: boolean,
      special_trap_count: 0 .. 0ff(16),
      global_task_id: ost$global_task_id,
      parent_global_task_id: ost$global_task_id,
      wait_inhibited: boolean,
      system_table_lock_count: ALIGNED [0 MOD 8] ost$cs_lock,
      system_flags: ALIGNED [0 MOD 8] tmt$system_flags,
      received_message_list: ALIGNED [0 MOD 8] nat$received_message_list,
      task_kind: ost$task_kind,
      task_is_terminating: boolean,
      task_has_been_rethreaded: boolean,
      system_give_up_cpu: boolean,
      subsystem_give_up_cpu: boolean,
      subsystem_lock_priority_count: 0 .. 0ff(16),
      dispatching_priority: jmt$dispatching_priority,
      dispatching_priority_bias_id: (jmc$dpb_positive, jmc$dpb_negative, jmc$dpb_absolute),
      dispatching_priority_bias: jmt$dispatching_priority,
      system_error_count: 0 .. 0ff(16),
      link: ^ost$execution_control_block,
      task_control_block: ^cell,
      task_id: pmt$task_id,
      stack_pages_saved: PACKED ARRAY [0 .. 15] of boolean,
      sdt_offset: ost$valid_relative_pointer,
      sdtx_offset: ost$valid_relative_pointer,
      pit_count: ost$free_running_clock,
      cp_time: ost$cp_time,
      page_wait_info: mmt$xcb_page_wait_info,
      timeslice: jmt$time_slice_values,
      relative_task_priority: 0 .. 255,
      ring1_termination_reason: ost$ring1_termination_reason,
      maxws_aio_slowdown: 0..0ffffff(16),
      monitor_faults: tmt$monitor_fault_buffer,
      signals: tmt$signal_buffer,
      paging_statistics: ost$paging_statistics,
      save9: string (31), { * * * currently used for task name * * * }
      iocb_p: ^cell,
      keypoint_enable: boolean,
      keypoint_register_enable: boolean,
      time_last_due: ost$cp_time_value,
      proc_malf_count: 0 .. 255,
      shadow_reference_info: mmt$shadow_reference_info,
      assign_active_sfid: gft$system_file_identifier
    recend;

*copyc gft$system_file_identifier
*copyc jmt$dispatching_priority
*copyc jmt$service_class_attributes
*copyc mmt$segment_descriptor_table
*copyc mmt$segment_descriptor_table_ex
*copyc mmt$shadow_reference_info
*copyc mmt$xcb_page_wait_info
*copyc nat$received_message_list
*copyc osd$conditions
*copyc osd$virtual_address
*copyc ost$cp_time
*copyc ost$exchange_package
*copyc ost$hardware_subranges
*copyc ost$name
*copyc ost$paging_statistics
*copyc ost$processor_id_set
*copyc ost$quantum
*copyc ost$ring1_termination_reason
*copyc ost$signature_lock
*copyc ost$task_id
*copyc ost$task_kind
*copyc pmt$task_id
*copyc syt$monitor_flags
*copyc tmt$monitor_fault_buffer
*copyc tmt$signal_buffer
*copyc tmt$system_flags
*copyc tmt$system_task_id
