
{
{  PURPOSE:
{     The purpose of the NAT$GT_CONNECTION is to describe an open Generic transport
{     connection in a system.
{
{  DESIGN:
{     The structure resides in the network paged segment accessible to all tasks.
{     Access to all open conections is controlled via Connection Layer connection manager
{     services.
{

  TYPE
    nat$gt_connection_state = (nac$gt_closed, nac$gt_connect_request_sent, nac$gt_accept_received,
          nac$gt_connect_request_received, nac$gt_connect_req_delivered, nac$gt_open, nac$gt_peer_reject,
          nac$gt_peer_disconnect, nac$gt_connection_failed),

    nat$gt_connection_states = set of nat$gt_connection_state,

    nat$gt_connection = record
      state: nat$gt_connection_state,
      external_connection_id: nat$gt_connection_id,
      sap_id: nat$gt_sap_identifier,
      undelivered_message_buffers: integer,
      timer: nlt$timer,
      event_queue: nat$gt_event_queue,
      sender_request: nat$gt_sender_request,
      receiver_request: nat$gt_receiver_request,
    recend,

    nat$gt_sender_request = record
      activity_status: ^ost$activity_status,
      end_of_message: boolean,
      remaining_bytes_to_send: nat$data_length,
      application_buffer: nat$gt_application_buffer,
    recend,

    nat$gt_receiver_request = record
      activity_status: ^ost$activity_status,
      application_event: ^nat$gt_event,
      delivered_data_length: nat$data_length,
      data_delivery_in_progress: boolean,
      remaining_buffer_capacity: nat$data_length,
      application_buffer: nat$gt_application_buffer,
    recend;

*copyc nat$data_fragments
*copyc nat$gt_application_buffer
*copyc nat$gt_event
*copyc nat$gt_event_queue
*copyc nat$gt_sap_identifier
*copyc nat$user_interface
*copyc nlt$cl_connection
*copyc nlt$timer
*copyc ost$activity_status
