
{ This common deck describes the format of the Protocol Data Units sent and
{ received by the TCP Access Agent.

  TYPE
    nlt$tcpaa_pdu_length = 0 .. 0ffff(16),

    nlt$tcpaa_pdu_header = record
      length: nlt$tcpaa_pdu_length,
      kind: nlt$tcpaa_pdu_kind,
    recend,

{ Outgoing PDU formats.

    nlt$tcpaa_listen_request_pdu = record
      header: nlt$tcpaa_pdu_header,
      local_port: nat$sk_port_number,
      queue_limit: 0 .. 0ffff(16),
      source_port: nat$sk_port_number,
      ack_delay_time: nlt$sk_tcp_ack_delay_time,
      source_ip_address: nat$sk_ip_address,
    recend,

    nlt$tcpaa_release_request_pdu = record
      header: nlt$tcpaa_pdu_header,
      reason: nlt$tcpaa_release_req_reason,
    recend,

    nlt$tcpaa_connect_request_pdu = record
      header: nlt$tcpaa_pdu_header,
      source_port: nat$sk_port_number,
      destination_port: nat$sk_port_number,
      source_ip_address: nat$sk_ip_address,
      destination_ip_address: nat$sk_ip_address,
      ack_delay_time: nlt$sk_tcp_ack_delay_time,
      graceful_close: boolean,
      traffic_pattern: nat$sk_traffic_pattern,
    recend,

    nlt$tcpaa_accept_request_pdu = record
      header: nlt$tcpaa_pdu_header,
      graceful_close: boolean,
      traffic_pattern: nat$sk_traffic_pattern,
    recend,

    nlt$tcpaa_data_request_pdu = record
      header: nlt$tcpaa_pdu_header,
      urgent_data: boolean,
      push_data: boolean,
{ Variable sized user data follows.
    recend,

    nlt$tcpaa_set_options_req_pdu = record
      header: nlt$tcpaa_pdu_header,
      graceful_close: boolean,
      traffic_pattern: nat$sk_traffic_pattern,
      ack_delay_time: nlt$sk_tcp_ack_delay_time,
    recend,

    nlt$tcpaa_flush_release_req_pdu = record
      header: nlt$tcpaa_pdu_header,
    recend,

{ Incoming PDU formats.

    nlt$tcpaa_release_ind_pdu = record
      header: nlt$tcpaa_pdu_header,
      reason: nlt$tcpaa_release_ind_reason,
    recend,

    nlt$tcpaa_conn_confirm_ind_pdu = record
      header: nlt$tcpaa_pdu_header,
      local_port: nat$sk_port_number,
    recend,

    nlt$tcpaa_connect_ind_pdu = record
      header: nlt$tcpaa_pdu_header,
      destination_port: nat$sk_port_number,
      source_port: nat$sk_port_number,
      destination_ip_address: nat$sk_ip_address,
      source_ip_address: nat$sk_ip_address,
    recend,

    nlt$tcpaa_data_ind_pdu = record
      header: nlt$tcpaa_pdu_header,
      urgent_data: boolean,
      push_data: boolean,
{ Variable sized user data follows.
    recend,

    nlt$tcpaa_flush_release_ind_pdu = record
      header: nlt$tcpaa_pdu_header,
    recend;

*copyc nat$sk_ip_address
*copyc nat$sk_port_number
*copyc nat$sk_traffic_pattern
*copyc nlt$sk_tcp_ack_delay_time
*copyc nlt$tcpaa_pdu_kind
*copyc nlt$tcpaa_release_ind_reason
*copyc nlt$tcpaa_release_req_reason
