
  TYPE
    jmt$timesharing_signal = record
      case boolean of
      = TRUE =
        signal: pmt$signal,

      = FALSE =
        signal_id: pmt$signal_id,
        signal_contents: jmt$timesharing_signal_contents,
      casend,
    recend;

  TYPE
    jmt$timesharing_signal_contents = record
      case signal_kind: jmt$timesharing_signal_kind of
      = jmc$timesharing_disconnect =
        disconnect: jmt$timesharing_disconnect,

      = jmc$timesharing_interrupt =
        interrupt: jmt$timesharing_interrupt,

      = jmc$timesharing_reconnect =
        reconnect: jmt$timesharing_reconnect,

      = jmc$timesharing_restart_tasks =
        restart_tasks: jmt$timesharing_restart_tasks,

      = jmc$timesharing_synchronize =
        synchronize: jmt$timesharing_synchronize,

      = jmc$timesharing_timeout =
        ,
      casend,
    recend;

  TYPE
    jmt$timesharing_signal_kind = (jmc$timesharing_disconnect,
          jmc$timesharing_interrupt, jmc$timesharing_reconnect,
          jmc$timesharing_restart_tasks, jmc$timesharing_synchronize,
          jmc$timesharing_timeout);

  TYPE
    jmt$timesharing_disconnect = record
      case disconnect_reason: jmt$ts_disconnect_reason of
      = jmc$ts_line_disconnect =
        ,
      = jmc$ts_attach_job =
        target_job_global_task_id: ost$global_task_id,
        target_job_system_supplied_name: jmt$system_supplied_name,
        target_job_mainframe_id: pmt$binary_mainframe_id,

      = jmc$ts_detach_job =
        ,
      = jmc$ts_system_disconnect =
        ,
      casend,
    recend;

  TYPE
    jmt$ts_disconnect_reason = (jmc$ts_line_disconnect, jmc$ts_attach_job,
          jmc$ts_detach_job, jmc$ts_system_disconnect);

  TYPE
    jmt$timesharing_interrupt = string (nac$se_max_interrupt_data_len);

  TYPE
    jmt$timesharing_restart_tasks = (jmc$ts_restart_child_tasks,
          jmc$ts_restart_jmtr_task);

  TYPE
    jmt$timesharing_reconnect = record
      system_supplied_job_name: jmt$system_supplied_name,
      paired_connection_reconnect: boolean,
    recend;

  TYPE
    jmt$timesharing_synchronize = string (nac$se_max_synch_data_length);

*copyc jmt$system_supplied_name
*copyc nat$se_interrupt_data_length
*copyc nat$se_synchronize_data_length
*copyc ost$global_task_id
*copyc pmt$binary_mainframe_id
*copyc pmt$signal
