aboutsummaryrefslogtreecommitdiffstats
path: root/asn1/isdn-sup/packet-isdn-sup-template.c
diff options
context:
space:
mode:
Diffstat (limited to 'asn1/isdn-sup/packet-isdn-sup-template.c')
-rw-r--r--asn1/isdn-sup/packet-isdn-sup-template.c18
1 files changed, 18 insertions, 0 deletions
diff --git a/asn1/isdn-sup/packet-isdn-sup-template.c b/asn1/isdn-sup/packet-isdn-sup-template.c
index 6971c5f029..a54e600895 100644
--- a/asn1/isdn-sup/packet-isdn-sup-template.c
+++ b/asn1/isdn-sup/packet-isdn-sup-template.c
@@ -57,6 +57,12 @@ typedef struct _isdn_sup_op_t {
new_dissector_t res_pdu;
} isdn_sup_op_t;
+typedef struct _isdn_global_sup_op_t {
+ const char* oid;
+ new_dissector_t arg_pdu;
+ new_dissector_t res_pdu;
+} isdn_sup_global_op_t;
+
typedef struct isdn_sup_err_t {
gint32 errcode;
@@ -96,6 +102,11 @@ static const isdn_sup_op_t isdn_sup_op_tab[] = {
};
+static const isdn_sup_global_op_t isdn_sup_global_op_tab[] = {
+
+#include "packet-isdn-sup-table31.c"
+};
+
static const isdn_sup_err_t isdn_sup_err_tab[] = {
#include "packet-isdn-sup-table21.c"
};
@@ -285,6 +296,13 @@ void proto_reg_handoff_isdn_sup(void) {
dissector_add_uint("q932.ros.etsi.local.res", isdn_sup_op_tab[i].opcode, isdn_sup_res_handle);
}
+ for (i=0; i<(int)array_length(isdn_sup_global_op_tab); i++) {
+ if(isdn_sup_global_op_tab->arg_pdu)
+ dissector_add_string("q932.ros.global.arg", isdn_sup_global_op_tab[i].oid, new_create_dissector_handle(isdn_sup_global_op_tab[i].arg_pdu, proto_isdn_sup));
+ if(isdn_sup_global_op_tab->res_pdu)
+ dissector_add_string("q932.ros.global.res", isdn_sup_global_op_tab[i].oid, new_create_dissector_handle(isdn_sup_global_op_tab[i].res_pdu, proto_isdn_sup));
+ }
+
isdn_sup_err_handle = new_create_dissector_handle(dissect_isdn_sup_err, proto_isdn_sup);
for (i=0; i<(int)array_length(isdn_sup_err_tab); i++) {