
{
{  PURPOSE:
{     The purpose of the NAT$GT_JOB_CONNECTION is to describe an Generic transport connection
{     in a job.
{
{  DESIGN:
{     The structure resides in the job paged segment accessible to all tasks in a job.
{     Access to all open connections is controlled via a single signature lock (i.e., while
{     one connection is being accessed no other connection in the job can be accessed.
{

  TYPE
    nat$gt_job_connection = record
      connection_id: nat$gt_connection_id,
      sap_id: nat$gt_sap_identifier,
      next_connection: ^nat$gt_job_connection,
      CASE active: boolean OF
      = TRUE =
        active_connection_id: nlt$cl_connection_id,
      = FALSE =
        CASE termination_state: nac$gt_peer_reject .. nac$gt_connection_failed OF
        = nac$gt_peer_reject, nac$gt_peer_disconnect =
          data_length: nat$data_length,
          termination_event: nlt$ta_event,
        CASEND,
      CASEND,
    recend,

    nat$gt_job_connection_list = record
      lock: ost$signature_lock,
      connection_id_seed: nat$gt_connection_id,
      first_connection: ^nat$gt_job_connection,
    recend;

?? PUSH (LISTEXT := ON) ??
*copyc nat$data_fragments
*copyc nat$gt_connection
*copyc nat$gt_event
*copyc nat$gt_sap_identifier
*copyc nat$user_interface
*copyc nlt$cl_connection
*copyc nlt$ta_event
*copyc ost$signature_lock
?? POP ??
