
  TYPE
    pmt$task_control_block = record
      task_id: pmt$task_id,
      parent: ^pmt$task_control_block,
      first_child: ^pmt$task_control_block,
      next_sibling: ^pmt$task_control_block,
      target_ring: ost$ring,
      condition_environment_stack: ^pmt$condition_environment,
      flag_execution_ring: array [ost$system_flag] of
            tmt$handler_execution_ring,
      signal_execution_ring: array [tmt$signal_buffers] of
            tmt$handler_execution_ring,
      task_local_signal_list: tmt$task_local_signal_list,
      task_kill_count: pmt$task_kill_count,
      task_kill_phase: pmt$task_execution_phase,
      case task_kind: ost$task_kind of
      = osc$tk_nosve_task =
        nosve: pmt$nosve_task_controls,
      = osc$tk_unix_task =
        unix: pmt$unix_task_controls,
      casend,
    recend;

  TYPE
    pmt$nosve_task_controls = record
      program_description: ^pmt$program_description,
      mpe_description: ^pmt$loader_description,
      program_parameters: ^pmt$program_parameters,
      termination_status: ^ost$status,
      parent_task_status_variable: ^pmt$task_status,
      debug_table: ^pmt$debug_table_info,
      debug_input: amt$local_file_name,
      debug_output: amt$local_file_name,
      abort_file: amt$local_file_name,
      initial_debug_mode: pmt$debug_mode,
      cl_task: boolean,
      ada_shared_stack_pointer: mmt$segment_pointer,
      ada_critical_frame: ^pmt$os_stack_frame_word,
      ada_starting_procedure: pmt$user_program,
      ada_task_table: ^pmt$ada_task_table,
      task_condition_count: pmt$ts_task_condition_count,
      task_handler_count: pmt$ts_task_handler_count,
      task_io_enabled: boolean,
    recend,

    pmt$ada_task_table = record
      current_entry: pmt$max_number_of_tasks,
      table: array [ * ] of pmt$task_id,
    recend;

TYPE
  pmt$unix_task_controls = record
    kernel_termination_complete: boolean,
    return_sfsa_address: ^ost$minimum_save_area,
    scl_booted: boolean,
    task_termination_action: pmt$task_termination_action,
    unix_parent_task_gtid: ost$global_task_id,
  recend;

*copyc amt$local_file_name
*copyc dbt$entry_point_table
*copyc dbt$module_address_table_item
*copyc mmt$attribute_keyword
*copyc osd$virtual_address
*copyc ost$global_task_id
*copyc ost$stack_frame_save_area
*copyc ost$status
*copyc ost$system_flag
*copyc ost$task_kind
*copyc pmt$condition_environment
*copyc pmt$debug_mode
*copyc pmt$debug_table_info
*copyc pmt$loader_seq_descriptor
*copyc pmt$max_number_of_tasks
*copyc pmt$os_stack_frame_word
*copyc pmt$program_description
*copyc pmt$program_parameters
*copyc pmt$task_execution_phase
*copyc pmt$task_id
*copyc pmt$task_kill_count
*copyc pmt$task_status
*copyc pmt$task_termination_action
*copyc pmt$ts_task_condition_count
*copyc pmt$ts_task_handler_count
*copyc pmt$user_program
*copyc tmt$handler_execution_ring
*copyc tmt$signal_buffers
*copyc tmt$task_local_signal_list
