Trivial warning fixes
[obnox/wireshark/wip.git] / epan / dissectors / packet-h248.h
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Ethereal dissector compiler    */
3 /* ./packet-h248.h                                                            */
4 /* ../../tools/asn2eth.py -X -b -e -p h248 -c h248.cnf -s packet-h248-template MEGACO.asn */
5
6 /* Input file: packet-h248-template.h */
7
8 /* packet-h248.h
9  * Routines for H.248/MEGACO packet dissection
10  * Ronnie Sahlberg 2004
11  *
12  * $Id$
13  *
14  * Ethereal - Network traffic analyzer
15  * By Gerald Combs <gerald@ethereal.com>
16  * Copyright 1998 Gerald Combs
17  *
18  * This program is free software; you can redistribute it and/or
19  * modify it under the terms of the GNU General Public License
20  * as published by the Free Software Foundation; either version 2
21  * of the License, or (at your option) any later version.
22  *
23  * This program is distributed in the hope that it will be useful,
24  * but WITHOUT ANY WARRANTY; without even the implied warranty of
25  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
26  * GNU General Public License for more details.
27  *
28  * You should have received a copy of the GNU General Public License
29  * along with this program; if not, write to the Free Software
30  * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
31  */
32
33 #ifndef PACKET_H248_H
34 #define PACKET_H248_H
35
36 /*#include "packet-h248-exp.h"*/
37
38 typedef enum {
39     H248_CMD_NONE,
40     H248_CMD_ADD,
41     H248_CMD_MOVE,
42     H248_CMD_MOD,
43     H248_CMD_SUB,
44     H248_CMD_AUDITCAP,
45     H248_CMD_AUDITVAL,
46     H248_CMD_NOTIFY,
47     H248_CMD_SVCCHG
48 } h248_cmd_type_t;
49
50 typedef enum {
51     H248_TRX_NONE,
52     H248_TRX_REQUEST,
53     H248_TRX_PENDING,
54     H248_TRX_REPLY,
55     H248_TRX_ACK
56 } h248_msg_type_t;
57
58 /* per command info */
59 typedef struct _h248_cmd_info_t h248_cmd_info_t;
60
61 /* per context info */
62 typedef struct _h248_context_info_t h248_context_info_t;
63
64 /* per command message info */
65 typedef struct _h248_cmdmsg_info_t {
66     guint32 transaction_id;
67     guint32 context_id;
68     guint offset;
69     h248_cmd_type_t cmd_type;
70     h248_msg_type_t msg_type;
71     guint error_code;
72     gboolean term_is_wildcard;
73     gchar* term_id;
74     h248_cmd_info_t* cmd_info;
75 } h248_cmdmsg_info_t;
76
77
78 struct _h248_cmd_info_t {
79     gchar* key;
80     
81     guint32 trx_id;
82     h248_cmd_type_t type;
83
84     guint request_frame;
85     guint response_frame;
86     guint pendings;
87     
88     gboolean choose_ctx;
89     guint error_code;
90      
91     h248_context_info_t* context;
92     
93     h248_cmd_info_t* next;
94     h248_cmd_info_t* last;
95 };
96
97 struct _h248_context_info_t {
98     gchar* key;
99
100     guint32 ctx_id;
101
102     guint creation_frame;
103     guint last_frame;
104
105     h248_cmd_info_t* cmds;
106     h248_context_info_t* prior;
107 };
108
109 typedef void (*h248_dissect_pkg_item_t)(gboolean implicit_tag, tvbuff_t *tvb, packet_info *pinfo, proto_tree *tree);
110
111 extern void h248_add_package_property(guint package, guint property, h248_dissect_pkg_item_t);
112 extern void h248_add_package_event(guint package, guint property, h248_dissect_pkg_item_t);
113 extern void h248_add_package_signal(guint package, guint property, h248_dissect_pkg_item_t);
114
115 #endif  /* PACKET_H248_H */