aboutsummaryrefslogtreecommitdiffstats
path: root/epan/dissectors/packet-h248.h
diff options
context:
space:
mode:
authorLuis Ontanon <luis.ontanon@gmail.com>2005-12-06 18:52:17 +0000
committerLuis Ontanon <luis.ontanon@gmail.com>2005-12-06 18:52:17 +0000
commitd6c5410b182fb8c70a488b0457d933f70d3de3e7 (patch)
tree0710000471604953aba4c9cb2d65876aefbd61cd /epan/dissectors/packet-h248.h
parent581faf7625b81b2ac4e23569761cbbde4fc079e7 (diff)
- Fix few issues with context analysis
- Add used terminations tree to the context analysis tree Regenerate Dissector svn path=/trunk/; revision=16703
Diffstat (limited to 'epan/dissectors/packet-h248.h')
-rw-r--r--epan/dissectors/packet-h248.h152
1 files changed, 99 insertions, 53 deletions
diff --git a/epan/dissectors/packet-h248.h b/epan/dissectors/packet-h248.h
index 32dd26a15e..2d84f63f81 100644
--- a/epan/dissectors/packet-h248.h
+++ b/epan/dissectors/packet-h248.h
@@ -5,9 +5,12 @@
/* Input file: packet-h248-template.h */
+#line 1 "packet-h248-template.h"
/* packet-h248.h
- * Routines for H.248/MEGACO packet dissection
+ * Definitions for H.248/MEGACO packet dissection
+ *
* Ronnie Sahlberg 2004
+ * Luis Ontanon 2005
*
* $Id$
*
@@ -37,14 +40,26 @@
typedef enum {
H248_CMD_NONE,
- H248_CMD_ADD,
- H248_CMD_MOVE,
- H248_CMD_MOD,
- H248_CMD_SUB,
- H248_CMD_AUDITCAP,
- H248_CMD_AUDITVAL,
- H248_CMD_NOTIFY,
- H248_CMD_SVCCHG
+ H248_CMD_ADD_REQ,
+ H248_CMD_MOVE_REQ,
+ H248_CMD_MOD_REQ,
+ H248_CMD_SUB_REQ,
+ H248_CMD_AUDITCAP_REQ,
+ H248_CMD_AUDITVAL_REQ,
+ H248_CMD_NOTIFY_REQ,
+ H248_CMD_SVCCHG_REQ,
+ H248_CMD_TOPOLOGY_REQ,
+ H248_CMD_CTX_ATTR_AUDIT_REQ,
+ H248_CMD_ADD_REPLY,
+ H248_CMD_MOVE_REPLY,
+ H248_CMD_MOD_REPLY,
+ H248_CMD_SUB_REPLY,
+ H248_CMD_AUDITCAP_REPLY,
+ H248_CMD_AUDITVAL_REPLY,
+ H248_CMD_NOTIFY_REPLY,
+ H248_CMD_SVCCHG_REPLY,
+ H248_CMD_TOPOLOGY_REPLY,
+ H248_CMD_REPLY
} h248_cmd_type_t;
typedef enum {
@@ -53,63 +68,94 @@ typedef enum {
H248_TRX_PENDING,
H248_TRX_REPLY,
H248_TRX_ACK
-} h248_msg_type_t;
+} h248_trx_type_t;
-/* per command info */
-typedef struct _h248_cmd_info_t h248_cmd_info_t;
-/* per context info */
-typedef struct _h248_context_info_t h248_context_info_t;
+typedef struct _h248_msg_t {
+ gchar* addr_label;
+ guint framenum;
+ struct _h248_trx_msg_t* trxs;
+ gboolean commited;
+} h248_msg_t;
-/* per command message info */
-typedef struct _h248_cmdmsg_info_t {
- guint32 transaction_id;
- guint32 context_id;
- guint offset;
- h248_cmd_type_t cmd_type;
- h248_msg_type_t msg_type;
- guint error_code;
- gboolean term_is_wildcard;
- gchar* term_id;
- h248_cmd_info_t* cmd_info;
-} h248_cmdmsg_info_t;
+typedef struct _h248_trx_msg_t {
+ struct _h248_trx_t* trx;
+ struct _h248_trx_msg_t* next;
+ struct _h248_trx_msg_t* last;
+} h248_trx_msg_t;
+typedef struct _h248_cmd_msg_t {
+ struct _h248_cmd_t* cmd;
+ struct _h248_cmd_msg_t* next;
+ struct _h248_cmd_msg_t* last;
+} h248_cmd_msg_t;
-struct _h248_cmd_info_t {
+typedef struct _h248_trx_t {
gchar* key;
-
- guint32 trx_id;
- h248_cmd_type_t type;
-
- guint request_frame;
- guint response_frame;
+ guint32 id;
+ h248_trx_type_t type;
guint pendings;
+ struct _h248_cmd_msg_t* cmds;
+ struct _h248_trx_ctx_t* ctxs;
+ guint error;
+} h248_trx_t;
+
+typedef struct _h248_term_t {
+ gchar* str;
- gboolean choose_ctx;
- guint error_code;
-
- h248_context_info_t* context;
+ guint8* buffer;
+ guint len;
- h248_cmd_info_t* next;
- h248_cmd_info_t* last;
-};
-
-struct _h248_context_info_t {
- gchar* key;
+#if 0
+ struct {
+ enum {
+ NO_WILDCARD,
+ WILDCARD_ALL,
+ WILCARD_CHOOSE,
+ } type;
+
+ gboolean below
+ guint len;
+ } wildcard;
+
+ struct {
+ enum {
+ MEDIA_UNKNOWN;
+ } type;
+
+ union {
+ int dummy;
+ } info;
+ } media;
+#endif
+
+} h248_term_t;
- guint32 ctx_id;
+typedef struct _h248_terms_t {
+ h248_term_t* term;
+ struct _h248_terms_t* next;
+ struct _h248_terms_t* last;
+} h248_terms_t;
- guint creation_frame;
- guint last_frame;
+typedef struct _h248_cmd_t {
+ guint offset;
+ h248_cmd_type_t type;
+ h248_terms_t terms;
+ struct _h248_msg_t* msg;
+ struct _h248_trx_t* trx;
+ struct _h248_ctx_t* ctx;
+ guint error;
+} h248_cmd_t;
- h248_cmd_info_t* cmds;
- h248_context_info_t* prior;
-};
-typedef void (*h248_dissect_pkg_item_t)(gboolean implicit_tag, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
+typedef struct _h248_ctx_t {
+ gchar* key;
+ guint32 id;
+ guint first_frame;
+ struct _h248_cmd_msg_t* cmds;
+ struct _h248_ctx_t* prev;
+ h248_terms_t terms;
+} h248_ctx_t;
-extern void h248_add_package_property(guint package, guint property, h248_dissect_pkg_item_t);
-extern void h248_add_package_event(guint package, guint property, h248_dissect_pkg_item_t);
-extern void h248_add_package_signal(guint package, guint property, h248_dissect_pkg_item_t);
#endif /* PACKET_H248_H */