
  TYPE
    nat$gt_event_kind = (nac$gt_connect_event, nac$gt_accept_event,
      nac$gt_reject_event, nac$gt_data_event, nac$gt_expedited_data_event,
      nac$gt_disconnect_event),

    nat$gt_event = record
      case kind: nat$gt_event_kind of
      = nac$gt_connect_event =
        connect: nat$gt_connect_event,
      = nac$gt_accept_event =
        accept: nat$gt_accept_event,
      = nac$gt_reject_event =
        reject: nat$gt_reject_event,
      = nac$gt_data_event =
        data: nat$gt_data_event,
      = nac$gt_expedited_data_event =
        expedited_data: nat$gt_expedited_data_event,
      = nac$gt_disconnect_event =
        disconnect: nat$gt_disconnect_event,
      casend,
    recend,

    nat$gt_connect_event = record
      sap_id: nat$gt_sap_identifier,
      source: nat$gt_destination_address,
      checksum: boolean,
      connection: nat$gt_connection_id,
      data_length: nat$data_length,
      expedited_data: boolean,
    recend,

    nat$gt_accept_event = record
      checksum: boolean,
      data_length: nat$data_length,
      expedited_data: boolean,
    recend,

    nat$gt_reject_event = record
      data_length: nat$data_length,
    recend,

    nat$gt_disconnect_event = record
      case reason: nat$gt_disconnect_reason of
      = nac$gt_user_disconnect =
        data_length: nat$data_length,
      casend,
    recend,

    nat$gt_data_event = record
      data_length: nat$data_length,
      end_of_message: boolean,
    recend,

    nat$gt_expedited_data_event = record
      data_length: nat$data_length,
    recend;

*copyc nat$data_fragments
*copyc nat$gt_destination_address
*copyc nat$gt_interface
*copyc nat$gt_sap_identifier
*copyc nat$user_interface
