aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/atn-cm/packet-atn-cm-template.c
diff options
context:
space:
mode:
authorJoão Valverde <joao.valverde@tecnico.ulisboa.pt>2016-03-09 03:17:51 +0000
committerJoão Valverde <j@v6e.pt>2016-03-13 21:30:24 +0000
commit54a520d4a1151c68d0b4e5f09a8d82466fa499f3 (patch)
tree7aacae160382098ce651ac862a5dfd5de4beff94 /asn1/atn-cm/packet-atn-cm-template.c
parentc1f3c935bdd33090c87f0d2f84842ce9729b747a (diff)
Move /asn1 to /epan/dissectors
Change-Id: I1208fe3c2ba428995526f561e8f792b8d871e9a9 Reviewed-on: https://code.wireshark.org/review/14388 Reviewed-by: Pascal Quantin <pascal.quantin@gmail.com> Petri-Dish: Pascal Quantin <pascal.quantin@gmail.com> Reviewed-by: João Valverde <j@v6e.pt>
Diffstat (limited to 'asn1/atn-cm/packet-atn-cm-template.c')
-rw-r--r--asn1/atn-cm/packet-atn-cm-template.c244
1 files changed, 0 insertions, 244 deletions
diff --git a/asn1/atn-cm/packet-atn-cm-template.c b/asn1/atn-cm/packet-atn-cm-template.c
deleted file mode 100644
index 5dc966e69c..0000000000
--- a/asn1/atn-cm/packet-atn-cm-template.c
+++ /dev/null
@@ -1,244 +0,0 @@
-/* packet-atn-cm.c
- * By Mathias Guettler <guettler@web.de>
- * Copyright 2013
- *
- * Routines for ATN context management protocol packet disassembly.
- * ATN context management allows an aircraft
- * to log on to a ground facility.
-
- * details see:
- * http://en.wikipedia.org/wiki/CPDLC
- * http://members.optusnet.com.au/~cjr/introduction.htm
-
- * standards:
- * http://legacy.icao.int/anb/panels/acp/repository.cfm
-
- * note:
- * We are dealing with ATN/CPDLC aka ICAO Doc 9705 Ed2 here
- * (CPDLC may also be transmitted via ACARS/AOA aka "FANS-1/A ").
-
-
- * Wireshark - Network traffic analyzer
- * By Gerald Combs <gerald@wireshark.org>
- * Copyright 1998 Gerald Combs
- *
- * This program is free software; you can redistribute it and/or
- * modify it under the terms of the GNU General Public License
- * as published by the Free Software Foundation; either version 2
- * of the License, or (at your option) any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
- */
-
-#include "config.h"
-
-#include <epan/packet.h>
-#include <epan/exceptions.h>
-#include <epan/conversation.h>
-#include "packet-ber.h"
-#include "packet-per.h"
-#include "packet-atn-ulcs.h"
-
-#define ATN_CM_PROTO "ICAO Doc9705 CM"
-
-void proto_register_atn_cm(void);
-void proto_reg_handoff_atn_cm(void);
-
-#include "packet-atn-cm-hf.c"
-
-#include "packet-atn-cm-ett.c"
-static gint ett_atn_cm = -1;
-
-#include "packet-atn-cm-fn.c"
-static int proto_atn_cm = -1;
-
-static int
-dissect_atn_cm(
- tvbuff_t *tvb,
- packet_info *pinfo,
- proto_tree *tree,
- void *data _U_)
-{
- int type;
- proto_tree *sub_tree;
-
- sub_tree = proto_tree_add_subtree(
- tree, tvb, 0, -1, ett_atn_cm, NULL, ATN_CM_PROTO);
-
- /* ti = proto_tree_add_item(tree, proto_atn_cm, tvb, 0, 0 , ENC_NA); */
- /* sub_tree = proto_item_add_subtree(ti, ett_atn_cm_pdu); */
-
- /* determine whether it is uplink or downlink */
- type = check_heur_msg_type(pinfo);
-
- switch(type){
- case um:
- dissect_CMGroundMessage_PDU(
- tvb,
- pinfo,
- sub_tree, NULL);
- break;
- case dm:
- dissect_CMAircraftMessage_PDU(
- tvb,
- pinfo,
- sub_tree, NULL);
- break;
- default:
- break;
- }
- return tvb_reported_length_remaining(tvb, 0);
-}
-
-static gboolean
-dissect_atn_cm_heur(
- tvbuff_t *tvb,
- packet_info *pinfo,
- proto_tree *tree,
- void *data _U_)
-{
- atn_conversation_t *volatile atn_cv = NULL;
- volatile gboolean is_atn_cm = FALSE;
- int type;
-
- /* determine whether it is uplink or downlink */
- type = check_heur_msg_type(pinfo);
-
- /* heuristically decode message */
- switch(type){
- case um:
- TRY {
- dissect_CMGroundMessage_PDU(
- tvb,
- pinfo,
- NULL, NULL);
- /* no exception thrown: looks like it is a CM PDU */
- is_atn_cm = TRUE; }
- CATCH_ALL {
- is_atn_cm = FALSE; }
- ENDTRY;
- break;
- case dm:
- TRY {
- dissect_CMAircraftMessage_PDU(
- tvb,
- pinfo,
- NULL, NULL);
- /* no exception thrown: looks like it is a CM PDU */
- is_atn_cm = TRUE;}
- CATCH_ALL {
- is_atn_cm = FALSE; }
- ENDTRY;
- break;
- default:
- break;
- }
-
- if (is_atn_cm == TRUE) {
- /* note: */
- /* all subsequent PDU's belonging to this conversation are considered CM */
- /* if the first CM PDU has been decoded successfully */
- /* (This is done in "atn-ulcs" by using "call_dissector_with_data()") */
-
- /* DT: dstref present, srcref is always zero */
- if((pinfo->clnp_dstref) &&
- (!pinfo->clnp_srcref)){
-
- atn_cv = find_atn_conversation(
- &pinfo->dst,
- pinfo->clnp_dstref,
- &pinfo->src );
- }
- /* CR: srcref present, dstref is always zero */
- if((!pinfo->clnp_dstref) &&
- (pinfo->clnp_srcref)){
-
- atn_cv = find_atn_conversation(
- &pinfo->src,
- pinfo->clnp_srcref,
- &pinfo->dst );
-
- }
- /* CC: srcref and dstref present */
- if((pinfo->clnp_dstref) &&
- (pinfo->clnp_srcref)){
- atn_cv = find_atn_conversation(
- &pinfo->src,
- pinfo->clnp_srcref,
- &pinfo->dst );
- }
- if(atn_cv){
- atn_cv->ae_qualifier = cma;
- }
- dissect_atn_cm(
- tvb,
- pinfo,
- tree,
- NULL);
- }
-
- return is_atn_cm;
-}
-
-
-void proto_register_atn_cm (void)
-{
- static hf_register_info hf_atn_cm[] = {
- #include "packet-atn-cm-hfarr.c"
- };
- static gint *ett[] = {
- #include "packet-atn-cm-ettarr.c"
- &ett_atn_cm
- };
-
- /* register CM application */
- proto_atn_cm = proto_register_protocol(
- ATN_CM_PROTO ,
- "ATN-CM",
- "atn-cm");
-
- proto_register_field_array(
- proto_atn_cm,
- hf_atn_cm,
- array_length(hf_atn_cm));
-
- proto_register_subtree_array(
- ett,
- array_length(ett));
-
- register_dissector(
- "atn-cm",
- dissect_atn_cm,
- proto_atn_cm);
-}
-
-void proto_reg_handoff_atn_cm(void)
-{
- /* add session dissector to subdissector list*/
- heur_dissector_add(
- "atn-ulcs",
- dissect_atn_cm_heur,
- "ATN-CM over ATN-ULCS",
- "atn-cm-ulcs",
- proto_atn_cm, HEURISTIC_ENABLE);
-}
-
-/*
- * Editor modelines - http://www.wireshark.org/tools/modelines.html
- *
- * Local variables:
- * c-basic-offset: 4
- * tab-width: 8
- * indent-tabs-mode: nil
- * End:
- *
- * vi: set shiftwidth=4 tabstop=8 expandtab:
- * :indentSize=4:tabSize=8:noTabs=true:
- */