Revert "TODO epan/dissectors/asn1/kerberos/packet-kerberos-template.c new GSS flags"
[wireshark-sm.git] / epan / dissectors / asn1 / charging_ase / packet-charging_ase-template.c
blob92556751150f66dbaa71f82bcd3f9d76666187ed
1 /* packet-charging_ase-template.c
2 * Copyright 2009 , Anders Broman <anders.broman [AT] ericsson.com>
4 * Wireshark - Network traffic analyzer
5 * By Gerald Combs <gerald@wireshark.org>
6 * Copyright 1998 Gerald Combs
8 * SPDX-License-Identifier: GPL-2.0-or-later
9 * References: ETSI ES 201 296 V1.3.1 (2003-04)
12 #include "config.h"
14 #include <epan/packet.h>
15 #include <epan/expert.h>
16 #include <epan/asn1.h>
17 #include <wsutil/array.h>
18 #include "packet-ber.h"
19 #include "packet-charging_ase.h"
21 #define PNAME "Charging ASE"
22 #define PSNAME "ChargingASE"
23 #define PFNAME "chargingase"
25 void proto_register_charging_ase(void);
26 void proto_reg_handoff_charging_ase(void);
28 /* Define the Charging ASE proto */
29 static int proto_charging_ase;
31 #include "packet-charging_ase-hf.c"
33 static int ett_charging_ase;
34 #include "packet-charging_ase-ett.c"
36 static expert_field ei_charging_ase_extensions_not_dissected;
38 static dissector_handle_t charging_ase_handle;
40 #include "packet-charging_ase-fn.c"
42 static int
43 dissect_charging_ase(tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree, void* data _U_)
45 proto_item *it;
46 proto_tree *tr;
48 it=proto_tree_add_protocol_format(tree, proto_charging_ase, tvb, 0, -1, "Charging ASE");
49 tr=proto_item_add_subtree(it, ett_charging_ase);
51 if(tvb_reported_length(tvb)>0)
53 dissect_charging_ase_ChargingMessageType_PDU(tvb , pinfo, tr, NULL);
55 return tvb_captured_length(tvb);
58 /* Register all the bits needed with the filtering engine */
59 void
60 proto_register_charging_ase(void)
62 /* List of fields */
63 static hf_register_info hf[] = {
64 #include "packet-charging_ase-hfarr.c"
67 /* List of subtrees */
68 static int *ett[] = {
69 &ett_charging_ase,
70 #include "packet-charging_ase-ettarr.c"
73 static ei_register_info ei[] = {
74 { &ei_charging_ase_extensions_not_dissected, { "charging_ase.extensions_not_dissected", PI_UNDECODED, PI_WARN, "Extensions not dissected", EXPFILL }},
77 expert_module_t* expert_charging_ase;
79 proto_charging_ase = proto_register_protocol(PNAME, PSNAME, PFNAME);
81 proto_register_field_array(proto_charging_ase, hf, array_length(hf));
82 proto_register_subtree_array(ett, array_length(ett));
83 expert_charging_ase = expert_register_protocol(proto_charging_ase);
84 expert_register_field_array(expert_charging_ase, ei, array_length(ei));
85 charging_ase_handle = register_dissector("charging_ase", dissect_charging_ase, proto_charging_ase);
88 /* The registration hand-off routine */
89 void
90 proto_reg_handoff_charging_ase(void)