fix usage of "if(tree) {" to display the right things, even if no coloring rule is set
[obnox/wireshark/wip.git] / epan / dissectors / packet-acse.h
1 /* packet-acse.h
2 *
3 * Routine to dissect OSI ISO/IEC 10035-1 ACSE Protocol packets
4 *
5 * $Id$
6 *
7 * Yuriy Sidelnikov <YSidelnikov@hotmail.com>
8 *
9 * Ethereal - Network traffic analyzer
10 * By Gerald Combs <gerald@ethereal.com>
11 * Copyright 1998 Gerald Combs
12 *
13 * This program is free software; you can redistribute it and/or
14 * modify it under the terms of the GNU General Public License
15 * as published by the Free Software Foundation; either version 2
16 * of the License, or (at your option) any later version.
17 *
18 * This program is distributed in the hope that it will be useful,
19 * but WITHOUT ANY WARRANTY; without even the implied warranty of
20 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
21 * GNU General Public License for more details.
22 *
23 * You should have received a copy of the GNU General Public License
24 * along with this program; if not, write to the Free Software
25 * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
26 */
27
28 #define PROTO_STRING_ACSE "OSI ISO/IEC 10035-1 ACSE Protocol"
29 #define PROTO_STRING_ACSE_INFO "OSI ISO/IEC 10035-1 ACSE Protocol"
30
31 /* asn.1 definitions   */
32 #define ASN1_CLASS_UNIVERSAL                            0x00
33 #define ASN1_CLASS_APPLICATION                          0x40
34 #define ASN1_CLASS_CONTEXT_SPECIFIC                     0x80
35 #define ASN1_CLASS_Private                                      0xc0
36 #define ASN1_CLASS_PC                                           0x20
37
38 #define INTEGER_ITEM                                            0x01
39 #define BOOLEAN_ITEM                                            0x01
40
41 /*       type of parameters */
42 #define MODE_SELECTOR                                           0
43 #define SET_TOP                                                         1
44 #define SEQUENCE_TOP                                            2
45
46
47 #define SEQUENCE                                                        0x30
48
49 /*    sequence top   */
50 #define TAG_00                                                                  0
51 #define TAG_01                                                                  1
52
53 enum
54 {
55 ACSE_AARQ = 0x60,
56 ACSE_AARE,
57 ACSE_RLRQ,
58 ACSE_RLRE,
59 ACSE_ABRT
60 };
61
62
63 enum
64 {
65 PROTOCOL_VERSION,
66 APPLICATION_CONTEXT_NAME,
67 CALLED_AP_TITLE,
68 CALLED_AE_QUALIFIER,
69 CALLED_AP_INVOKATION_ID,
70 CALLED_AE_INVOKATION_ID,
71 CALLING_AP_TITLE,
72 CALLING_AE_QUALIFIER,
73 CALLING_AP_INVOKATION_ID,
74 CALLING_AE_INVOKATION_ID
75 };
76
77 #define         IMPLEMENTATION_INFORMATION                              29
78 #define         USER_INFORMATION                                                30
79 #define         ACSE_EXTERNAL                                                   8
80
81 enum
82 {
83 PROTOCOL_VERSION_2,
84 APPLICATION_CONTEXT_NAME_2,
85 ACSE_RESULT,
86 ACSE_RESULT_SOURCE_DIAGNOSTIC,
87 RESPONDING_AP_TITLE,
88 RESPONDING_AE_QUALIFIER,
89 RESPONDING_AP_INVOKATION_ID,
90 RESPONDING_AE_INVOKATION_ID
91 };
92
93 enum
94 {
95 ACSE_NULL,
96 ACSE_NO_REASON_GIVEN,
97 ACSE_APPLICATION_CONTEXT_NAME_NOT_SUPPORTED,
98 ACSE_CALLING_AP_TITLE_NOT_RECOGNIZED,
99 ACSE_CALLING_AP_INVOKATION_IDENTIFIER_NOT_RECOGNIZED,
100 ACSE_CALLING_AE_QUALIFIER_NOT_RECOGNIZED,
101 ACSE_CALLING_AE_INVOKATION_IDENTIFIER_NOT_RECOGNIZED,
102 ACSE_CALLED_AP_TITLE_NOT_RECOGNIZED,
103 ACSE_CALLED_AP_INVOKATION_IDENTIFIER_NOT_RECOGNIZED,
104 ACSE_CALLED_AE_QUALIFIER_NOT_RECOGNIZED,
105 ACSE_CALLED_AE_INVOKATION_IDENTIFIER_NOT_RECOGNIZED
106 };
107
108 #define         ACSE_NO_COMMON_ACSE_VERSION                     2
109
110
111 #define                 ACSE_SERVICE_USER                               1
112 #define                 ACSE_SERVICE_PROVIDER                   2
113 #define                 ACSE_EXTERNAL_USER                              8
114
115 /*//////////////////////////////////////////////////
116 //enum
117 //{
118 //PROTOCOL_VERSION_1,
119 //CALLING_PRESENTATION_SELECTOR,
120 //CALLED_PRESENTATION_SELECTOR,
121 //RESPONDING_PRESENTATION_SELECTOR,
122 //PRESENTATION_CONTEXT_DEFINITION_LIST,
123 //PRESENTATION_CONTEXT_DEFINITION_RESULT_LIST,
124 //DEFAULT_CONTEXT_NAME,
125 //DEFAULT_CONTEXT_RESULT,
126 //PRESENTATION_REQUIREMENTS,
127 //USER_SESSION_REQUIREMENTS,
128 //PROVIDER_REASON
129 //};
130 *************************************************/
131
132
133
134
135
136
137 /*   definition list **/
138 #define   PRESENTATION_CONTEXT_IDENTIFIER                2
139 #define   ABSTRACT_SYNTAX_NAME                                   6
140 #define   TRANSFER_SYNTAX_NAMES                                  0x30
141 /*   result    list */
142 #define   PRESENTATION_RESULT                                                           0x80
143 #define   PRESENTATION_RESULT_TRANSFER_SYNTAX_NAME                      0x81
144 #define   PRESENTATION_RESULT_INTEGER                                           0x82
145
146 /*     result  values  */
147 #define   PRESENTATION_RESULT_ACCEPTANCE                 0
148 #define   PRESENTATION_RESULT_USER_REJECTION     1
149 #define   PRESENTATION_RESULT_PROVIDER_REJECTION 2
150
151 enum
152 {
153 RRR_NORMAL,
154 RRR_URGENT,
155 RRR_USER_DEFINED
156 };
157 enum
158 {
159 RRPR_NORMAL,
160 RRPR_URGENT,
161 RRPR_USER_DEFINED
162 };
163 enum
164 {
165 ABRT_ACSE_SERVICE_USER,
166 ABRT_ACSE_SERVICE_PROVIDER
167 };
168 /*  user data   */
169 #define   SIMPLY_ENCODED_DATA                                                                   0x60
170 #define   FULLY_ENCODED_DATA                                                                    0x61
171
172 /*  PDV    */
173 #define   SINGLE_ASN1_TYPE                                                                              0xa0
174 #define   OCTET_ALIGNED                                                                                 0xa1
175 #define   ARBITRARY                                                                                             0xa2
176
177
178
179 #define ACSE_PROTOCOL_VERGION                                   0x0080
180 #define                 MAXSTRING                                       256
181 #define                 ABORT_REASON_LEN                        3
182
183
184 #define                 FTAM_APP                                        1
185 #define                 CMIP_APP                                        2
186
187
188
189
190
191