
{ This common deck describes the format of the Protocol Data Units
{ (PDU) received and sent by Network Access Agent (NAA).

  CONST
    nlc$na_outgoing_pdu_base = 300(16),
    nlc$na_incoming_pdu_base = 380(16),

{ Incoming PDU kinds.

    nlc$na_open_sap_confirm = nlc$na_incoming_pdu_base + 0,
    nlc$na_open_sap_reject = nlc$na_incoming_pdu_base + 1,
    nlc$na_close_sap_indication = nlc$na_incoming_pdu_base + 2,
    nlc$na_data_indication = nlc$na_incoming_pdu_base + 4,

{ Outgoing PDU kinds.

    nlc$na_open_sap_request = nlc$na_outgoing_pdu_base + 0,
    nlc$na_close_sap_request = nlc$na_outgoing_pdu_base + 1,
    nlc$na_data_request = nlc$na_outgoing_pdu_base + 2;

  TYPE
    nlt$na_pdu_kind = 0 .. 0ffff(16),
    nlt$na_pdu_length = 0 .. 0ffff(16),
    nlt$na_pdu_header = record
      length: nlt$na_pdu_length,
      kind: nlt$na_pdu_kind,
    recend,

    nlt$na_close_sap_request = record
      header: nlt$na_pdu_header,
      reason: nlt$na_disconnect_reason,
    recend,

    nlt$na_data_indication_fixed = record
      header: nlt$na_pdu_header,
      priority: nlt$na_priority,
      source_address_length: nat$osi_network_address_length,
{ The folowing fields follow the fixed information.
{     source_address: nat$osi_network_address,
{     user data
    recend,

    nlt$na_data_request_fixed = record
      header: nlt$na_pdu_header,
      priority: nlt$na_priority,
      destination_address_length: nat$osi_network_address_length,
{ The following fields follow the fixed information.
{     destination_address: nat$osi_network_address,
{     user data.
    recend,

    nlt$na_disconnect_indication = record
      header: nlt$na_pdu_header,
      reason: nlt$na_disconnect_reason,
    recend,

    nlt$na_open_sap_request = record
      header: nlt$na_pdu_header,
      network_selector: nat$network_selector,
    recend;

*copyc nat$network_selector
*copyc nat$osi_network_address
*copyc nlt$na_disconnect_reason
*copyc nlt$na_priority
