make dissect_ber_choice take a guint* that will return the
[obnox/wireshark/wip.git] / epan / dissectors / packet-h225.h
1 /* Do not modify this file.                                                   */
2 /* It is created automatically by the ASN.1 to Ethereal dissector compiler    */
3 /* ./packet-h225.h                                                            */
4 /* ../../tools/asn2eth.py -X -e -p h225 -c h225.cnf -s packet-h225-template h225.asn */
5
6 /* Input file: packet-h225-template.h */
7
8 /* packet-h225.h
9  * Routines for h225 packet dissection
10  * Copyright 2005, Anders Broman <anders.broman@ericsson.com>
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_H225_H
34 #define PACKET_H225_H
35
36 typedef enum _h225_msg_type {
37         H225_RAS,
38         H225_CS,
39         H225_OTHERS
40 } h225_msg_type;
41
42 typedef enum _h225_cs_type {
43     H225_SETUP,
44     H225_CALL_PROCEDING,
45     H225_CONNECT,
46     H225_ALERTING,
47     H225_INFORMATION,
48     H225_RELEASE_COMPLET,
49     H225_FACILITY,
50     H225_PROGRESS,
51     H225_EMPTY,
52     H225_STATUS,
53     H225_STATUS_INQUIRY,
54     H225_SETUP_ACK,
55     H225_NOTIFY,
56     H225_OTHER
57 } h225_cs_type;
58
59 typedef struct _h225_packet_info {
60         h225_msg_type msg_type;         /* ras or cs message */
61         h225_cs_type cs_type;           /* cs message type */
62         gint msg_tag;                   /* message tag*/
63         gint reason;                    /* reason tag, if available */
64         guint requestSeqNum;            /* request sequence number of ras-message, if available */
65         guint8 guid[16];                /* globally unique call id */
66         gboolean is_duplicate;          /* true, if this is a repeated message */
67         gboolean request_available;     /* true, if response matches to a request */
68         nstime_t delta_time;            /* this is the RAS response time delay */
69         /* added for h225 conversations analysis */
70         gboolean is_faststart;          /* true, if faststart field is included */
71         gboolean is_h245;
72         gboolean is_h245Tunneling;
73         guint32 h245_address;
74         guint16 h245_port;
75         gchar dialedDigits[64]; /* Dialed Digits in the LRQ and LCF used for voip analysis */
76         gboolean is_destinationInfo;
77         gchar frame_label[50]; /* the Fram label used by graph_analysis, what is a abreviation of cinfo */
78 } h225_packet_info;
79
80 /*
81  * the following allows TAP code access to the messages
82  * without having to duplicate it. With MSVC and a 
83  * libethereal.dll, we need a special declaration.
84  */
85
86
87
88 /*--- Included file: packet-h225-exp.h ---*/
89
90 ETH_VAR_IMPORT const value_string T_h323_message_body_vals[];
91 ETH_VAR_IMPORT const value_string ReleaseCompleteReason_vals[];
92 extern const value_string h225_PresentationIndicator_vals[];
93 extern const value_string h225_ScreeningIndicator_vals[];
94 ETH_VAR_IMPORT const value_string FacilityReason_vals[];
95 extern const value_string AliasAddress_vals[];
96 extern const value_string h225_PartyNumber_vals[];
97 ETH_VAR_IMPORT const value_string RasMessage_vals[];
98 ETH_VAR_IMPORT const value_string GatekeeperRejectReason_vals[];
99 ETH_VAR_IMPORT const value_string RegistrationRejectReason_vals[];
100 ETH_VAR_IMPORT const value_string UnregRequestReason_vals[];
101 ETH_VAR_IMPORT const value_string UnregRejectReason_vals[];
102 ETH_VAR_IMPORT const value_string AdmissionRejectReason_vals[];
103 ETH_VAR_IMPORT const value_string BandRejectReason_vals[];
104 ETH_VAR_IMPORT const value_string LocationRejectReason_vals[];
105 ETH_VAR_IMPORT const value_string DisengageReason_vals[];
106 ETH_VAR_IMPORT const value_string DisengageRejectReason_vals[];
107 ETH_VAR_IMPORT const value_string InfoRequestNakReason_vals[];
108 int dissect_h225_PresentationIndicator(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
109 int dissect_h225_ScreeningIndicator(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
110 int dissect_h225_NonStandardParameter(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
111 int dissect_h225_AliasAddress(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
112 int dissect_h225_PartyNumber(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
113 int dissect_h225_CallIdentifier(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
114 int dissect_h225_RasMessage(tvbuff_t *tvb, int offset, packet_info *pinfo, proto_tree *tree, int hf_index);
115
116 /*--- End of included file: packet-h225-exp.h ---*/
117
118
119 #endif  /* PACKET_H225_H */
120
121