MSWSP: fix dissect_mswsp_smb()
[wireshark-wip.git] / epan / dissectors / packet-ftam.c
blob21d2807a45273e8387ce56d53ccda72810a3963c
1 /* Do not modify this file. Changes will be overwritten. */
2 /* Generated automatically by the ASN.1 to Wireshark dissector compiler */
3 /* packet-ftam.c */
4 /* ../../tools/asn2wrs.py -b -p ftam -c ./ftam.cnf -s ./packet-ftam-template -D . -O ../../epan/dissectors ISO8571-FTAM.asn */
6 /* Input file: packet-ftam-template.c */
8 #line 1 "../../asn1/ftam/packet-ftam-template.c"
9 /* packet-ftam_asn1.c
10 * Routine to dissect OSI ISO 8571 FTAM Protocol packets
11 * based on the ASN.1 specification from http://www.itu.int/ITU-T/asn1/database/iso/8571-4/1988/
13 * also based on original handwritten dissector by
14 * Yuriy Sidelnikov <YSidelnikov@hotmail.com>
16 * Anders Broman and Ronnie Sahlberg 2005 - 2006
18 * $Id$
20 * Wireshark - Network traffic analyzer
21 * By Gerald Combs <gerald@wireshark.org>
22 * Copyright 1998 Gerald Combs
24 * This program is free software; you can redistribute it and/or
25 * modify it under the terms of the GNU General Public License
26 * as published by the Free Software Foundation; either version 2
27 * of the License, or (at your option) any later version.
29 * This program is distributed in the hope that it will be useful,
30 * but WITHOUT ANY WARRANTY; without even the implied warranty of
31 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
32 * GNU General Public License for more details.
34 * You should have received a copy of the GNU General Public License
35 * along with this program; if not, write to the Free Software
36 * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
39 #include "config.h"
41 #include <glib.h>
42 #include <epan/packet.h>
43 #include <epan/oids.h>
44 #include <epan/asn1.h>
46 #include "packet-ber.h"
47 #include "packet-acse.h"
48 #include "packet-ftam.h"
50 #define PNAME "ISO 8571 FTAM"
51 #define PSNAME "FTAM"
52 #define PFNAME "ftam"
54 /* Initialize the protocol and registered fields */
55 static int proto_ftam = -1;
57 static const char *object_identifier_id;
58 /* Declare the function to avoid a compiler warning */
59 static int dissect_ftam_OR_Set(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, asn1_ctx_t *actx, proto_tree *tree, int hf_index _U_);
61 static int hf_ftam_unstructured_text = -1; /* ISO FTAM unstructured text */
62 static int hf_ftam_unstructured_binary = -1; /* ISO FTAM unstructured binary */
64 /*--- Included file: packet-ftam-hf.c ---*/
65 #line 1 "../../asn1/ftam/packet-ftam-hf.c"
66 static int hf_ftam_fTAM_Regime_PDU = -1; /* FTAM_Regime_PDU */
67 static int hf_ftam_file_PDU = -1; /* File_PDU */
68 static int hf_ftam_bulk_Data_PDU = -1; /* Bulk_Data_PDU */
69 static int hf_ftam_fSM_PDU = -1; /* FSM_PDU */
70 static int hf_ftam_f_initialize_request = -1; /* F_INITIALIZE_request */
71 static int hf_ftam_f_initialize_response = -1; /* F_INITIALIZE_response */
72 static int hf_ftam_f_terminate_request = -1; /* F_TERMINATE_request */
73 static int hf_ftam_f_terminate_response = -1; /* F_TERMINATE_response */
74 static int hf_ftam_f_u_abort_request = -1; /* F_U_ABORT_request */
75 static int hf_ftam_f_p_abort_request = -1; /* F_P_ABORT_request */
76 static int hf_ftam_protocol_Version = -1; /* Protocol_Version */
77 static int hf_ftam_implementation_information = -1; /* Implementation_Information */
78 static int hf_ftam_presentation_tontext_management = -1; /* BOOLEAN */
79 static int hf_ftam_service_class = -1; /* Service_Class */
80 static int hf_ftam_functional_units = -1; /* Functional_Units */
81 static int hf_ftam_attribute_groups = -1; /* Attribute_Groups */
82 static int hf_ftam_shared_ASE_information = -1; /* Shared_ASE_Information */
83 static int hf_ftam_ftam_quality_of_Service = -1; /* FTAM_Quality_of_Service */
84 static int hf_ftam_contents_type_list = -1; /* Contents_Type_List */
85 static int hf_ftam_initiator_identity = -1; /* User_Identity */
86 static int hf_ftam_account = -1; /* Account */
87 static int hf_ftam_filestore_password = -1; /* Password */
88 static int hf_ftam_checkpoint_window = -1; /* INTEGER */
89 static int hf_ftam_state_result = -1; /* State_Result */
90 static int hf_ftam_action_result = -1; /* Action_Result */
91 static int hf_ftam_diagnostic = -1; /* Diagnostic */
92 static int hf_ftam__untag_item = -1; /* Contents_Type_List_item */
93 static int hf_ftam_document_type_name = -1; /* Document_Type_Name */
94 static int hf_ftam_abstract_Syntax_name = -1; /* Abstract_Syntax_Name */
95 static int hf_ftam_charging = -1; /* Charging */
96 static int hf_ftam_f_select_request = -1; /* F_SELECT_request */
97 static int hf_ftam_f_select_response = -1; /* F_SELECT_response */
98 static int hf_ftam_f_deselect_request = -1; /* F_DESELECT_request */
99 static int hf_ftam_f_deselect_response = -1; /* F_DESELECT_response */
100 static int hf_ftam_f_create_request = -1; /* F_CREATE_request */
101 static int hf_ftam_f_create_response = -1; /* F_CREATE_response */
102 static int hf_ftam_f_delete_request = -1; /* F_DELETE_request */
103 static int hf_ftam_f_delete_response = -1; /* F_DELETE_response */
104 static int hf_ftam_f_read_attrib_request = -1; /* F_READ_ATTRIB_request */
105 static int hf_ftam_f_read_attrib_response = -1; /* F_READ_ATTRIB_response */
106 static int hf_ftam_f_Change_attrib_reques = -1; /* F_CHANGE_ATTRIB_request */
107 static int hf_ftam_f_Change_attrib_respon = -1; /* F_CHANGE_ATTRIB_response */
108 static int hf_ftam_f_open_request = -1; /* F_OPEN_request */
109 static int hf_ftam_f_open_response = -1; /* F_OPEN_response */
110 static int hf_ftam_f_close_request = -1; /* F_CLOSE_request */
111 static int hf_ftam_f_close_response = -1; /* F_CLOSE_response */
112 static int hf_ftam_f_begin_group_request = -1; /* F_BEGIN_GROUP_request */
113 static int hf_ftam_f_begin_group_response = -1; /* F_BEGIN_GROUP_response */
114 static int hf_ftam_f_end_group_request = -1; /* F_END_GROUP_request */
115 static int hf_ftam_f_end_group_response = -1; /* F_END_GROUP_response */
116 static int hf_ftam_f_recover_request = -1; /* F_RECOVER_request */
117 static int hf_ftam_f_recover_response = -1; /* F_RECOVER_response */
118 static int hf_ftam_f_locate_request = -1; /* F_LOCATE_request */
119 static int hf_ftam_f_locate_response = -1; /* F_LOCATE_response */
120 static int hf_ftam_f_erase_request = -1; /* F_ERASE_request */
121 static int hf_ftam_f_erase_response = -1; /* F_ERASE_response */
122 static int hf_ftam_select_attributes = -1; /* Select_Attributes */
123 static int hf_ftam_requested_access = -1; /* Access_Request */
124 static int hf_ftam_access_passwords = -1; /* Access_Passwords */
125 static int hf_ftam_path_access_passwords = -1; /* Path_Access_Passwords */
126 static int hf_ftam_concurrency_control = -1; /* Concurrency_Control */
127 static int hf_ftam_referent_indicator = -1; /* Referent_Indicator */
128 static int hf_ftam_override = -1; /* Override */
129 static int hf_ftam_initial_attributes = -1; /* Create_Attributes */
130 static int hf_ftam_create_password = -1; /* Password */
131 static int hf_ftam_attribute_names = -1; /* Attribute_Names */
132 static int hf_ftam_attribute_extension_names = -1; /* Attribute_Extension_Names */
133 static int hf_ftam_read_attributes = -1; /* Read_Attributes */
134 static int hf_ftam_attributes = -1; /* Change_Attributes */
135 static int hf_ftam_processing_mode = -1; /* T_processing_mode */
136 static int hf_ftam_open_contents_type = -1; /* T_open_contents_type */
137 static int hf_ftam_unknown = -1; /* NULL */
138 static int hf_ftam_proposed = -1; /* Contents_Type_Attribute */
139 static int hf_ftam_enable_fadu_locking = -1; /* BOOLEAN */
140 static int hf_ftam_activity_identifier = -1; /* Activity_Identifier */
141 static int hf_ftam_request_recovery_mode = -1; /* T_request_recovery_mode */
142 static int hf_ftam_remove_contexts = -1; /* SET_OF_Abstract_Syntax_Name */
143 static int hf_ftam_remove_contexts_item = -1; /* Abstract_Syntax_Name */
144 static int hf_ftam_define_contexts = -1; /* SET_OF_Abstract_Syntax_Name */
145 static int hf_ftam_define_contexts_item = -1; /* Abstract_Syntax_Name */
146 static int hf_ftam_degree_of_overlap = -1; /* Degree_Of_Overlap */
147 static int hf_ftam_transfer_window = -1; /* INTEGER */
148 static int hf_ftam_contents_type = -1; /* Contents_Type_Attribute */
149 static int hf_ftam_response_recovery_mode = -1; /* T_response_recovery_mode */
150 static int hf_ftam_presentation_action = -1; /* BOOLEAN */
151 static int hf_ftam_threshold = -1; /* INTEGER */
152 static int hf_ftam_bulk_transfer_number = -1; /* INTEGER */
153 static int hf_ftam_recovefy_Point = -1; /* INTEGER */
154 static int hf_ftam_concurrent_bulk_transfer_number = -1; /* INTEGER */
155 static int hf_ftam_concurrent_recovery_point = -1; /* INTEGER */
156 static int hf_ftam_last_transfer_end_read_response = -1; /* INTEGER */
157 static int hf_ftam_last_transfer_end_write_response = -1; /* INTEGER */
158 static int hf_ftam_recovety_Point = -1; /* INTEGER */
159 static int hf_ftam_last_transfer_end_read_request = -1; /* INTEGER */
160 static int hf_ftam_last_transfer_end_write_request = -1; /* INTEGER */
161 static int hf_ftam_file_access_data_unit_identity = -1; /* FADU_Identity */
162 static int hf_ftam_fadu_lock = -1; /* FADU_Lock */
163 static int hf_ftam_f_read_request = -1; /* F_READ_request */
164 static int hf_ftam_f_write_request = -1; /* F_WRITE_request */
165 static int hf_ftam_f_data_end_request = -1; /* F_DATA_END_request */
166 static int hf_ftam_f_transfer_end_request = -1; /* F_TRANSFER_END_request */
167 static int hf_ftam_f_transfer_end_response = -1; /* F_TRANSFER_END_response */
168 static int hf_ftam_f_cancel_request = -1; /* F_CANCEL_request */
169 static int hf_ftam_f_cancel_response = -1; /* F_CANCEL_response */
170 static int hf_ftam_f_restart_request = -1; /* F_RESTART_request */
171 static int hf_ftam_f_restart_response = -1; /* F_RESTART_response */
172 static int hf_ftam_read_access_context = -1; /* Access_Context */
173 static int hf_ftam_transfer_number = -1; /* INTEGER */
174 static int hf_ftam_file_access_data_unit_Operation = -1; /* T_file_access_data_unit_Operation */
175 static int hf_ftam_request_type = -1; /* Request_Type */
176 static int hf_ftam_checkpoint_identifier = -1; /* INTEGER */
177 static int hf_ftam_access_context = -1; /* T_access_context */
178 static int hf_ftam_level_number = -1; /* INTEGER */
179 static int hf_ftam_read_password = -1; /* Password */
180 static int hf_ftam_insert_password = -1; /* Password */
181 static int hf_ftam_replace_password = -1; /* Password */
182 static int hf_ftam_extend_password = -1; /* Password */
183 static int hf_ftam_erase_password = -1; /* Password */
184 static int hf_ftam_read_attribute_password = -1; /* Password */
185 static int hf_ftam_change_attribute_password = -1; /* Password */
186 static int hf_ftam_delete_password = -1; /* Password */
187 static int hf_ftam_pass_passwords = -1; /* Pass_Passwords */
188 static int hf_ftam_link_password = -1; /* Password */
189 static int hf_ftam_pathname = -1; /* Pathname_Attribute */
190 static int hf_ftam_storage_account = -1; /* Account_Attribute */
191 static int hf_ftam_object_availability = -1; /* Object_Availability_Attribute */
192 static int hf_ftam_future_Object_size = -1; /* Object_Size_Attribute */
193 static int hf_ftam_change_attributes_access_control = -1; /* Access_Control_Change_Attribute */
194 static int hf_ftam_change_path_access_control = -1; /* Access_Control_Change_Attribute */
195 static int hf_ftam_legal_qualification = -1; /* Legal_Qualification_Attribute */
196 static int hf_ftam_private_use = -1; /* Private_Use_Attribute */
197 static int hf_ftam_attribute_extensions = -1; /* Attribute_Extensions */
198 static int hf_ftam__untag_item_01 = -1; /* Charging_item */
199 static int hf_ftam_resource_identifier = -1; /* GraphicString */
200 static int hf_ftam_charging_unit = -1; /* GraphicString */
201 static int hf_ftam_charging_value = -1; /* INTEGER */
202 static int hf_ftam_read = -1; /* Lock */
203 static int hf_ftam_insert = -1; /* Lock */
204 static int hf_ftam_replace = -1; /* Lock */
205 static int hf_ftam_extend = -1; /* Lock */
206 static int hf_ftam_erase = -1; /* Lock */
207 static int hf_ftam_read_attribute = -1; /* Lock */
208 static int hf_ftam_change_attribute = -1; /* Lock */
209 static int hf_ftam_delete_Object = -1; /* Lock */
210 static int hf_ftam_object_type = -1; /* Object_Type_Attribute */
211 static int hf_ftam_permitted_actions = -1; /* Permitted_Actions_Attribute */
212 static int hf_ftam_access_control = -1; /* Access_Control_Attribute */
213 static int hf_ftam_path_access_control = -1; /* Access_Control_Attribute */
214 static int hf_ftam__untag_item_02 = -1; /* Diagnostic_item */
215 static int hf_ftam_diagnostic_type = -1; /* T_diagnostic_type */
216 static int hf_ftam_error_identifier = -1; /* INTEGER */
217 static int hf_ftam_error_observer = -1; /* Entity_Reference */
218 static int hf_ftam_error_Source = -1; /* Entity_Reference */
219 static int hf_ftam_suggested_delay = -1; /* INTEGER */
220 static int hf_ftam_further_details = -1; /* GraphicString */
221 static int hf_ftam_first_last = -1; /* T_first_last */
222 static int hf_ftam_relative = -1; /* T_relative */
223 static int hf_ftam_begin_end = -1; /* T_begin_end */
224 static int hf_ftam_single_name = -1; /* Node_Name */
225 static int hf_ftam_name_list = -1; /* SEQUENCE_OF_Node_Name */
226 static int hf_ftam_name_list_item = -1; /* Node_Name */
227 static int hf_ftam_fadu_number = -1; /* INTEGER */
228 static int hf_ftam_graphicString = -1; /* GraphicString */
229 static int hf_ftam_octetString = -1; /* OCTET_STRING */
230 static int hf_ftam_linked_Object = -1; /* Pathname_Attribute */
231 static int hf_ftam_child_objects = -1; /* Child_Objects_Attribute */
232 static int hf_ftam_primaty_pathname = -1; /* Pathname_Attribute */
233 static int hf_ftam_date_and_time_of_creation = -1; /* Date_and_Time_Attribute */
234 static int hf_ftam_date_and_time_of_last_modification = -1; /* Date_and_Time_Attribute */
235 static int hf_ftam_date_and_time_of_last_read_access = -1; /* Date_and_Time_Attribute */
236 static int hf_ftam_date_and_time_of_last_attribute_modification = -1; /* Date_and_Time_Attribute */
237 static int hf_ftam_identity_of_creator = -1; /* User_Identity_Attribute */
238 static int hf_ftam_identity_of_last_modifier = -1; /* User_Identity_Attribute */
239 static int hf_ftam_identity_of_last_reader = -1; /* User_Identity_Attribute */
240 static int hf_ftam_identity_last_attribute_modifier = -1; /* User_Identity_Attribute */
241 static int hf_ftam_object_size = -1; /* Object_Size_Attribute */
242 static int hf_ftam_no_value_available = -1; /* NULL */
243 static int hf_ftam_actual_values3 = -1; /* SET_OF_Access_Control_Element */
244 static int hf_ftam_actual_values3_item = -1; /* Access_Control_Element */
245 static int hf_ftam_actual_values1 = -1; /* T_actual_values1 */
246 static int hf_ftam_insert_values = -1; /* SET_OF_Access_Control_Element */
247 static int hf_ftam_insert_values_item = -1; /* Access_Control_Element */
248 static int hf_ftam_delete_values = -1; /* SET_OF_Access_Control_Element */
249 static int hf_ftam_delete_values_item = -1; /* Access_Control_Element */
250 static int hf_ftam_action_list = -1; /* Access_Request */
251 static int hf_ftam_concurrency_access = -1; /* Concurrency_Access */
252 static int hf_ftam_identity = -1; /* User_Identity */
253 static int hf_ftam_passwords = -1; /* Access_Passwords */
254 static int hf_ftam_location = -1; /* Application_Entity_Title */
255 static int hf_ftam_read_key = -1; /* Concurrency_Key */
256 static int hf_ftam_insert_key = -1; /* Concurrency_Key */
257 static int hf_ftam_replace_key = -1; /* Concurrency_Key */
258 static int hf_ftam_extend_key = -1; /* Concurrency_Key */
259 static int hf_ftam_erase_key = -1; /* Concurrency_Key */
260 static int hf_ftam_read_attribute_key = -1; /* Concurrency_Key */
261 static int hf_ftam_change_attribute_key = -1; /* Concurrency_Key */
262 static int hf_ftam_delete_Object_key = -1; /* Concurrency_Key */
263 static int hf_ftam_actual_values2 = -1; /* Account */
264 static int hf_ftam_document_type = -1; /* T_document_type */
265 static int hf_ftam_parameter = -1; /* T_parameter */
266 static int hf_ftam_constraint_set_and_abstract_Syntax = -1; /* T_constraint_set_and_abstract_Syntax */
267 static int hf_ftam_constraint_set_name = -1; /* Constraint_Set_Name */
268 static int hf_ftam_actual_values5 = -1; /* GeneralizedTime */
269 static int hf_ftam_actual_values8 = -1; /* T_actual_values8 */
270 static int hf_ftam_incomplete_pathname = -1; /* Pathname */
271 static int hf_ftam_complete_pathname = -1; /* Pathname */
272 static int hf_ftam_actual_values7 = -1; /* INTEGER */
273 static int hf_ftam_actual_values9 = -1; /* GraphicString */
274 static int hf_ftam_abstract_Syntax_not_supported = -1; /* NULL */
275 static int hf_ftam_actual_values4 = -1; /* EXTERNAL */
276 static int hf_ftam_actual_values6 = -1; /* User_Identity */
277 static int hf_ftam_Child_Objects_Attribute_item = -1; /* GraphicString */
278 static int hf_ftam_f_Change_prefix_request = -1; /* F_CHANGE_PREFIX_request */
279 static int hf_ftam_f_Change_prefix_response = -1; /* F_CHANGE_PREFIX_response */
280 static int hf_ftam_f_list_request = -1; /* F_LIST_request */
281 static int hf_ftam_f_list_response = -1; /* F_LIST_response */
282 static int hf_ftam_f_group_select_request = -1; /* F_GROUP_SELECT_request */
283 static int hf_ftam_f_group_select_response = -1; /* F_GROUP_SELECT_response */
284 static int hf_ftam_f_group_delete_request = -1; /* F_GROUP_DELETE_request */
285 static int hf_ftam_f_group_delete_response = -1; /* F_GROUP_DELETE_response */
286 static int hf_ftam_f_group_move_request = -1; /* F_GROUP_MOVE_request */
287 static int hf_ftam_f_group_move_response = -1; /* F_GROUP_MOVE_response */
288 static int hf_ftam_f_group_copy_request = -1; /* F_GROUP_COPY_request */
289 static int hf_ftam_f_group_copy_response = -1; /* F_GROUP_COPY_response */
290 static int hf_ftam_f_group_list_request = -1; /* F_GROUP_LIST_request */
291 static int hf_ftam_f_group_list_response = -1; /* F_GROUP_LIST_response */
292 static int hf_ftam_f_group_Change_attrib_request = -1; /* F_GROUP_CHANGE_ATTRIB_request */
293 static int hf_ftam_f_group_Change_attrib_response = -1; /* F_GROUP_CHANGE_ATTRIB_response */
294 static int hf_ftam_f_select_another_request = -1; /* F_SELECT_ANOTHER_request */
295 static int hf_ftam_f_select_another_response = -1; /* F_SELECT_ANOTHER_response */
296 static int hf_ftam_f_create_directory_request = -1; /* F_CREATE_DIRECTORY_request */
297 static int hf_ftam_f_create_directory_response = -1; /* F_CREATE_DIRECTORY_response */
298 static int hf_ftam_f_link_request = -1; /* F_LINK_request */
299 static int hf_ftam_f_link_response = -1; /* F_LINK_response */
300 static int hf_ftam_f_unlink_request = -1; /* F_UNLINK_request */
301 static int hf_ftam_f_unlink_response = -1; /* F_UNLINK_response */
302 static int hf_ftam_f_read_link_attrib_request = -1; /* F_READ_LINK_ATTRIB_request */
303 static int hf_ftam_f_read_link_attrib_response = -1; /* F_READ_LINK_ATTRIB_response */
304 static int hf_ftam_f_Change_link_attrib_request = -1; /* F_CHANGE_LINK_ATTRIB_request */
305 static int hf_ftam_f_Change_Iink_attrib_response = -1; /* F_CHANGE_LINK_ATTRIB_response */
306 static int hf_ftam_f_move_request = -1; /* F_MOVE_request */
307 static int hf_ftam_f_move_response = -1; /* F_MOVE_response */
308 static int hf_ftam_f_copy_request = -1; /* F_COPY_request */
309 static int hf_ftam_f_copy_response = -1; /* F_COPY_response */
310 static int hf_ftam_reset = -1; /* BOOLEAN */
311 static int hf_ftam_destination_file_directory = -1; /* Destination_File_Directory */
312 static int hf_ftam_attribute_value_asset_tions = -1; /* Attribute_Value_Assertions */
313 static int hf_ftam_scope = -1; /* Scope */
314 static int hf_ftam_objects_attributes_list = -1; /* Objects_Attributes_List */
315 static int hf_ftam_attribute_value_assertions = -1; /* Attribute_Value_Assertions */
316 static int hf_ftam_maximum_set_size = -1; /* INTEGER */
317 static int hf_ftam_request_Operation_result = -1; /* Request_Operation_Result */
318 static int hf_ftam_operation_result = -1; /* Operation_Result */
319 static int hf_ftam_error_action = -1; /* Error_Action */
320 static int hf_ftam_last_member_indicator = -1; /* BOOLEAN */
321 static int hf_ftam_shared_ASE_infonnation = -1; /* Shared_ASE_Information */
322 static int hf_ftam_target_object = -1; /* Pathname_Attribute */
323 static int hf_ftam_target_Object = -1; /* Pathname_Attribute */
324 static int hf_ftam_read_link_attributes = -1; /* Read_Attributes */
325 static int hf_ftam_Attribute_Extension_Names_item = -1; /* Attribute_Extension_Set_Name */
326 static int hf_ftam_extension_set_identifier = -1; /* Extension_Set_Identifier */
327 static int hf_ftam_extension_attribute_names = -1; /* SEQUENCE_OF_Extension_Attribute_identifier */
328 static int hf_ftam_extension_attribute_names_item = -1; /* Extension_Attribute_identifier */
329 static int hf_ftam_Attribute_Extensions_item = -1; /* Attribute_Extension_Set */
330 static int hf_ftam_extension_set_attributes = -1; /* SEQUENCE_OF_Extension_Attribute */
331 static int hf_ftam_extension_set_attributes_item = -1; /* Extension_Attribute */
332 static int hf_ftam_extension_attribute_identifier = -1; /* T_extension_attribute_identifier */
333 static int hf_ftam_extension_attribute = -1; /* T_extension_attribute */
334 static int hf_ftam__untag_item_03 = -1; /* T__untag_item */
335 static int hf_ftam_root_directory = -1; /* Pathname_Attribute */
336 static int hf_ftam_retrieval_scope = -1; /* T_retrieval_scope */
337 static int hf_ftam_OR_Set_item = -1; /* AND_Set */
338 static int hf_ftam_AND_Set_item = -1; /* AND_Set_item */
339 static int hf_ftam_pathname_Pattern = -1; /* Pathname_Pattern */
340 static int hf_ftam_object_type_Pattern = -1; /* Integer_Pattern */
341 static int hf_ftam_permitted_actions_Pattern = -1; /* Bitstring_Pattern */
342 static int hf_ftam_contents_type_Pattern = -1; /* Contents_Type_Pattern */
343 static int hf_ftam_linked_Object_Pattern = -1; /* Pathname_Pattern */
344 static int hf_ftam_child_objects_Pattern = -1; /* Pathname_Pattern */
345 static int hf_ftam_primaty_pathname_Pattern = -1; /* Pathname_Pattern */
346 static int hf_ftam_storage_account_Pattern = -1; /* String_Pattern */
347 static int hf_ftam_date_and_time_of_creation_Pattern = -1; /* Date_and_Time_Pattern */
348 static int hf_ftam_date_and_time_of_last_modification_Pattern = -1; /* Date_and_Time_Pattern */
349 static int hf_ftam_date_and_time_of_last_read_access_Pattern = -1; /* Date_and_Time_Pattern */
350 static int hf_ftam_date_and_time_of_last_attribute_modification_Pattern = -1; /* Date_and_Time_Pattern */
351 static int hf_ftam_identity_of_creator_Pattern = -1; /* User_Identity_Pattern */
352 static int hf_ftam_identity_of_last_modifier_Pattern = -1; /* User_Identity_Pattern */
353 static int hf_ftam_identity_of_last_reader_Pattern = -1; /* User_Identity_Pattern */
354 static int hf_ftam_identity_of_last_attribute_modifier_Pattern = -1; /* User_Identity_Pattern */
355 static int hf_ftam_object_availabiiity_Pattern = -1; /* Boolean_Pattern */
356 static int hf_ftam_object_size_Pattern = -1; /* Integer_Pattern */
357 static int hf_ftam_future_object_size_Pattern = -1; /* Integer_Pattern */
358 static int hf_ftam_legal_quailfication_Pattern = -1; /* String_Pattern */
359 static int hf_ftam_attribute_extensions_pattern = -1; /* Attribute_Extensions_Pattern */
360 static int hf_ftam_equality_comparision = -1; /* Equality_Comparision */
361 static int hf_ftam_pathname_value = -1; /* T_pathname_value */
362 static int hf_ftam_pathname_value_item = -1; /* T_pathname_value_item */
363 static int hf_ftam_string_match = -1; /* String_Pattern */
364 static int hf_ftam_any_match = -1; /* NULL */
365 static int hf_ftam_string_value = -1; /* T_string_value */
366 static int hf_ftam_string_value_item = -1; /* T_string_value_item */
367 static int hf_ftam_substring_match = -1; /* GraphicString */
368 static int hf_ftam_number_of_characters_match = -1; /* INTEGER */
369 static int hf_ftam_match_bitstring = -1; /* BIT_STRING */
370 static int hf_ftam_significance_bitstring = -1; /* BIT_STRING */
371 static int hf_ftam_relational_camparision = -1; /* Equality_Comparision */
372 static int hf_ftam_time_and_date_value = -1; /* GeneralizedTime */
373 static int hf_ftam_relational_comparision = -1; /* Relational_Comparision */
374 static int hf_ftam_integer_value = -1; /* INTEGER */
375 static int hf_ftam_object_identifier_value = -1; /* OBJECT_IDENTIFIER */
376 static int hf_ftam_boolean_value = -1; /* BOOLEAN */
377 static int hf_ftam_document_type_Pattern = -1; /* Object_Identifier_Pattern */
378 static int hf_ftam_constraint_set_abstract_Syntax_Pattern = -1; /* T_constraint_set_abstract_Syntax_Pattern */
379 static int hf_ftam_constraint_Set_Pattern = -1; /* Object_Identifier_Pattern */
380 static int hf_ftam_abstract_Syntax_Pattern = -1; /* Object_Identifier_Pattern */
381 static int hf_ftam_Attribute_Extensions_Pattern_item = -1; /* Attribute_Extensions_Pattern_item */
382 static int hf_ftam_extension_set_attribute_Patterns = -1; /* T_extension_set_attribute_Patterns */
383 static int hf_ftam_extension_set_attribute_Patterns_item = -1; /* T_extension_set_attribute_Patterns_item */
384 static int hf_ftam_attribute_extension_attribute_identifier = -1; /* T_attribute_extension_attribute_identifier */
385 static int hf_ftam_extension_attribute_Pattern = -1; /* T_extension_attribute_Pattern */
386 static int hf_ftam__untag_item_04 = -1; /* Read_Attributes */
387 static int hf_ftam_success_Object_count = -1; /* INTEGER */
388 static int hf_ftam_success_Object_names = -1; /* SEQUENCE_OF_Pathname */
389 static int hf_ftam_success_Object_names_item = -1; /* Pathname */
390 static int hf_ftam_Pathname_item = -1; /* GraphicString */
391 static int hf_ftam_Pass_Passwords_item = -1; /* Password */
392 static int hf_ftam__untag_item_05 = -1; /* Path_Access_Passwords_item */
393 static int hf_ftam_ap = -1; /* AP_title */
394 static int hf_ftam_ae = -1; /* AE_qualifier */
395 /* named bits */
396 static int hf_ftam_Protocol_Version_U_version_1 = -1;
397 static int hf_ftam_Protocol_Version_U_version_2 = -1;
398 static int hf_ftam_Service_Class_U_unconstrained_class = -1;
399 static int hf_ftam_Service_Class_U_management_class = -1;
400 static int hf_ftam_Service_Class_U_transfer_class = -1;
401 static int hf_ftam_Service_Class_U_transfer_and_management_class = -1;
402 static int hf_ftam_Service_Class_U_access_class = -1;
403 static int hf_ftam_Functional_Units_U_read = -1;
404 static int hf_ftam_Functional_Units_U_write = -1;
405 static int hf_ftam_Functional_Units_U_file_access = -1;
406 static int hf_ftam_Functional_Units_U_limited_file_management = -1;
407 static int hf_ftam_Functional_Units_U_enhanced_file_management = -1;
408 static int hf_ftam_Functional_Units_U_grouping = -1;
409 static int hf_ftam_Functional_Units_U_fadu_locking = -1;
410 static int hf_ftam_Functional_Units_U_recovery = -1;
411 static int hf_ftam_Functional_Units_U_restart_data_transfer = -1;
412 static int hf_ftam_Functional_Units_U_limited_filestore_management = -1;
413 static int hf_ftam_Functional_Units_U_enhanced_filestore_management = -1;
414 static int hf_ftam_Functional_Units_U_object_manipulation = -1;
415 static int hf_ftam_Functional_Units_U_group_manipulation = -1;
416 static int hf_ftam_Functional_Units_U_consecutive_access = -1;
417 static int hf_ftam_Functional_Units_U_concurrent_access = -1;
418 static int hf_ftam_Attribute_Groups_U_storage = -1;
419 static int hf_ftam_Attribute_Groups_U_security = -1;
420 static int hf_ftam_Attribute_Groups_U_private = -1;
421 static int hf_ftam_Attribute_Groups_U_extension = -1;
422 static int hf_ftam_T_processing_mode_f_read = -1;
423 static int hf_ftam_T_processing_mode_f_insert = -1;
424 static int hf_ftam_T_processing_mode_f_replace = -1;
425 static int hf_ftam_T_processing_mode_f_extend = -1;
426 static int hf_ftam_T_processing_mode_f_erase = -1;
427 static int hf_ftam_Access_Request_U_read = -1;
428 static int hf_ftam_Access_Request_U_insert = -1;
429 static int hf_ftam_Access_Request_U_replace = -1;
430 static int hf_ftam_Access_Request_U_extend = -1;
431 static int hf_ftam_Access_Request_U_erase = -1;
432 static int hf_ftam_Access_Request_U_read_attribute = -1;
433 static int hf_ftam_Access_Request_U_change_attribute = -1;
434 static int hf_ftam_Access_Request_U_delete_Object = -1;
435 static int hf_ftam_Concurrency_Key_not_required = -1;
436 static int hf_ftam_Concurrency_Key_shared = -1;
437 static int hf_ftam_Concurrency_Key_exclusive = -1;
438 static int hf_ftam_Concurrency_Key_no_access = -1;
439 static int hf_ftam_Permitted_Actions_Attribute_read = -1;
440 static int hf_ftam_Permitted_Actions_Attribute_insert = -1;
441 static int hf_ftam_Permitted_Actions_Attribute_replace = -1;
442 static int hf_ftam_Permitted_Actions_Attribute_extend = -1;
443 static int hf_ftam_Permitted_Actions_Attribute_erase = -1;
444 static int hf_ftam_Permitted_Actions_Attribute_read_attribute = -1;
445 static int hf_ftam_Permitted_Actions_Attribute_change_attribute = -1;
446 static int hf_ftam_Permitted_Actions_Attribute_delete_Object = -1;
447 static int hf_ftam_Permitted_Actions_Attribute_pass = -1;
448 static int hf_ftam_Permitted_Actions_Attribute_link = -1;
449 static int hf_ftam_Permitted_Actions_Attribute_traversal = -1;
450 static int hf_ftam_Permitted_Actions_Attribute_reverse_traversal = -1;
451 static int hf_ftam_Permitted_Actions_Attribute_random_Order = -1;
452 static int hf_ftam_Equality_Comparision_no_value_available_matches = -1;
453 static int hf_ftam_Equality_Comparision_equals_matches = -1;
454 static int hf_ftam_Relational_Comparision_no_value_available_matches = -1;
455 static int hf_ftam_Relational_Comparision_equals_matches = -1;
456 static int hf_ftam_Relational_Comparision_less_than_matches = -1;
457 static int hf_ftam_Relational_Comparision_greater_than_matches = -1;
458 static int hf_ftam_Attribute_Names_read_pathname = -1;
459 static int hf_ftam_Attribute_Names_read_Object_type = -1;
460 static int hf_ftam_Attribute_Names_read_permitted_actions = -1;
461 static int hf_ftam_Attribute_Names_read_contents_type = -1;
462 static int hf_ftam_Attribute_Names_read_linked_Object = -1;
463 static int hf_ftam_Attribute_Names_read_Child_objects = -1;
464 static int hf_ftam_Attribute_Names_read_primary_pathname = -1;
465 static int hf_ftam_Attribute_Names_read_storage_account = -1;
466 static int hf_ftam_Attribute_Names_read_date_and_time_of_creation = -1;
467 static int hf_ftam_Attribute_Names_read_date_and_time_of_last_modification = -1;
468 static int hf_ftam_Attribute_Names_read_date_and_time_of_last_read_access = -1;
469 static int hf_ftam_Attribute_Names_read_date_and_time_of_last_attribute_modification = -1;
470 static int hf_ftam_Attribute_Names_read_identity_of_creator = -1;
471 static int hf_ftam_Attribute_Names_read_identity_of_last_modifier = -1;
472 static int hf_ftam_Attribute_Names_read_identity_of_last_reader = -1;
473 static int hf_ftam_Attribute_Names_read_identity_of_last_attribute_modifier = -1;
474 static int hf_ftam_Attribute_Names_read_Object_availability = -1;
475 static int hf_ftam_Attribute_Names_read_Object_size = -1;
476 static int hf_ftam_Attribute_Names_read_future_Object_size = -1;
477 static int hf_ftam_Attribute_Names_read_access_control = -1;
478 static int hf_ftam_Attribute_Names_read_path_access_control = -1;
479 static int hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS = -1;
480 static int hf_ftam_Attribute_Names_read_private_use = -1;
482 /*--- End of included file: packet-ftam-hf.c ---*/
483 #line 56 "../../asn1/ftam/packet-ftam-template.c"
485 /* Initialize the subtree pointers */
486 static gint ett_ftam = -1;
488 /*--- Included file: packet-ftam-ett.c ---*/
489 #line 1 "../../asn1/ftam/packet-ftam-ett.c"
490 static gint ett_ftam_PDU = -1;
491 static gint ett_ftam_FTAM_Regime_PDU = -1;
492 static gint ett_ftam_F_INITIALIZE_request = -1;
493 static gint ett_ftam_F_INITIALIZE_response = -1;
494 static gint ett_ftam_Protocol_Version_U = -1;
495 static gint ett_ftam_Service_Class_U = -1;
496 static gint ett_ftam_Functional_Units_U = -1;
497 static gint ett_ftam_Attribute_Groups_U = -1;
498 static gint ett_ftam_Contents_Type_List_U = -1;
499 static gint ett_ftam_Contents_Type_List_item = -1;
500 static gint ett_ftam_F_TERMINATE_request = -1;
501 static gint ett_ftam_F_TERMINATE_response = -1;
502 static gint ett_ftam_F_U_ABORT_request = -1;
503 static gint ett_ftam_F_P_ABORT_request = -1;
504 static gint ett_ftam_File_PDU = -1;
505 static gint ett_ftam_F_SELECT_request = -1;
506 static gint ett_ftam_F_SELECT_response = -1;
507 static gint ett_ftam_F_DESELECT_request = -1;
508 static gint ett_ftam_F_DESELECT_response = -1;
509 static gint ett_ftam_F_CREATE_request = -1;
510 static gint ett_ftam_F_CREATE_response = -1;
511 static gint ett_ftam_F_DELETE_request = -1;
512 static gint ett_ftam_F_DELETE_response = -1;
513 static gint ett_ftam_F_READ_ATTRIB_request = -1;
514 static gint ett_ftam_F_READ_ATTRIB_response = -1;
515 static gint ett_ftam_F_CHANGE_ATTRIB_request = -1;
516 static gint ett_ftam_F_CHANGE_ATTRIB_response = -1;
517 static gint ett_ftam_F_OPEN_request = -1;
518 static gint ett_ftam_T_processing_mode = -1;
519 static gint ett_ftam_T_open_contents_type = -1;
520 static gint ett_ftam_SET_OF_Abstract_Syntax_Name = -1;
521 static gint ett_ftam_F_OPEN_response = -1;
522 static gint ett_ftam_F_CLOSE_request = -1;
523 static gint ett_ftam_F_CLOSE_response = -1;
524 static gint ett_ftam_F_BEGIN_GROUP_request = -1;
525 static gint ett_ftam_F_BEGIN_GROUP_response = -1;
526 static gint ett_ftam_F_END_GROUP_request = -1;
527 static gint ett_ftam_F_END_GROUP_response = -1;
528 static gint ett_ftam_F_RECOVER_request = -1;
529 static gint ett_ftam_F_RECOVER_response = -1;
530 static gint ett_ftam_F_LOCATE_request = -1;
531 static gint ett_ftam_F_LOCATE_response = -1;
532 static gint ett_ftam_F_ERASE_request = -1;
533 static gint ett_ftam_F_ERASE_response = -1;
534 static gint ett_ftam_Bulk_Data_PDU = -1;
535 static gint ett_ftam_F_READ_request = -1;
536 static gint ett_ftam_F_WRITE_request = -1;
537 static gint ett_ftam_F_DATA_END_request = -1;
538 static gint ett_ftam_F_TRANSFER_END_request = -1;
539 static gint ett_ftam_F_TRANSFER_END_response = -1;
540 static gint ett_ftam_F_CANCEL_request = -1;
541 static gint ett_ftam_F_CANCEL_response = -1;
542 static gint ett_ftam_F_RESTART_request = -1;
543 static gint ett_ftam_F_RESTART_response = -1;
544 static gint ett_ftam_Access_Context_U = -1;
545 static gint ett_ftam_Access_Passwords_U = -1;
546 static gint ett_ftam_Access_Request_U = -1;
547 static gint ett_ftam_Change_Attributes_U = -1;
548 static gint ett_ftam_Charging_U = -1;
549 static gint ett_ftam_Charging_item = -1;
550 static gint ett_ftam_Concurrency_Control_U = -1;
551 static gint ett_ftam_Create_Attributes_U = -1;
552 static gint ett_ftam_Diagnostic_U = -1;
553 static gint ett_ftam_Diagnostic_item = -1;
554 static gint ett_ftam_FADU_Identity_U = -1;
555 static gint ett_ftam_SEQUENCE_OF_Node_Name = -1;
556 static gint ett_ftam_Password_U = -1;
557 static gint ett_ftam_Read_Attributes_U = -1;
558 static gint ett_ftam_Select_Attributes_U = -1;
559 static gint ett_ftam_Access_Control_Attribute = -1;
560 static gint ett_ftam_SET_OF_Access_Control_Element = -1;
561 static gint ett_ftam_Access_Control_Change_Attribute = -1;
562 static gint ett_ftam_T_actual_values1 = -1;
563 static gint ett_ftam_Access_Control_Element = -1;
564 static gint ett_ftam_Concurrency_Access = -1;
565 static gint ett_ftam_Concurrency_Key = -1;
566 static gint ett_ftam_Account_Attribute = -1;
567 static gint ett_ftam_Contents_Type_Attribute = -1;
568 static gint ett_ftam_T_document_type = -1;
569 static gint ett_ftam_T_constraint_set_and_abstract_Syntax = -1;
570 static gint ett_ftam_Date_and_Time_Attribute = -1;
571 static gint ett_ftam_Object_Availability_Attribute = -1;
572 static gint ett_ftam_Pathname_Attribute = -1;
573 static gint ett_ftam_Object_Size_Attribute = -1;
574 static gint ett_ftam_Legal_Qualification_Attribute = -1;
575 static gint ett_ftam_Permitted_Actions_Attribute = -1;
576 static gint ett_ftam_Private_Use_Attribute = -1;
577 static gint ett_ftam_User_Identity_Attribute = -1;
578 static gint ett_ftam_Child_Objects_Attribute = -1;
579 static gint ett_ftam_FSM_PDU = -1;
580 static gint ett_ftam_F_CHANGE_PREFIX_request = -1;
581 static gint ett_ftam_F_CHANGE_PREFIX_response = -1;
582 static gint ett_ftam_F_LIST_request = -1;
583 static gint ett_ftam_F_LIST_response = -1;
584 static gint ett_ftam_F_GROUP_SELECT_request = -1;
585 static gint ett_ftam_F_GROUP_SELECT_response = -1;
586 static gint ett_ftam_F_GROUP_DELETE_request = -1;
587 static gint ett_ftam_F_GROUP_DELETE_response = -1;
588 static gint ett_ftam_F_GROUP_MOVE_request = -1;
589 static gint ett_ftam_F_GROUP_MOVE_response = -1;
590 static gint ett_ftam_F_GROUP_COPY_request = -1;
591 static gint ett_ftam_F_GROUP_COPY_response = -1;
592 static gint ett_ftam_F_GROUP_LIST_request = -1;
593 static gint ett_ftam_F_GROUP_LIST_response = -1;
594 static gint ett_ftam_F_GROUP_CHANGE_ATTRIB_request = -1;
595 static gint ett_ftam_F_GROUP_CHANGE_ATTRIB_response = -1;
596 static gint ett_ftam_F_SELECT_ANOTHER_request = -1;
597 static gint ett_ftam_F_SELECT_ANOTHER_response = -1;
598 static gint ett_ftam_F_CREATE_DIRECTORY_request = -1;
599 static gint ett_ftam_F_CREATE_DIRECTORY_response = -1;
600 static gint ett_ftam_F_LINK_request = -1;
601 static gint ett_ftam_F_LINK_response = -1;
602 static gint ett_ftam_F_UNLINK_request = -1;
603 static gint ett_ftam_F_UNLINK_response = -1;
604 static gint ett_ftam_F_READ_LINK_ATTRIB_request = -1;
605 static gint ett_ftam_F_READ_LINK_ATTRIB_response = -1;
606 static gint ett_ftam_F_CHANGE_LINK_ATTRIB_request = -1;
607 static gint ett_ftam_F_CHANGE_LINK_ATTRIB_response = -1;
608 static gint ett_ftam_F_MOVE_request = -1;
609 static gint ett_ftam_F_MOVE_response = -1;
610 static gint ett_ftam_F_COPY_request = -1;
611 static gint ett_ftam_F_COPY_response = -1;
612 static gint ett_ftam_Attribute_Extension_Names = -1;
613 static gint ett_ftam_Attribute_Extension_Set_Name = -1;
614 static gint ett_ftam_SEQUENCE_OF_Extension_Attribute_identifier = -1;
615 static gint ett_ftam_Attribute_Extensions = -1;
616 static gint ett_ftam_Attribute_Extension_Set = -1;
617 static gint ett_ftam_SEQUENCE_OF_Extension_Attribute = -1;
618 static gint ett_ftam_Extension_Attribute = -1;
619 static gint ett_ftam_Scope_U = -1;
620 static gint ett_ftam_T__untag_item = -1;
621 static gint ett_ftam_OR_Set = -1;
622 static gint ett_ftam_AND_Set = -1;
623 static gint ett_ftam_AND_Set_item = -1;
624 static gint ett_ftam_Equality_Comparision = -1;
625 static gint ett_ftam_Relational_Comparision = -1;
626 static gint ett_ftam_Pathname_Pattern = -1;
627 static gint ett_ftam_T_pathname_value = -1;
628 static gint ett_ftam_T_pathname_value_item = -1;
629 static gint ett_ftam_String_Pattern = -1;
630 static gint ett_ftam_T_string_value = -1;
631 static gint ett_ftam_T_string_value_item = -1;
632 static gint ett_ftam_Bitstring_Pattern = -1;
633 static gint ett_ftam_Date_and_Time_Pattern = -1;
634 static gint ett_ftam_Integer_Pattern = -1;
635 static gint ett_ftam_Object_Identifier_Pattern = -1;
636 static gint ett_ftam_Boolean_Pattern = -1;
637 static gint ett_ftam_Contents_Type_Pattern = -1;
638 static gint ett_ftam_T_constraint_set_abstract_Syntax_Pattern = -1;
639 static gint ett_ftam_Attribute_Extensions_Pattern = -1;
640 static gint ett_ftam_Attribute_Extensions_Pattern_item = -1;
641 static gint ett_ftam_T_extension_set_attribute_Patterns = -1;
642 static gint ett_ftam_T_extension_set_attribute_Patterns_item = -1;
643 static gint ett_ftam_SEQUENCE_OF_Read_Attributes = -1;
644 static gint ett_ftam_Operation_Result_U = -1;
645 static gint ett_ftam_SEQUENCE_OF_Pathname = -1;
646 static gint ett_ftam_Pathname = -1;
647 static gint ett_ftam_Pass_Passwords = -1;
648 static gint ett_ftam_Path_Access_Passwords_U = -1;
649 static gint ett_ftam_Path_Access_Passwords_item = -1;
650 static gint ett_ftam_Attribute_Names = -1;
651 static gint ett_ftam_AE_title = -1;
653 /*--- End of included file: packet-ftam-ett.c ---*/
654 #line 60 "../../asn1/ftam/packet-ftam-template.c"
657 /*--- Included file: packet-ftam-fn.c ---*/
658 #line 1 "../../asn1/ftam/packet-ftam-fn.c"
660 static const asn_namedbit Protocol_Version_U_bits[] = {
661 { 0, &hf_ftam_Protocol_Version_U_version_1, -1, -1, "version-1", NULL },
662 { 1, &hf_ftam_Protocol_Version_U_version_2, -1, -1, "version-2", NULL },
663 { 0, NULL, 0, 0, NULL, NULL }
666 static int
667 dissect_ftam_Protocol_Version_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
668 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
669 Protocol_Version_U_bits, hf_index, ett_ftam_Protocol_Version_U,
670 NULL);
672 return offset;
677 static int
678 dissect_ftam_Protocol_Version(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
679 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
680 hf_index, BER_CLASS_CON, 0, TRUE, dissect_ftam_Protocol_Version_U);
682 return offset;
687 static int
688 dissect_ftam_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
689 offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
690 actx, tree, tvb, offset, hf_index,
691 NULL);
693 return offset;
698 static int
699 dissect_ftam_Implementation_Information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
700 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
701 hf_index, BER_CLASS_CON, 1, TRUE, dissect_ftam_GraphicString);
703 return offset;
708 static int
709 dissect_ftam_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
710 offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
712 return offset;
716 static const asn_namedbit Service_Class_U_bits[] = {
717 { 0, &hf_ftam_Service_Class_U_unconstrained_class, -1, -1, "unconstrained-class", NULL },
718 { 1, &hf_ftam_Service_Class_U_management_class, -1, -1, "management-class", NULL },
719 { 2, &hf_ftam_Service_Class_U_transfer_class, -1, -1, "transfer-class", NULL },
720 { 3, &hf_ftam_Service_Class_U_transfer_and_management_class, -1, -1, "transfer-and-management-class", NULL },
721 { 4, &hf_ftam_Service_Class_U_access_class, -1, -1, "access-class", NULL },
722 { 0, NULL, 0, 0, NULL, NULL }
725 static int
726 dissect_ftam_Service_Class_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
727 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
728 Service_Class_U_bits, hf_index, ett_ftam_Service_Class_U,
729 NULL);
731 return offset;
736 static int
737 dissect_ftam_Service_Class(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
738 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
739 hf_index, BER_CLASS_CON, 3, TRUE, dissect_ftam_Service_Class_U);
741 return offset;
745 static const asn_namedbit Functional_Units_U_bits[] = {
746 { 2, &hf_ftam_Functional_Units_U_read, -1, -1, "read", NULL },
747 { 3, &hf_ftam_Functional_Units_U_write, -1, -1, "write", NULL },
748 { 4, &hf_ftam_Functional_Units_U_file_access, -1, -1, "file-access", NULL },
749 { 5, &hf_ftam_Functional_Units_U_limited_file_management, -1, -1, "limited-file-management", NULL },
750 { 6, &hf_ftam_Functional_Units_U_enhanced_file_management, -1, -1, "enhanced-file-management", NULL },
751 { 7, &hf_ftam_Functional_Units_U_grouping, -1, -1, "grouping", NULL },
752 { 8, &hf_ftam_Functional_Units_U_fadu_locking, -1, -1, "fadu-locking", NULL },
753 { 9, &hf_ftam_Functional_Units_U_recovery, -1, -1, "recovery", NULL },
754 { 10, &hf_ftam_Functional_Units_U_restart_data_transfer, -1, -1, "restart-data-transfer", NULL },
755 { 11, &hf_ftam_Functional_Units_U_limited_filestore_management, -1, -1, "limited-filestore-management", NULL },
756 { 12, &hf_ftam_Functional_Units_U_enhanced_filestore_management, -1, -1, "enhanced-filestore-management", NULL },
757 { 13, &hf_ftam_Functional_Units_U_object_manipulation, -1, -1, "object-manipulation", NULL },
758 { 14, &hf_ftam_Functional_Units_U_group_manipulation, -1, -1, "group-manipulation", NULL },
759 { 15, &hf_ftam_Functional_Units_U_consecutive_access, -1, -1, "consecutive-access", NULL },
760 { 16, &hf_ftam_Functional_Units_U_concurrent_access, -1, -1, "concurrent-access", NULL },
761 { 0, NULL, 0, 0, NULL, NULL }
764 static int
765 dissect_ftam_Functional_Units_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
766 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
767 Functional_Units_U_bits, hf_index, ett_ftam_Functional_Units_U,
768 NULL);
770 return offset;
775 static int
776 dissect_ftam_Functional_Units(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
777 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
778 hf_index, BER_CLASS_CON, 4, TRUE, dissect_ftam_Functional_Units_U);
780 return offset;
784 static const asn_namedbit Attribute_Groups_U_bits[] = {
785 { 0, &hf_ftam_Attribute_Groups_U_storage, -1, -1, "storage", NULL },
786 { 1, &hf_ftam_Attribute_Groups_U_security, -1, -1, "security", NULL },
787 { 2, &hf_ftam_Attribute_Groups_U_private, -1, -1, "private", NULL },
788 { 3, &hf_ftam_Attribute_Groups_U_extension, -1, -1, "extension", NULL },
789 { 0, NULL, 0, 0, NULL, NULL }
792 static int
793 dissect_ftam_Attribute_Groups_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
794 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
795 Attribute_Groups_U_bits, hf_index, ett_ftam_Attribute_Groups_U,
796 NULL);
798 return offset;
803 static int
804 dissect_ftam_Attribute_Groups(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
805 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
806 hf_index, BER_CLASS_CON, 5, TRUE, dissect_ftam_Attribute_Groups_U);
808 return offset;
813 static int
814 dissect_ftam_EXTERNAL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
815 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
817 return offset;
822 static int
823 dissect_ftam_Shared_ASE_Information(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
824 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
825 hf_index, BER_CLASS_APP, 20, TRUE, dissect_ftam_EXTERNAL);
827 return offset;
831 static const value_string ftam_FTAM_Quality_of_Service_U_vals[] = {
832 { 0, "no-recovery" },
833 { 1, "class-1-recovery" },
834 { 2, "class-2-recovery" },
835 { 3, "class-3-recovery" },
836 { 0, NULL }
840 static int
841 dissect_ftam_FTAM_Quality_of_Service_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
842 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
843 NULL);
845 return offset;
850 static int
851 dissect_ftam_FTAM_Quality_of_Service(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
852 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
853 hf_index, BER_CLASS_CON, 6, TRUE, dissect_ftam_FTAM_Quality_of_Service_U);
855 return offset;
860 static int
861 dissect_ftam_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
862 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
864 return offset;
869 static int
870 dissect_ftam_Document_Type_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
871 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
872 hf_index, BER_CLASS_APP, 14, TRUE, dissect_ftam_OBJECT_IDENTIFIER);
874 return offset;
879 static int
880 dissect_ftam_Abstract_Syntax_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
881 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
882 hf_index, BER_CLASS_APP, 0, TRUE, dissect_ftam_OBJECT_IDENTIFIER);
884 return offset;
888 static const value_string ftam_Contents_Type_List_item_vals[] = {
889 { 14, "document-type-name" },
890 { 0, "abstract-Syntax-name" },
891 { 0, NULL }
894 static const ber_choice_t Contents_Type_List_item_choice[] = {
895 { 14, &hf_ftam_document_type_name, BER_CLASS_APP, 14, BER_FLAGS_NOOWNTAG, dissect_ftam_Document_Type_Name },
896 { 0, &hf_ftam_abstract_Syntax_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_Abstract_Syntax_Name },
897 { 0, NULL, 0, 0, 0, NULL }
900 static int
901 dissect_ftam_Contents_Type_List_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
902 offset = dissect_ber_choice(actx, tree, tvb, offset,
903 Contents_Type_List_item_choice, hf_index, ett_ftam_Contents_Type_List_item,
904 NULL);
906 return offset;
910 static const ber_sequence_t Contents_Type_List_U_sequence_of[1] = {
911 { &hf_ftam__untag_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_List_item },
914 static int
915 dissect_ftam_Contents_Type_List_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
916 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
917 Contents_Type_List_U_sequence_of, hf_index, ett_ftam_Contents_Type_List_U);
919 return offset;
924 static int
925 dissect_ftam_Contents_Type_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
926 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
927 hf_index, BER_CLASS_CON, 7, TRUE, dissect_ftam_Contents_Type_List_U);
929 return offset;
934 static int
935 dissect_ftam_User_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
936 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
937 hf_index, BER_CLASS_APP, 22, TRUE, dissect_ftam_GraphicString);
939 return offset;
944 static int
945 dissect_ftam_Account(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
946 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
947 hf_index, BER_CLASS_APP, 4, TRUE, dissect_ftam_GraphicString);
949 return offset;
954 static int
955 dissect_ftam_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
956 offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
957 NULL);
959 return offset;
963 static const value_string ftam_Password_U_vals[] = {
964 { 0, "graphicString" },
965 { 1, "octetString" },
966 { 0, NULL }
969 static const ber_choice_t Password_U_choice[] = {
970 { 0, &hf_ftam_graphicString , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftam_GraphicString },
971 { 1, &hf_ftam_octetString , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ftam_OCTET_STRING },
972 { 0, NULL, 0, 0, 0, NULL }
975 static int
976 dissect_ftam_Password_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
977 offset = dissect_ber_choice(actx, tree, tvb, offset,
978 Password_U_choice, hf_index, ett_ftam_Password_U,
979 NULL);
981 return offset;
986 static int
987 dissect_ftam_Password(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
988 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
989 hf_index, BER_CLASS_APP, 17, FALSE, dissect_ftam_Password_U);
991 return offset;
996 static int
997 dissect_ftam_INTEGER(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
998 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
999 NULL);
1001 return offset;
1005 static const ber_sequence_t F_INITIALIZE_request_sequence[] = {
1006 { &hf_ftam_protocol_Version, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Protocol_Version },
1007 { &hf_ftam_implementation_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Implementation_Information },
1008 { &hf_ftam_presentation_tontext_management, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
1009 { &hf_ftam_service_class , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Service_Class },
1010 { &hf_ftam_functional_units, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_ftam_Functional_Units },
1011 { &hf_ftam_attribute_groups, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Groups },
1012 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1013 { &hf_ftam_ftam_quality_of_Service, BER_CLASS_CON, 6, BER_FLAGS_NOOWNTAG, dissect_ftam_FTAM_Quality_of_Service },
1014 { &hf_ftam_contents_type_list, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Contents_Type_List },
1015 { &hf_ftam_initiator_identity, BER_CLASS_APP, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_User_Identity },
1016 { &hf_ftam_account , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
1017 { &hf_ftam_filestore_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
1018 { &hf_ftam_checkpoint_window, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1019 { NULL, 0, 0, 0, NULL }
1022 static int
1023 dissect_ftam_F_INITIALIZE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1024 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1025 F_INITIALIZE_request_sequence, hf_index, ett_ftam_F_INITIALIZE_request);
1027 return offset;
1031 static const value_string ftam_State_Result_U_vals[] = {
1032 { 0, "success" },
1033 { 1, "failure" },
1034 { 0, NULL }
1038 static int
1039 dissect_ftam_State_Result_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1040 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1041 NULL);
1043 return offset;
1048 static int
1049 dissect_ftam_State_Result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1050 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1051 hf_index, BER_CLASS_APP, 21, TRUE, dissect_ftam_State_Result_U);
1053 return offset;
1057 static const value_string ftam_Action_Result_U_vals[] = {
1058 { 0, "success" },
1059 { 1, "transient-error" },
1060 { 2, "permanent-error" },
1061 { 0, NULL }
1065 static int
1066 dissect_ftam_Action_Result_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1067 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1068 NULL);
1070 return offset;
1075 static int
1076 dissect_ftam_Action_Result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1077 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1078 hf_index, BER_CLASS_APP, 5, TRUE, dissect_ftam_Action_Result_U);
1080 return offset;
1084 static const value_string ftam_T_diagnostic_type_vals[] = {
1085 { 0, "informative" },
1086 { 1, "transient" },
1087 { 2, "permanent" },
1088 { 0, NULL }
1092 static int
1093 dissect_ftam_T_diagnostic_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1094 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1095 NULL);
1097 return offset;
1101 static const value_string ftam_Entity_Reference_vals[] = {
1102 { 0, "no-categorization-possible" },
1103 { 1, "initiating-file-service-user" },
1104 { 2, "initiating-file-protocol-machine" },
1105 { 3, "service-supporting-the-file-protocol-machine" },
1106 { 4, "responding-file-protocol-machine" },
1107 { 5, "responding-file-service-user" },
1108 { 0, NULL }
1112 static int
1113 dissect_ftam_Entity_Reference(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1114 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1115 NULL);
1117 return offset;
1121 static const ber_sequence_t Diagnostic_item_sequence[] = {
1122 { &hf_ftam_diagnostic_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_diagnostic_type },
1123 { &hf_ftam_error_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1124 { &hf_ftam_error_observer , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_Entity_Reference },
1125 { &hf_ftam_error_Source , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_Entity_Reference },
1126 { &hf_ftam_suggested_delay, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1127 { &hf_ftam_further_details, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
1128 { NULL, 0, 0, 0, NULL }
1131 static int
1132 dissect_ftam_Diagnostic_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1133 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1134 Diagnostic_item_sequence, hf_index, ett_ftam_Diagnostic_item);
1136 return offset;
1140 static const ber_sequence_t Diagnostic_U_sequence_of[1] = {
1141 { &hf_ftam__untag_item_02 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic_item },
1144 static int
1145 dissect_ftam_Diagnostic_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1146 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1147 Diagnostic_U_sequence_of, hf_index, ett_ftam_Diagnostic_U);
1149 return offset;
1154 static int
1155 dissect_ftam_Diagnostic(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1156 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1157 hf_index, BER_CLASS_APP, 13, TRUE, dissect_ftam_Diagnostic_U);
1159 return offset;
1163 static const ber_sequence_t F_INITIALIZE_response_sequence[] = {
1164 { &hf_ftam_state_result , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
1165 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1166 { &hf_ftam_protocol_Version, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Protocol_Version },
1167 { &hf_ftam_implementation_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Implementation_Information },
1168 { &hf_ftam_presentation_tontext_management, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
1169 { &hf_ftam_service_class , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Service_Class },
1170 { &hf_ftam_functional_units, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_ftam_Functional_Units },
1171 { &hf_ftam_attribute_groups, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Groups },
1172 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1173 { &hf_ftam_ftam_quality_of_Service, BER_CLASS_CON, 6, BER_FLAGS_NOOWNTAG, dissect_ftam_FTAM_Quality_of_Service },
1174 { &hf_ftam_contents_type_list, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Contents_Type_List },
1175 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1176 { &hf_ftam_checkpoint_window, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1177 { NULL, 0, 0, 0, NULL }
1180 static int
1181 dissect_ftam_F_INITIALIZE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1182 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1183 F_INITIALIZE_response_sequence, hf_index, ett_ftam_F_INITIALIZE_response);
1185 return offset;
1189 static const ber_sequence_t F_TERMINATE_request_sequence[] = {
1190 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1191 { NULL, 0, 0, 0, NULL }
1194 static int
1195 dissect_ftam_F_TERMINATE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1196 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1197 F_TERMINATE_request_sequence, hf_index, ett_ftam_F_TERMINATE_request);
1199 return offset;
1203 static const ber_sequence_t Charging_item_sequence[] = {
1204 { &hf_ftam_resource_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
1205 { &hf_ftam_charging_unit , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
1206 { &hf_ftam_charging_value , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1207 { NULL, 0, 0, 0, NULL }
1210 static int
1211 dissect_ftam_Charging_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1212 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1213 Charging_item_sequence, hf_index, ett_ftam_Charging_item);
1215 return offset;
1219 static const ber_sequence_t Charging_U_sequence_of[1] = {
1220 { &hf_ftam__untag_item_01 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Charging_item },
1223 static int
1224 dissect_ftam_Charging_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1225 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1226 Charging_U_sequence_of, hf_index, ett_ftam_Charging_U);
1228 return offset;
1233 static int
1234 dissect_ftam_Charging(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1235 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1236 hf_index, BER_CLASS_APP, 9, TRUE, dissect_ftam_Charging_U);
1238 return offset;
1242 static const ber_sequence_t F_TERMINATE_response_sequence[] = {
1243 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1244 { &hf_ftam_charging , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
1245 { NULL, 0, 0, 0, NULL }
1248 static int
1249 dissect_ftam_F_TERMINATE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1250 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1251 F_TERMINATE_response_sequence, hf_index, ett_ftam_F_TERMINATE_response);
1253 return offset;
1257 static const ber_sequence_t F_U_ABORT_request_sequence[] = {
1258 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1259 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1260 { NULL, 0, 0, 0, NULL }
1263 static int
1264 dissect_ftam_F_U_ABORT_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1265 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1266 F_U_ABORT_request_sequence, hf_index, ett_ftam_F_U_ABORT_request);
1268 return offset;
1272 static const ber_sequence_t F_P_ABORT_request_sequence[] = {
1273 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1274 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1275 { NULL, 0, 0, 0, NULL }
1278 static int
1279 dissect_ftam_F_P_ABORT_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1280 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1281 F_P_ABORT_request_sequence, hf_index, ett_ftam_F_P_ABORT_request);
1283 return offset;
1287 static const value_string ftam_FTAM_Regime_PDU_vals[] = {
1288 { 0, "f-initialize-request" },
1289 { 1, "f-initialize-response" },
1290 { 2, "f-terminate-request" },
1291 { 3, "f-terminate-response" },
1292 { 4, "f-u-abort-request" },
1293 { 5, "f-p-abort-request" },
1294 { 0, NULL }
1297 static const ber_choice_t FTAM_Regime_PDU_choice[] = {
1298 { 0, &hf_ftam_f_initialize_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_F_INITIALIZE_request },
1299 { 1, &hf_ftam_f_initialize_response, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_F_INITIALIZE_response },
1300 { 2, &hf_ftam_f_terminate_request, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_F_TERMINATE_request },
1301 { 3, &hf_ftam_f_terminate_response, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_F_TERMINATE_response },
1302 { 4, &hf_ftam_f_u_abort_request, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_F_U_ABORT_request },
1303 { 5, &hf_ftam_f_p_abort_request, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_F_P_ABORT_request },
1304 { 0, NULL, 0, 0, 0, NULL }
1307 static int
1308 dissect_ftam_FTAM_Regime_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1309 #line 93 "../../asn1/ftam/ftam.cnf"
1310 gint branch_taken;
1312 offset = dissect_ber_choice(actx, tree, tvb, offset,
1313 FTAM_Regime_PDU_choice, hf_index, ett_ftam_FTAM_Regime_PDU,
1314 &branch_taken);
1317 if( (branch_taken!=-1) && ftam_FTAM_Regime_PDU_vals[branch_taken].strptr ){
1318 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s:", ftam_FTAM_Regime_PDU_vals[branch_taken].strptr);
1323 return offset;
1327 static const ber_sequence_t Pathname_sequence_of[1] = {
1328 { &hf_ftam_Pathname_item , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftam_GraphicString },
1332 dissect_ftam_Pathname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1333 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1334 Pathname_sequence_of, hf_index, ett_ftam_Pathname);
1336 return offset;
1340 static const value_string ftam_Pathname_Attribute_vals[] = {
1341 { 0, "incomplete-pathname" },
1342 { 1, "complete-pathname" },
1343 { 0, NULL }
1346 static const ber_choice_t Pathname_Attribute_choice[] = {
1347 { 0, &hf_ftam_incomplete_pathname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
1348 { 1, &hf_ftam_complete_pathname, BER_CLASS_APP, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
1349 { 0, NULL, 0, 0, 0, NULL }
1352 static int
1353 dissect_ftam_Pathname_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1354 offset = dissect_ber_choice(actx, tree, tvb, offset,
1355 Pathname_Attribute_choice, hf_index, ett_ftam_Pathname_Attribute,
1356 NULL);
1358 return offset;
1362 static const ber_sequence_t Select_Attributes_U_sequence[] = {
1363 { &hf_ftam_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
1364 { NULL, 0, 0, 0, NULL }
1367 static int
1368 dissect_ftam_Select_Attributes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1369 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1370 Select_Attributes_U_sequence, hf_index, ett_ftam_Select_Attributes_U);
1372 return offset;
1377 static int
1378 dissect_ftam_Select_Attributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1379 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1380 hf_index, BER_CLASS_APP, 19, TRUE, dissect_ftam_Select_Attributes_U);
1382 return offset;
1386 static const asn_namedbit Access_Request_U_bits[] = {
1387 { 0, &hf_ftam_Access_Request_U_read, -1, -1, "read", NULL },
1388 { 1, &hf_ftam_Access_Request_U_insert, -1, -1, "insert", NULL },
1389 { 2, &hf_ftam_Access_Request_U_replace, -1, -1, "replace", NULL },
1390 { 3, &hf_ftam_Access_Request_U_extend, -1, -1, "extend", NULL },
1391 { 4, &hf_ftam_Access_Request_U_erase, -1, -1, "erase", NULL },
1392 { 5, &hf_ftam_Access_Request_U_read_attribute, -1, -1, "read-attribute", NULL },
1393 { 6, &hf_ftam_Access_Request_U_change_attribute, -1, -1, "change-attribute", NULL },
1394 { 7, &hf_ftam_Access_Request_U_delete_Object, -1, -1, "delete-Object", NULL },
1395 { 0, NULL, 0, 0, NULL, NULL }
1398 static int
1399 dissect_ftam_Access_Request_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1400 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1401 Access_Request_U_bits, hf_index, ett_ftam_Access_Request_U,
1402 NULL);
1404 return offset;
1409 static int
1410 dissect_ftam_Access_Request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1411 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1412 hf_index, BER_CLASS_APP, 3, TRUE, dissect_ftam_Access_Request_U);
1414 return offset;
1418 static const ber_sequence_t Pass_Passwords_sequence_of[1] = {
1419 { &hf_ftam_Pass_Passwords_item, BER_CLASS_APP, 17, BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
1422 static int
1423 dissect_ftam_Pass_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1424 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1425 Pass_Passwords_sequence_of, hf_index, ett_ftam_Pass_Passwords);
1427 return offset;
1431 static const ber_sequence_t Access_Passwords_U_sequence[] = {
1432 { &hf_ftam_read_password , BER_CLASS_CON, 0, 0, dissect_ftam_Password },
1433 { &hf_ftam_insert_password, BER_CLASS_CON, 1, 0, dissect_ftam_Password },
1434 { &hf_ftam_replace_password, BER_CLASS_CON, 2, 0, dissect_ftam_Password },
1435 { &hf_ftam_extend_password, BER_CLASS_CON, 3, 0, dissect_ftam_Password },
1436 { &hf_ftam_erase_password , BER_CLASS_CON, 4, 0, dissect_ftam_Password },
1437 { &hf_ftam_read_attribute_password, BER_CLASS_CON, 5, 0, dissect_ftam_Password },
1438 { &hf_ftam_change_attribute_password, BER_CLASS_CON, 6, 0, dissect_ftam_Password },
1439 { &hf_ftam_delete_password, BER_CLASS_CON, 7, 0, dissect_ftam_Password },
1440 { &hf_ftam_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Pass_Passwords },
1441 { &hf_ftam_link_password , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_ftam_Password },
1442 { NULL, 0, 0, 0, NULL }
1445 static int
1446 dissect_ftam_Access_Passwords_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1447 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1448 Access_Passwords_U_sequence, hf_index, ett_ftam_Access_Passwords_U);
1450 return offset;
1455 static int
1456 dissect_ftam_Access_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1457 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1458 hf_index, BER_CLASS_APP, 2, TRUE, dissect_ftam_Access_Passwords_U);
1460 return offset;
1464 static const ber_sequence_t Path_Access_Passwords_item_sequence[] = {
1465 { &hf_ftam_read_password , BER_CLASS_CON, 0, 0, dissect_ftam_Password },
1466 { &hf_ftam_insert_password, BER_CLASS_CON, 1, 0, dissect_ftam_Password },
1467 { &hf_ftam_replace_password, BER_CLASS_CON, 2, 0, dissect_ftam_Password },
1468 { &hf_ftam_extend_password, BER_CLASS_CON, 3, 0, dissect_ftam_Password },
1469 { &hf_ftam_erase_password , BER_CLASS_CON, 4, 0, dissect_ftam_Password },
1470 { &hf_ftam_read_attribute_password, BER_CLASS_CON, 5, 0, dissect_ftam_Password },
1471 { &hf_ftam_change_attribute_password, BER_CLASS_CON, 6, 0, dissect_ftam_Password },
1472 { &hf_ftam_delete_password, BER_CLASS_CON, 7, 0, dissect_ftam_Password },
1473 { &hf_ftam_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ftam_Pass_Passwords },
1474 { &hf_ftam_link_password , BER_CLASS_CON, 9, 0, dissect_ftam_Password },
1475 { NULL, 0, 0, 0, NULL }
1478 static int
1479 dissect_ftam_Path_Access_Passwords_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1480 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1481 Path_Access_Passwords_item_sequence, hf_index, ett_ftam_Path_Access_Passwords_item);
1483 return offset;
1487 static const ber_sequence_t Path_Access_Passwords_U_sequence_of[1] = {
1488 { &hf_ftam__untag_item_05 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords_item },
1491 static int
1492 dissect_ftam_Path_Access_Passwords_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1493 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1494 Path_Access_Passwords_U_sequence_of, hf_index, ett_ftam_Path_Access_Passwords_U);
1496 return offset;
1501 static int
1502 dissect_ftam_Path_Access_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1503 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1504 hf_index, BER_CLASS_APP, 27, TRUE, dissect_ftam_Path_Access_Passwords_U);
1506 return offset;
1510 static const value_string ftam_Lock_vals[] = {
1511 { 0, "not-required" },
1512 { 1, "shared" },
1513 { 2, "exclusive" },
1514 { 3, "no-access" },
1515 { 0, NULL }
1519 static int
1520 dissect_ftam_Lock(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1521 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1522 NULL);
1524 return offset;
1528 static const ber_sequence_t Concurrency_Control_U_sequence[] = {
1529 { &hf_ftam_read , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1530 { &hf_ftam_insert , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1531 { &hf_ftam_replace , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1532 { &hf_ftam_extend , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1533 { &hf_ftam_erase , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1534 { &hf_ftam_read_attribute , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1535 { &hf_ftam_change_attribute, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1536 { &hf_ftam_delete_Object , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1537 { NULL, 0, 0, 0, NULL }
1540 static int
1541 dissect_ftam_Concurrency_Control_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1542 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1543 Concurrency_Control_U_sequence, hf_index, ett_ftam_Concurrency_Control_U);
1545 return offset;
1550 static int
1551 dissect_ftam_Concurrency_Control(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1552 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1553 hf_index, BER_CLASS_APP, 10, TRUE, dissect_ftam_Concurrency_Control_U);
1555 return offset;
1559 static const ber_sequence_t F_SELECT_request_sequence[] = {
1560 { &hf_ftam_select_attributes, BER_CLASS_APP, 19, BER_FLAGS_NOOWNTAG, dissect_ftam_Select_Attributes },
1561 { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
1562 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
1563 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
1564 { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
1565 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1566 { &hf_ftam_account , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
1567 { NULL, 0, 0, 0, NULL }
1570 static int
1571 dissect_ftam_F_SELECT_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1572 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1573 F_SELECT_request_sequence, hf_index, ett_ftam_F_SELECT_request);
1575 return offset;
1580 static int
1581 dissect_ftam_Referent_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1582 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1583 hf_index, BER_CLASS_APP, 29, TRUE, dissect_ftam_BOOLEAN);
1585 return offset;
1589 static const ber_sequence_t F_SELECT_response_sequence[] = {
1590 { &hf_ftam_state_result , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
1591 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1592 { &hf_ftam_select_attributes, BER_CLASS_APP, 19, BER_FLAGS_NOOWNTAG, dissect_ftam_Select_Attributes },
1593 { &hf_ftam_referent_indicator, BER_CLASS_APP, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Referent_Indicator },
1594 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1595 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1596 { NULL, 0, 0, 0, NULL }
1599 static int
1600 dissect_ftam_F_SELECT_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1601 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1602 F_SELECT_response_sequence, hf_index, ett_ftam_F_SELECT_response);
1604 return offset;
1608 static const ber_sequence_t F_DESELECT_request_sequence[] = {
1609 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1610 { NULL, 0, 0, 0, NULL }
1613 static int
1614 dissect_ftam_F_DESELECT_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1615 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1616 F_DESELECT_request_sequence, hf_index, ett_ftam_F_DESELECT_request);
1618 return offset;
1622 static const ber_sequence_t F_DESELECT_response_sequence[] = {
1623 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1624 { &hf_ftam_charging , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
1625 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1626 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1627 { NULL, 0, 0, 0, NULL }
1630 static int
1631 dissect_ftam_F_DESELECT_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1632 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1633 F_DESELECT_response_sequence, hf_index, ett_ftam_F_DESELECT_response);
1635 return offset;
1639 static const value_string ftam_Override_vals[] = {
1640 { 0, "create-failure" },
1641 { 1, "select-old-Object" },
1642 { 2, "delete-and-create-with-old-attributes" },
1643 { 3, "delete-and-create-with-new-attributes" },
1644 { 0, NULL }
1648 static int
1649 dissect_ftam_Override(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1650 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1651 NULL);
1653 return offset;
1657 static const value_string ftam_Object_Type_Attribute_vals[] = {
1658 { 0, "file" },
1659 { 1, "file-directory" },
1660 { 2, "reference" },
1661 { 0, NULL }
1665 static int
1666 dissect_ftam_Object_Type_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1667 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1668 NULL);
1670 return offset;
1674 static const asn_namedbit Permitted_Actions_Attribute_bits[] = {
1675 { 0, &hf_ftam_Permitted_Actions_Attribute_read, -1, -1, "read", NULL },
1676 { 1, &hf_ftam_Permitted_Actions_Attribute_insert, -1, -1, "insert", NULL },
1677 { 2, &hf_ftam_Permitted_Actions_Attribute_replace, -1, -1, "replace", NULL },
1678 { 3, &hf_ftam_Permitted_Actions_Attribute_extend, -1, -1, "extend", NULL },
1679 { 4, &hf_ftam_Permitted_Actions_Attribute_erase, -1, -1, "erase", NULL },
1680 { 5, &hf_ftam_Permitted_Actions_Attribute_read_attribute, -1, -1, "read-attribute", NULL },
1681 { 6, &hf_ftam_Permitted_Actions_Attribute_change_attribute, -1, -1, "change-attribute", NULL },
1682 { 7, &hf_ftam_Permitted_Actions_Attribute_delete_Object, -1, -1, "delete-Object", NULL },
1683 { 11, &hf_ftam_Permitted_Actions_Attribute_pass, -1, -1, "pass", NULL },
1684 { 12, &hf_ftam_Permitted_Actions_Attribute_link, -1, -1, "link", NULL },
1685 { 8, &hf_ftam_Permitted_Actions_Attribute_traversal, -1, -1, "traversal", NULL },
1686 { 9, &hf_ftam_Permitted_Actions_Attribute_reverse_traversal, -1, -1, "reverse-traversal", NULL },
1687 { 10, &hf_ftam_Permitted_Actions_Attribute_random_Order, -1, -1, "random-Order", NULL },
1688 { 0, NULL, 0, 0, NULL, NULL }
1692 dissect_ftam_Permitted_Actions_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1693 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1694 Permitted_Actions_Attribute_bits, hf_index, ett_ftam_Permitted_Actions_Attribute,
1695 NULL);
1697 return offset;
1702 static int
1703 dissect_ftam_T_parameter(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1704 #line 76 "../../asn1/ftam/ftam.cnf"
1705 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
1709 return offset;
1713 static const ber_sequence_t T_document_type_sequence[] = {
1714 { &hf_ftam_document_type_name, BER_CLASS_APP, 14, BER_FLAGS_NOOWNTAG, dissect_ftam_Document_Type_Name },
1715 { &hf_ftam_parameter , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_ftam_T_parameter },
1716 { NULL, 0, 0, 0, NULL }
1719 static int
1720 dissect_ftam_T_document_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1721 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1722 T_document_type_sequence, hf_index, ett_ftam_T_document_type);
1724 return offset;
1729 static int
1730 dissect_ftam_Constraint_Set_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1731 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1732 hf_index, BER_CLASS_APP, 11, TRUE, dissect_ftam_OBJECT_IDENTIFIER);
1734 return offset;
1738 static const ber_sequence_t T_constraint_set_and_abstract_Syntax_sequence[] = {
1739 { &hf_ftam_constraint_set_name, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_ftam_Constraint_Set_Name },
1740 { &hf_ftam_abstract_Syntax_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_Abstract_Syntax_Name },
1741 { NULL, 0, 0, 0, NULL }
1744 static int
1745 dissect_ftam_T_constraint_set_and_abstract_Syntax(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1746 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1747 T_constraint_set_and_abstract_Syntax_sequence, hf_index, ett_ftam_T_constraint_set_and_abstract_Syntax);
1749 return offset;
1753 static const value_string ftam_Contents_Type_Attribute_vals[] = {
1754 { 0, "document-type" },
1755 { 1, "constraint-set-and-abstract-Syntax" },
1756 { 0, NULL }
1759 static const ber_choice_t Contents_Type_Attribute_choice[] = {
1760 { 0, &hf_ftam_document_type , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_document_type },
1761 { 1, &hf_ftam_constraint_set_and_abstract_Syntax, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_constraint_set_and_abstract_Syntax },
1762 { 0, NULL, 0, 0, 0, NULL }
1765 static int
1766 dissect_ftam_Contents_Type_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1767 offset = dissect_ber_choice(actx, tree, tvb, offset,
1768 Contents_Type_Attribute_choice, hf_index, ett_ftam_Contents_Type_Attribute,
1769 NULL);
1771 return offset;
1776 static int
1777 dissect_ftam_NULL(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1778 offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1780 return offset;
1784 static const value_string ftam_Account_Attribute_vals[] = {
1785 { 0, "no-value-available" },
1786 { 1, "actual-values" },
1787 { 0, NULL }
1790 static const ber_choice_t Account_Attribute_choice[] = {
1791 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
1792 { 1, &hf_ftam_actual_values2 , BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
1793 { 0, NULL, 0, 0, 0, NULL }
1796 static int
1797 dissect_ftam_Account_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1798 offset = dissect_ber_choice(actx, tree, tvb, offset,
1799 Account_Attribute_choice, hf_index, ett_ftam_Account_Attribute,
1800 NULL);
1802 return offset;
1806 static const value_string ftam_T_actual_values8_vals[] = {
1807 { 0, "immediate-availability" },
1808 { 1, "deferred-availability" },
1809 { 0, NULL }
1813 static int
1814 dissect_ftam_T_actual_values8(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1815 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1816 NULL);
1818 return offset;
1822 const value_string ftam_Object_Availability_Attribute_vals[] = {
1823 { 0, "no-value-available" },
1824 { 1, "actual-values" },
1825 { 0, NULL }
1828 static const ber_choice_t Object_Availability_Attribute_choice[] = {
1829 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
1830 { 1, &hf_ftam_actual_values8 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_actual_values8 },
1831 { 0, NULL, 0, 0, 0, NULL }
1835 dissect_ftam_Object_Availability_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1836 offset = dissect_ber_choice(actx, tree, tvb, offset,
1837 Object_Availability_Attribute_choice, hf_index, ett_ftam_Object_Availability_Attribute,
1838 NULL);
1840 return offset;
1844 const value_string ftam_Object_Size_Attribute_vals[] = {
1845 { 0, "no-value-available" },
1846 { 1, "actual-values" },
1847 { 0, NULL }
1850 static const ber_choice_t Object_Size_Attribute_choice[] = {
1851 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
1852 { 1, &hf_ftam_actual_values7 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1853 { 0, NULL, 0, 0, 0, NULL }
1857 dissect_ftam_Object_Size_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1858 offset = dissect_ber_choice(actx, tree, tvb, offset,
1859 Object_Size_Attribute_choice, hf_index, ett_ftam_Object_Size_Attribute,
1860 NULL);
1862 return offset;
1866 static const asn_namedbit Concurrency_Key_bits[] = {
1867 { 0, &hf_ftam_Concurrency_Key_not_required, -1, -1, "not-required", NULL },
1868 { 1, &hf_ftam_Concurrency_Key_shared, -1, -1, "shared", NULL },
1869 { 2, &hf_ftam_Concurrency_Key_exclusive, -1, -1, "exclusive", NULL },
1870 { 3, &hf_ftam_Concurrency_Key_no_access, -1, -1, "no-access", NULL },
1871 { 0, NULL, 0, 0, NULL, NULL }
1874 static int
1875 dissect_ftam_Concurrency_Key(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1876 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1877 Concurrency_Key_bits, hf_index, ett_ftam_Concurrency_Key,
1878 NULL);
1880 return offset;
1884 static const ber_sequence_t Concurrency_Access_sequence[] = {
1885 { &hf_ftam_read_key , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1886 { &hf_ftam_insert_key , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1887 { &hf_ftam_replace_key , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1888 { &hf_ftam_extend_key , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1889 { &hf_ftam_erase_key , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1890 { &hf_ftam_read_attribute_key, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1891 { &hf_ftam_change_attribute_key, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1892 { &hf_ftam_delete_Object_key, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1893 { NULL, 0, 0, 0, NULL }
1897 dissect_ftam_Concurrency_Access(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1898 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1899 Concurrency_Access_sequence, hf_index, ett_ftam_Concurrency_Access);
1901 return offset;
1906 static int
1907 dissect_ftam_AP_title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1908 #line 88 "../../asn1/ftam/ftam.cnf"
1909 /* XXX have no idea about this one */
1912 return offset;
1917 static int
1918 dissect_ftam_AE_qualifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1919 #line 90 "../../asn1/ftam/ftam.cnf"
1920 /* XXX have no idea about this one */
1924 return offset;
1928 static const ber_sequence_t AE_title_sequence[] = {
1929 { &hf_ftam_ap , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_AP_title },
1930 { &hf_ftam_ae , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_AE_qualifier },
1931 { NULL, 0, 0, 0, NULL }
1934 static int
1935 dissect_ftam_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1936 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1937 AE_title_sequence, hf_index, ett_ftam_AE_title);
1939 return offset;
1944 static int
1945 dissect_ftam_Application_Entity_Title(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1946 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1947 hf_index, BER_CLASS_APP, 7, FALSE, dissect_ftam_AE_title);
1949 return offset;
1953 static const ber_sequence_t Access_Control_Element_sequence[] = {
1954 { &hf_ftam_action_list , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Access_Request },
1955 { &hf_ftam_concurrency_access, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Access },
1956 { &hf_ftam_identity , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity },
1957 { &hf_ftam_passwords , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Access_Passwords },
1958 { &hf_ftam_location , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Application_Entity_Title },
1959 { NULL, 0, 0, 0, NULL }
1962 static int
1963 dissect_ftam_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1964 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1965 Access_Control_Element_sequence, hf_index, ett_ftam_Access_Control_Element);
1967 return offset;
1971 static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = {
1972 { &hf_ftam_actual_values3_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Control_Element },
1975 static int
1976 dissect_ftam_SET_OF_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1977 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1978 SET_OF_Access_Control_Element_set_of, hf_index, ett_ftam_SET_OF_Access_Control_Element);
1980 return offset;
1984 static const value_string ftam_Access_Control_Attribute_vals[] = {
1985 { 0, "no-value-available" },
1986 { 1, "actual-values" },
1987 { 0, NULL }
1990 static const ber_choice_t Access_Control_Attribute_choice[] = {
1991 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
1992 { 1, &hf_ftam_actual_values3 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Access_Control_Element },
1993 { 0, NULL, 0, 0, 0, NULL }
1996 static int
1997 dissect_ftam_Access_Control_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
1998 offset = dissect_ber_choice(actx, tree, tvb, offset,
1999 Access_Control_Attribute_choice, hf_index, ett_ftam_Access_Control_Attribute,
2000 NULL);
2002 return offset;
2006 const value_string ftam_Legal_Qualification_Attribute_vals[] = {
2007 { 0, "no-value-available" },
2008 { 1, "actual-values" },
2009 { 0, NULL }
2012 static const ber_choice_t Legal_Qualification_Attribute_choice[] = {
2013 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2014 { 1, &hf_ftam_actual_values9 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
2015 { 0, NULL, 0, 0, 0, NULL }
2019 dissect_ftam_Legal_Qualification_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2020 offset = dissect_ber_choice(actx, tree, tvb, offset,
2021 Legal_Qualification_Attribute_choice, hf_index, ett_ftam_Legal_Qualification_Attribute,
2022 NULL);
2024 return offset;
2028 const value_string ftam_Private_Use_Attribute_vals[] = {
2029 { 0, "no-value-available" },
2030 { 1, "abstract-Syntax-not-supported" },
2031 { 2, "actual-values" },
2032 { 0, NULL }
2035 static const ber_choice_t Private_Use_Attribute_choice[] = {
2036 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2037 { 1, &hf_ftam_abstract_Syntax_not_supported, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2038 { 2, &hf_ftam_actual_values4 , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_EXTERNAL },
2039 { 0, NULL, 0, 0, 0, NULL }
2043 dissect_ftam_Private_Use_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2044 offset = dissect_ber_choice(actx, tree, tvb, offset,
2045 Private_Use_Attribute_choice, hf_index, ett_ftam_Private_Use_Attribute,
2046 NULL);
2048 return offset;
2053 static int
2054 dissect_ftam_Extension_Set_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2055 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2057 return offset;
2062 static int
2063 dissect_ftam_T_extension_attribute_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2064 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
2066 return offset;
2071 static int
2072 dissect_ftam_T_extension_attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2073 #line 79 "../../asn1/ftam/ftam.cnf"
2074 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
2078 return offset;
2082 static const ber_sequence_t Extension_Attribute_sequence[] = {
2083 { &hf_ftam_extension_attribute_identifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftam_T_extension_attribute_identifier },
2084 { &hf_ftam_extension_attribute, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_T_extension_attribute },
2085 { NULL, 0, 0, 0, NULL }
2088 static int
2089 dissect_ftam_Extension_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2090 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2091 Extension_Attribute_sequence, hf_index, ett_ftam_Extension_Attribute);
2093 return offset;
2097 static const ber_sequence_t SEQUENCE_OF_Extension_Attribute_sequence_of[1] = {
2098 { &hf_ftam_extension_set_attributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Extension_Attribute },
2101 static int
2102 dissect_ftam_SEQUENCE_OF_Extension_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2103 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2104 SEQUENCE_OF_Extension_Attribute_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Extension_Attribute);
2106 return offset;
2110 static const ber_sequence_t Attribute_Extension_Set_sequence[] = {
2111 { &hf_ftam_extension_set_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Extension_Set_Identifier },
2112 { &hf_ftam_extension_set_attributes, BER_CLASS_CON, 1, 0, dissect_ftam_SEQUENCE_OF_Extension_Attribute },
2113 { NULL, 0, 0, 0, NULL }
2116 static int
2117 dissect_ftam_Attribute_Extension_Set(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2118 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2119 Attribute_Extension_Set_sequence, hf_index, ett_ftam_Attribute_Extension_Set);
2121 return offset;
2125 static const ber_sequence_t Attribute_Extensions_sequence_of[1] = {
2126 { &hf_ftam_Attribute_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Extension_Set },
2130 dissect_ftam_Attribute_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2131 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2132 Attribute_Extensions_sequence_of, hf_index, ett_ftam_Attribute_Extensions);
2134 return offset;
2138 static const ber_sequence_t Create_Attributes_U_sequence[] = {
2139 { &hf_ftam_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2140 { &hf_ftam_object_type , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Type_Attribute },
2141 { &hf_ftam_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute },
2142 { &hf_ftam_contents_type , BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_Attribute },
2143 { &hf_ftam_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Account_Attribute },
2144 { &hf_ftam_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Availability_Attribute },
2145 { &hf_ftam_future_Object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Size_Attribute },
2146 { &hf_ftam_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Attribute },
2147 { &hf_ftam_path_access_control, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Attribute },
2148 { &hf_ftam_legal_qualification, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Legal_Qualification_Attribute },
2149 { &hf_ftam_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Private_Use_Attribute },
2150 { &hf_ftam_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
2151 { NULL, 0, 0, 0, NULL }
2154 static int
2155 dissect_ftam_Create_Attributes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2156 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2157 Create_Attributes_U_sequence, hf_index, ett_ftam_Create_Attributes_U);
2159 return offset;
2164 static int
2165 dissect_ftam_Create_Attributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2166 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2167 hf_index, BER_CLASS_APP, 12, TRUE, dissect_ftam_Create_Attributes_U);
2169 return offset;
2173 static const ber_sequence_t F_CREATE_request_sequence[] = {
2174 { &hf_ftam_override , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
2175 { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
2176 { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
2177 { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
2178 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
2179 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
2180 { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
2181 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2182 { &hf_ftam_account , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
2183 { NULL, 0, 0, 0, NULL }
2186 static int
2187 dissect_ftam_F_CREATE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2188 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2189 F_CREATE_request_sequence, hf_index, ett_ftam_F_CREATE_request);
2191 return offset;
2195 static const ber_sequence_t F_CREATE_response_sequence[] = {
2196 { &hf_ftam_state_result , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
2197 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2198 { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
2199 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2200 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2201 { NULL, 0, 0, 0, NULL }
2204 static int
2205 dissect_ftam_F_CREATE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2206 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2207 F_CREATE_response_sequence, hf_index, ett_ftam_F_CREATE_response);
2209 return offset;
2213 static const ber_sequence_t F_DELETE_request_sequence[] = {
2214 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2215 { NULL, 0, 0, 0, NULL }
2218 static int
2219 dissect_ftam_F_DELETE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2220 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2221 F_DELETE_request_sequence, hf_index, ett_ftam_F_DELETE_request);
2223 return offset;
2227 static const ber_sequence_t F_DELETE_response_sequence[] = {
2228 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2229 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2230 { &hf_ftam_charging , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
2231 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2232 { NULL, 0, 0, 0, NULL }
2235 static int
2236 dissect_ftam_F_DELETE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2237 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2238 F_DELETE_response_sequence, hf_index, ett_ftam_F_DELETE_response);
2240 return offset;
2244 static const asn_namedbit Attribute_Names_bits[] = {
2245 { 0, &hf_ftam_Attribute_Names_read_pathname, -1, -1, "read-pathname", NULL },
2246 { 18, &hf_ftam_Attribute_Names_read_Object_type, -1, -1, "read-Object-type", NULL },
2247 { 1, &hf_ftam_Attribute_Names_read_permitted_actions, -1, -1, "read-permitted-actions", NULL },
2248 { 2, &hf_ftam_Attribute_Names_read_contents_type, -1, -1, "read-contents-type", NULL },
2249 { 19, &hf_ftam_Attribute_Names_read_linked_Object, -1, -1, "read-linked-Object", NULL },
2250 { 23, &hf_ftam_Attribute_Names_read_Child_objects, -1, -1, "read-Child-objects", NULL },
2251 { 20, &hf_ftam_Attribute_Names_read_primary_pathname, -1, -1, "read-primary-pathname", NULL },
2252 { 3, &hf_ftam_Attribute_Names_read_storage_account, -1, -1, "read-storage-account", NULL },
2253 { 4, &hf_ftam_Attribute_Names_read_date_and_time_of_creation, -1, -1, "read-date-and-time-of-creation", NULL },
2254 { 5, &hf_ftam_Attribute_Names_read_date_and_time_of_last_modification, -1, -1, "read-date-and-time-of-last-modification", NULL },
2255 { 6, &hf_ftam_Attribute_Names_read_date_and_time_of_last_read_access, -1, -1, "read-date-and-time-of-last-read-access", NULL },
2256 { 7, &hf_ftam_Attribute_Names_read_date_and_time_of_last_attribute_modification, -1, -1, "read-date-and-time-of-last-attribute-modification", NULL },
2257 { 8, &hf_ftam_Attribute_Names_read_identity_of_creator, -1, -1, "read-identity-of-creator", NULL },
2258 { 9, &hf_ftam_Attribute_Names_read_identity_of_last_modifier, -1, -1, "read-identity-of-last-modifier", NULL },
2259 { 10, &hf_ftam_Attribute_Names_read_identity_of_last_reader, -1, -1, "read-identity-of-last-reader", NULL },
2260 { 11, &hf_ftam_Attribute_Names_read_identity_of_last_attribute_modifier, -1, -1, "read-identity-of-last-attribute-modifier", NULL },
2261 { 12, &hf_ftam_Attribute_Names_read_Object_availability, -1, -1, "read-Object-availability", NULL },
2262 { 13, &hf_ftam_Attribute_Names_read_Object_size, -1, -1, "read-Object-size", NULL },
2263 { 14, &hf_ftam_Attribute_Names_read_future_Object_size, -1, -1, "read-future-Object-size", NULL },
2264 { 15, &hf_ftam_Attribute_Names_read_access_control, -1, -1, "read-access-control", NULL },
2265 { 21, &hf_ftam_Attribute_Names_read_path_access_control, -1, -1, "read-path-access-control", NULL },
2266 { 16, &hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS, -1, -1, "read-l8gal-qualifiCatiOnS", NULL },
2267 { 17, &hf_ftam_Attribute_Names_read_private_use, -1, -1, "read-private-use", NULL },
2268 { 0, NULL, 0, 0, NULL, NULL }
2271 static int
2272 dissect_ftam_Attribute_Names(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2273 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2274 Attribute_Names_bits, hf_index, ett_ftam_Attribute_Names,
2275 NULL);
2277 return offset;
2282 static int
2283 dissect_ftam_Extension_Attribute_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2284 offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2286 return offset;
2290 static const ber_sequence_t SEQUENCE_OF_Extension_Attribute_identifier_sequence_of[1] = {
2291 { &hf_ftam_extension_attribute_names_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftam_Extension_Attribute_identifier },
2294 static int
2295 dissect_ftam_SEQUENCE_OF_Extension_Attribute_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2296 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2297 SEQUENCE_OF_Extension_Attribute_identifier_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Extension_Attribute_identifier);
2299 return offset;
2303 static const ber_sequence_t Attribute_Extension_Set_Name_sequence[] = {
2304 { &hf_ftam_extension_set_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Extension_Set_Identifier },
2305 { &hf_ftam_extension_attribute_names, BER_CLASS_CON, 1, 0, dissect_ftam_SEQUENCE_OF_Extension_Attribute_identifier },
2306 { NULL, 0, 0, 0, NULL }
2309 static int
2310 dissect_ftam_Attribute_Extension_Set_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2311 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2312 Attribute_Extension_Set_Name_sequence, hf_index, ett_ftam_Attribute_Extension_Set_Name);
2314 return offset;
2318 static const ber_sequence_t Attribute_Extension_Names_sequence_of[1] = {
2319 { &hf_ftam_Attribute_Extension_Names_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Extension_Set_Name },
2322 static int
2323 dissect_ftam_Attribute_Extension_Names(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2324 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2325 Attribute_Extension_Names_sequence_of, hf_index, ett_ftam_Attribute_Extension_Names);
2327 return offset;
2331 static const ber_sequence_t F_READ_ATTRIB_request_sequence[] = {
2332 { &hf_ftam_attribute_names, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Names },
2333 { &hf_ftam_attribute_extension_names, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extension_Names },
2334 { NULL, 0, 0, 0, NULL }
2337 static int
2338 dissect_ftam_F_READ_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2339 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2340 F_READ_ATTRIB_request_sequence, hf_index, ett_ftam_F_READ_ATTRIB_request);
2342 return offset;
2346 static const ber_sequence_t Child_Objects_Attribute_set_of[1] = {
2347 { &hf_ftam_Child_Objects_Attribute_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftam_GraphicString },
2350 static int
2351 dissect_ftam_Child_Objects_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2352 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2353 Child_Objects_Attribute_set_of, hf_index, ett_ftam_Child_Objects_Attribute);
2355 return offset;
2360 static int
2361 dissect_ftam_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2362 offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2364 return offset;
2368 const value_string ftam_Date_and_Time_Attribute_vals[] = {
2369 { 0, "no-value-available" },
2370 { 1, "actual-values" },
2371 { 0, NULL }
2374 static const ber_choice_t Date_and_Time_Attribute_choice[] = {
2375 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2376 { 1, &hf_ftam_actual_values5 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_GeneralizedTime },
2377 { 0, NULL, 0, 0, 0, NULL }
2381 dissect_ftam_Date_and_Time_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2382 offset = dissect_ber_choice(actx, tree, tvb, offset,
2383 Date_and_Time_Attribute_choice, hf_index, ett_ftam_Date_and_Time_Attribute,
2384 NULL);
2386 return offset;
2390 static const value_string ftam_User_Identity_Attribute_vals[] = {
2391 { 0, "no-value-available" },
2392 { 1, "actual-values" },
2393 { 0, NULL }
2396 static const ber_choice_t User_Identity_Attribute_choice[] = {
2397 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2398 { 1, &hf_ftam_actual_values6 , BER_CLASS_APP, 22, BER_FLAGS_NOOWNTAG, dissect_ftam_User_Identity },
2399 { 0, NULL, 0, 0, 0, NULL }
2402 static int
2403 dissect_ftam_User_Identity_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2404 offset = dissect_ber_choice(actx, tree, tvb, offset,
2405 User_Identity_Attribute_choice, hf_index, ett_ftam_User_Identity_Attribute,
2406 NULL);
2408 return offset;
2412 static const ber_sequence_t Read_Attributes_U_sequence[] = {
2413 { &hf_ftam_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2414 { &hf_ftam_object_type , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Type_Attribute },
2415 { &hf_ftam_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute },
2416 { &hf_ftam_contents_type , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_Attribute },
2417 { &hf_ftam_linked_Object , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2418 { &hf_ftam_child_objects , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_ftam_Child_Objects_Attribute },
2419 { &hf_ftam_primaty_pathname, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2420 { &hf_ftam_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Account_Attribute },
2421 { &hf_ftam_date_and_time_of_creation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Date_and_Time_Attribute },
2422 { &hf_ftam_date_and_time_of_last_modification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Date_and_Time_Attribute },
2423 { &hf_ftam_date_and_time_of_last_read_access, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Date_and_Time_Attribute },
2424 { &hf_ftam_date_and_time_of_last_attribute_modification, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Date_and_Time_Attribute },
2425 { &hf_ftam_identity_of_creator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_User_Identity_Attribute },
2426 { &hf_ftam_identity_of_last_modifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_User_Identity_Attribute },
2427 { &hf_ftam_identity_of_last_reader, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_User_Identity_Attribute },
2428 { &hf_ftam_identity_last_attribute_modifier, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_User_Identity_Attribute },
2429 { &hf_ftam_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Availability_Attribute },
2430 { &hf_ftam_object_size , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Size_Attribute },
2431 { &hf_ftam_future_Object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Size_Attribute },
2432 { &hf_ftam_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Attribute },
2433 { &hf_ftam_path_access_control, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Attribute },
2434 { &hf_ftam_legal_qualification, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Legal_Qualification_Attribute },
2435 { &hf_ftam_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Private_Use_Attribute },
2436 { &hf_ftam_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
2437 { NULL, 0, 0, 0, NULL }
2440 static int
2441 dissect_ftam_Read_Attributes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2442 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2443 Read_Attributes_U_sequence, hf_index, ett_ftam_Read_Attributes_U);
2445 return offset;
2450 static int
2451 dissect_ftam_Read_Attributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2452 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2453 hf_index, BER_CLASS_APP, 18, TRUE, dissect_ftam_Read_Attributes_U);
2455 return offset;
2459 static const ber_sequence_t F_READ_ATTRIB_response_sequence[] = {
2460 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2461 { &hf_ftam_read_attributes, BER_CLASS_APP, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Read_Attributes },
2462 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2463 { NULL, 0, 0, 0, NULL }
2466 static int
2467 dissect_ftam_F_READ_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2468 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2469 F_READ_ATTRIB_response_sequence, hf_index, ett_ftam_F_READ_ATTRIB_response);
2471 return offset;
2475 static const ber_sequence_t T_actual_values1_sequence[] = {
2476 { &hf_ftam_insert_values , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Access_Control_Element },
2477 { &hf_ftam_delete_values , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Access_Control_Element },
2478 { NULL, 0, 0, 0, NULL }
2481 static int
2482 dissect_ftam_T_actual_values1(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2483 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2484 T_actual_values1_sequence, hf_index, ett_ftam_T_actual_values1);
2486 return offset;
2490 static const value_string ftam_Access_Control_Change_Attribute_vals[] = {
2491 { 0, "no-value-available" },
2492 { 1, "actual-values" },
2493 { 0, NULL }
2496 static const ber_choice_t Access_Control_Change_Attribute_choice[] = {
2497 { 0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2498 { 1, &hf_ftam_actual_values1 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_actual_values1 },
2499 { 0, NULL, 0, 0, 0, NULL }
2502 static int
2503 dissect_ftam_Access_Control_Change_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2504 offset = dissect_ber_choice(actx, tree, tvb, offset,
2505 Access_Control_Change_Attribute_choice, hf_index, ett_ftam_Access_Control_Change_Attribute,
2506 NULL);
2508 return offset;
2512 static const ber_sequence_t Change_Attributes_U_sequence[] = {
2513 { &hf_ftam_pathname , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2514 { &hf_ftam_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Account_Attribute },
2515 { &hf_ftam_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Availability_Attribute },
2516 { &hf_ftam_future_Object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Size_Attribute },
2517 { &hf_ftam_change_attributes_access_control, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Change_Attribute },
2518 { &hf_ftam_change_path_access_control, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Change_Attribute },
2519 { &hf_ftam_legal_qualification, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Legal_Qualification_Attribute },
2520 { &hf_ftam_private_use , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Private_Use_Attribute },
2521 { &hf_ftam_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
2522 { NULL, 0, 0, 0, NULL }
2525 static int
2526 dissect_ftam_Change_Attributes_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2527 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2528 Change_Attributes_U_sequence, hf_index, ett_ftam_Change_Attributes_U);
2530 return offset;
2535 static int
2536 dissect_ftam_Change_Attributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2537 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2538 hf_index, BER_CLASS_APP, 8, TRUE, dissect_ftam_Change_Attributes_U);
2540 return offset;
2544 static const ber_sequence_t F_CHANGE_ATTRIB_request_sequence[] = {
2545 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
2546 { NULL, 0, 0, 0, NULL }
2549 static int
2550 dissect_ftam_F_CHANGE_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2551 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2552 F_CHANGE_ATTRIB_request_sequence, hf_index, ett_ftam_F_CHANGE_ATTRIB_request);
2554 return offset;
2558 static const ber_sequence_t F_CHANGE_ATTRIB_response_sequence[] = {
2559 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2560 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
2561 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2562 { NULL, 0, 0, 0, NULL }
2565 static int
2566 dissect_ftam_F_CHANGE_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2567 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2568 F_CHANGE_ATTRIB_response_sequence, hf_index, ett_ftam_F_CHANGE_ATTRIB_response);
2570 return offset;
2574 static const asn_namedbit T_processing_mode_bits[] = {
2575 { 0, &hf_ftam_T_processing_mode_f_read, -1, -1, "f-read", NULL },
2576 { 1, &hf_ftam_T_processing_mode_f_insert, -1, -1, "f-insert", NULL },
2577 { 2, &hf_ftam_T_processing_mode_f_replace, -1, -1, "f-replace", NULL },
2578 { 3, &hf_ftam_T_processing_mode_f_extend, -1, -1, "f-extend", NULL },
2579 { 4, &hf_ftam_T_processing_mode_f_erase, -1, -1, "f-erase", NULL },
2580 { 0, NULL, 0, 0, NULL, NULL }
2583 static int
2584 dissect_ftam_T_processing_mode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2585 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2586 T_processing_mode_bits, hf_index, ett_ftam_T_processing_mode,
2587 NULL);
2589 return offset;
2593 static const value_string ftam_T_open_contents_type_vals[] = {
2594 { 0, "unknown" },
2595 { 1, "proposed" },
2596 { 0, NULL }
2599 static const ber_choice_t T_open_contents_type_choice[] = {
2600 { 0, &hf_ftam_unknown , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2601 { 1, &hf_ftam_proposed , BER_CLASS_CON, 1, 0, dissect_ftam_Contents_Type_Attribute },
2602 { 0, NULL, 0, 0, 0, NULL }
2605 static int
2606 dissect_ftam_T_open_contents_type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2607 offset = dissect_ber_choice(actx, tree, tvb, offset,
2608 T_open_contents_type_choice, hf_index, ett_ftam_T_open_contents_type,
2609 NULL);
2611 return offset;
2616 static int
2617 dissect_ftam_Activity_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2618 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2619 hf_index, BER_CLASS_APP, 6, TRUE, dissect_ftam_INTEGER);
2621 return offset;
2625 static const value_string ftam_T_request_recovery_mode_vals[] = {
2626 { 0, "none" },
2627 { 1, "at-start-of-file" },
2628 { 2, "at-any-active-Checkpoint" },
2629 { 0, NULL }
2633 static int
2634 dissect_ftam_T_request_recovery_mode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2635 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2636 NULL);
2638 return offset;
2642 static const ber_sequence_t SET_OF_Abstract_Syntax_Name_set_of[1] = {
2643 { &hf_ftam_remove_contexts_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_Abstract_Syntax_Name },
2646 static int
2647 dissect_ftam_SET_OF_Abstract_Syntax_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2648 offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2649 SET_OF_Abstract_Syntax_Name_set_of, hf_index, ett_ftam_SET_OF_Abstract_Syntax_Name);
2651 return offset;
2655 static const value_string ftam_Degree_Of_Overlap_U_vals[] = {
2656 { 0, "normal" },
2657 { 1, "consecutive" },
2658 { 2, "concurrent" },
2659 { 0, NULL }
2663 static int
2664 dissect_ftam_Degree_Of_Overlap_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2665 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2666 NULL);
2668 return offset;
2673 static int
2674 dissect_ftam_Degree_Of_Overlap(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2675 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2676 hf_index, BER_CLASS_APP, 30, TRUE, dissect_ftam_Degree_Of_Overlap_U);
2678 return offset;
2682 static const ber_sequence_t F_OPEN_request_sequence[] = {
2683 { &hf_ftam_processing_mode, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_T_processing_mode },
2684 { &hf_ftam_open_contents_type, BER_CLASS_CON, 1, 0, dissect_ftam_T_open_contents_type },
2685 { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
2686 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2687 { &hf_ftam_enable_fadu_locking, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
2688 { &hf_ftam_activity_identifier, BER_CLASS_APP, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Activity_Identifier },
2689 { &hf_ftam_request_recovery_mode, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_T_request_recovery_mode },
2690 { &hf_ftam_remove_contexts, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Abstract_Syntax_Name },
2691 { &hf_ftam_define_contexts, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Abstract_Syntax_Name },
2692 { &hf_ftam_degree_of_overlap, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Degree_Of_Overlap },
2693 { &hf_ftam_transfer_window, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2694 { NULL, 0, 0, 0, NULL }
2697 static int
2698 dissect_ftam_F_OPEN_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2699 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2700 F_OPEN_request_sequence, hf_index, ett_ftam_F_OPEN_request);
2702 return offset;
2706 static const value_string ftam_T_response_recovery_mode_vals[] = {
2707 { 0, "none" },
2708 { 1, "at-start-of-file" },
2709 { 2, "at-any-active-Checkpoint" },
2710 { 0, NULL }
2714 static int
2715 dissect_ftam_T_response_recovery_mode(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2716 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2717 NULL);
2719 return offset;
2723 static const ber_sequence_t F_OPEN_response_sequence[] = {
2724 { &hf_ftam_state_result , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
2725 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2726 { &hf_ftam_contents_type , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_Attribute },
2727 { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
2728 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2729 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2730 { &hf_ftam_response_recovery_mode, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_T_response_recovery_mode },
2731 { &hf_ftam_presentation_action, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
2732 { &hf_ftam_degree_of_overlap, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Degree_Of_Overlap },
2733 { &hf_ftam_transfer_window, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2734 { NULL, 0, 0, 0, NULL }
2737 static int
2738 dissect_ftam_F_OPEN_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2739 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2740 F_OPEN_response_sequence, hf_index, ett_ftam_F_OPEN_response);
2742 return offset;
2746 static const ber_sequence_t F_CLOSE_request_sequence[] = {
2747 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2748 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2749 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2750 { NULL, 0, 0, 0, NULL }
2753 static int
2754 dissect_ftam_F_CLOSE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2755 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2756 F_CLOSE_request_sequence, hf_index, ett_ftam_F_CLOSE_request);
2758 return offset;
2762 static const ber_sequence_t F_CLOSE_response_sequence[] = {
2763 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2764 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2765 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2766 { NULL, 0, 0, 0, NULL }
2769 static int
2770 dissect_ftam_F_CLOSE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2771 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2772 F_CLOSE_response_sequence, hf_index, ett_ftam_F_CLOSE_response);
2774 return offset;
2778 static const ber_sequence_t F_BEGIN_GROUP_request_sequence[] = {
2779 { &hf_ftam_threshold , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2780 { NULL, 0, 0, 0, NULL }
2783 static int
2784 dissect_ftam_F_BEGIN_GROUP_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2785 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2786 F_BEGIN_GROUP_request_sequence, hf_index, ett_ftam_F_BEGIN_GROUP_request);
2788 return offset;
2792 static const ber_sequence_t F_BEGIN_GROUP_response_sequence[] = {
2793 { NULL, 0, 0, 0, NULL }
2796 static int
2797 dissect_ftam_F_BEGIN_GROUP_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2798 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2799 F_BEGIN_GROUP_response_sequence, hf_index, ett_ftam_F_BEGIN_GROUP_response);
2801 return offset;
2805 static const ber_sequence_t F_END_GROUP_request_sequence[] = {
2806 { NULL, 0, 0, 0, NULL }
2809 static int
2810 dissect_ftam_F_END_GROUP_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2811 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2812 F_END_GROUP_request_sequence, hf_index, ett_ftam_F_END_GROUP_request);
2814 return offset;
2818 static const ber_sequence_t F_END_GROUP_response_sequence[] = {
2819 { NULL, 0, 0, 0, NULL }
2822 static int
2823 dissect_ftam_F_END_GROUP_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2824 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2825 F_END_GROUP_response_sequence, hf_index, ett_ftam_F_END_GROUP_response);
2827 return offset;
2831 static const ber_sequence_t F_RECOVER_request_sequence[] = {
2832 { &hf_ftam_activity_identifier, BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_ftam_Activity_Identifier },
2833 { &hf_ftam_bulk_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2834 { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
2835 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
2836 { &hf_ftam_recovefy_Point , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2837 { &hf_ftam_remove_contexts, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Abstract_Syntax_Name },
2838 { &hf_ftam_define_contexts, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Abstract_Syntax_Name },
2839 { &hf_ftam_concurrent_bulk_transfer_number, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2840 { &hf_ftam_concurrent_recovery_point, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2841 { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2842 { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2843 { NULL, 0, 0, 0, NULL }
2846 static int
2847 dissect_ftam_F_RECOVER_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2848 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2849 F_RECOVER_request_sequence, hf_index, ett_ftam_F_RECOVER_request);
2851 return offset;
2855 static const ber_sequence_t F_RECOVER_response_sequence[] = {
2856 { &hf_ftam_state_result , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
2857 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2858 { &hf_ftam_contents_type , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_Attribute },
2859 { &hf_ftam_recovety_Point , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2860 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2861 { &hf_ftam_presentation_action, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
2862 { &hf_ftam_concurrent_recovery_point, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2863 { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2864 { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2865 { NULL, 0, 0, 0, NULL }
2868 static int
2869 dissect_ftam_F_RECOVER_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2870 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2871 F_RECOVER_response_sequence, hf_index, ett_ftam_F_RECOVER_response);
2873 return offset;
2877 static const value_string ftam_T_first_last_vals[] = {
2878 { 0, "first" },
2879 { 1, "last" },
2880 { 0, NULL }
2884 static int
2885 dissect_ftam_T_first_last(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2886 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2887 NULL);
2889 return offset;
2893 static const value_string ftam_T_relative_vals[] = {
2894 { 0, "previous" },
2895 { 1, "current" },
2896 { 2, "next" },
2897 { 0, NULL }
2901 static int
2902 dissect_ftam_T_relative(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2903 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2904 NULL);
2906 return offset;
2910 static const value_string ftam_T_begin_end_vals[] = {
2911 { 0, "begin" },
2912 { 1, "end" },
2913 { 0, NULL }
2917 static int
2918 dissect_ftam_T_begin_end(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2919 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2920 NULL);
2922 return offset;
2927 static int
2928 dissect_ftam_Node_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2929 offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
2931 return offset;
2935 static const ber_sequence_t SEQUENCE_OF_Node_Name_sequence_of[1] = {
2936 { &hf_ftam_name_list_item , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_ftam_Node_Name },
2939 static int
2940 dissect_ftam_SEQUENCE_OF_Node_Name(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2941 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2942 SEQUENCE_OF_Node_Name_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Node_Name);
2944 return offset;
2948 static const value_string ftam_FADU_Identity_U_vals[] = {
2949 { 0, "first-last" },
2950 { 1, "relative" },
2951 { 2, "begin-end" },
2952 { 3, "single-name" },
2953 { 4, "name-list" },
2954 { 5, "fadu-number" },
2955 { 0, NULL }
2958 static const ber_choice_t FADU_Identity_U_choice[] = {
2959 { 0, &hf_ftam_first_last , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_first_last },
2960 { 1, &hf_ftam_relative , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_relative },
2961 { 2, &hf_ftam_begin_end , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_T_begin_end },
2962 { 3, &hf_ftam_single_name , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_Node_Name },
2963 { 4, &hf_ftam_name_list , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_SEQUENCE_OF_Node_Name },
2964 { 5, &hf_ftam_fadu_number , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2965 { 0, NULL, 0, 0, 0, NULL }
2968 static int
2969 dissect_ftam_FADU_Identity_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2970 offset = dissect_ber_choice(actx, tree, tvb, offset,
2971 FADU_Identity_U_choice, hf_index, ett_ftam_FADU_Identity_U,
2972 NULL);
2974 return offset;
2979 static int
2980 dissect_ftam_FADU_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2981 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2982 hf_index, BER_CLASS_APP, 15, FALSE, dissect_ftam_FADU_Identity_U);
2984 return offset;
2988 static const value_string ftam_FADU_Lock_U_vals[] = {
2989 { 0, "off" },
2990 { 1, "on" },
2991 { 0, NULL }
2995 static int
2996 dissect_ftam_FADU_Lock_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
2997 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2998 NULL);
3000 return offset;
3005 static int
3006 dissect_ftam_FADU_Lock(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3007 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3008 hf_index, BER_CLASS_APP, 16, TRUE, dissect_ftam_FADU_Lock_U);
3010 return offset;
3014 static const ber_sequence_t F_LOCATE_request_sequence[] = {
3015 { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3016 { &hf_ftam_fadu_lock , BER_CLASS_APP, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Lock },
3017 { NULL, 0, 0, 0, NULL }
3020 static int
3021 dissect_ftam_F_LOCATE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3022 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3023 F_LOCATE_request_sequence, hf_index, ett_ftam_F_LOCATE_request);
3025 return offset;
3029 static const ber_sequence_t F_LOCATE_response_sequence[] = {
3030 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3031 { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3032 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3033 { NULL, 0, 0, 0, NULL }
3036 static int
3037 dissect_ftam_F_LOCATE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3038 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3039 F_LOCATE_response_sequence, hf_index, ett_ftam_F_LOCATE_response);
3041 return offset;
3045 static const ber_sequence_t F_ERASE_request_sequence[] = {
3046 { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3047 { NULL, 0, 0, 0, NULL }
3050 static int
3051 dissect_ftam_F_ERASE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3052 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3053 F_ERASE_request_sequence, hf_index, ett_ftam_F_ERASE_request);
3055 return offset;
3059 static const ber_sequence_t F_ERASE_response_sequence[] = {
3060 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3061 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3062 { NULL, 0, 0, 0, NULL }
3065 static int
3066 dissect_ftam_F_ERASE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3067 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3068 F_ERASE_response_sequence, hf_index, ett_ftam_F_ERASE_response);
3070 return offset;
3074 static const value_string ftam_File_PDU_vals[] = {
3075 { 6, "f-select-request" },
3076 { 7, "f-select-response" },
3077 { 8, "f-deselect-request" },
3078 { 9, "f-deselect-response" },
3079 { 10, "f-create-request" },
3080 { 11, "f-create-response" },
3081 { 12, "f-delete-request" },
3082 { 13, "f-delete-response" },
3083 { 14, "f-read-attrib-request" },
3084 { 15, "f-read-attrib-response" },
3085 { 16, "f-Change-attrib-reques" },
3086 { 17, "f-Change-attrib-respon" },
3087 { 18, "f-open-request" },
3088 { 19, "f-open-response" },
3089 { 20, "f-close-request" },
3090 { 21, "f-close-response" },
3091 { 22, "f-begin-group-request" },
3092 { 23, "f-begin-group-response" },
3093 { 24, "f-end-group-request" },
3094 { 25, "f-end-group-response" },
3095 { 26, "f-recover-request" },
3096 { 27, "f-recover-response" },
3097 { 28, "f-locate-request" },
3098 { 29, "f-locate-response" },
3099 { 30, "f-erase-request" },
3100 { 31, "f-erase-response" },
3101 { 0, NULL }
3104 static const ber_choice_t File_PDU_choice[] = {
3105 { 6, &hf_ftam_f_select_request, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ftam_F_SELECT_request },
3106 { 7, &hf_ftam_f_select_response, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ftam_F_SELECT_response },
3107 { 8, &hf_ftam_f_deselect_request, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ftam_F_DESELECT_request },
3108 { 9, &hf_ftam_f_deselect_response, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ftam_F_DESELECT_response },
3109 { 10, &hf_ftam_f_create_request, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ftam_F_CREATE_request },
3110 { 11, &hf_ftam_f_create_response, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ftam_F_CREATE_response },
3111 { 12, &hf_ftam_f_delete_request, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_ftam_F_DELETE_request },
3112 { 13, &hf_ftam_f_delete_response, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_ftam_F_DELETE_response },
3113 { 14, &hf_ftam_f_read_attrib_request, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_ATTRIB_request },
3114 { 15, &hf_ftam_f_read_attrib_response, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_ATTRIB_response },
3115 { 16, &hf_ftam_f_Change_attrib_reques, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_ATTRIB_request },
3116 { 17, &hf_ftam_f_Change_attrib_respon, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_ATTRIB_response },
3117 { 18, &hf_ftam_f_open_request , BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ftam_F_OPEN_request },
3118 { 19, &hf_ftam_f_open_response, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ftam_F_OPEN_response },
3119 { 20, &hf_ftam_f_close_request, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_ftam_F_CLOSE_request },
3120 { 21, &hf_ftam_f_close_response, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ftam_F_CLOSE_response },
3121 { 22, &hf_ftam_f_begin_group_request, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ftam_F_BEGIN_GROUP_request },
3122 { 23, &hf_ftam_f_begin_group_response, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_F_BEGIN_GROUP_response },
3123 { 24, &hf_ftam_f_end_group_request, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_ftam_F_END_GROUP_request },
3124 { 25, &hf_ftam_f_end_group_response, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_ftam_F_END_GROUP_response },
3125 { 26, &hf_ftam_f_recover_request, BER_CLASS_CON, 26, BER_FLAGS_IMPLTAG, dissect_ftam_F_RECOVER_request },
3126 { 27, &hf_ftam_f_recover_response, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_ftam_F_RECOVER_response },
3127 { 28, &hf_ftam_f_locate_request, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ftam_F_LOCATE_request },
3128 { 29, &hf_ftam_f_locate_response, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_ftam_F_LOCATE_response },
3129 { 30, &hf_ftam_f_erase_request, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_ftam_F_ERASE_request },
3130 { 31, &hf_ftam_f_erase_response, BER_CLASS_CON, 31, BER_FLAGS_IMPLTAG, dissect_ftam_F_ERASE_response },
3131 { 0, NULL, 0, 0, 0, NULL }
3134 static int
3135 dissect_ftam_File_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3136 #line 102 "../../asn1/ftam/ftam.cnf"
3137 gint branch_taken;
3139 offset = dissect_ber_choice(actx, tree, tvb, offset,
3140 File_PDU_choice, hf_index, ett_ftam_File_PDU,
3141 &branch_taken);
3144 if( (branch_taken!=-1) && ftam_File_PDU_vals[branch_taken].strptr ){
3145 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s:", ftam_File_PDU_vals[branch_taken].strptr);
3150 return offset;
3154 static const value_string ftam_T_access_context_vals[] = {
3155 { 0, "hierarchical-all-data-units" },
3156 { 1, "hierarchical-no-data-units" },
3157 { 2, "flat-all-data-units" },
3158 { 3, "flat-one-level-data-unit" },
3159 { 4, "flat-Single-data-unit" },
3160 { 5, "unstructured-all-data-units" },
3161 { 6, "unstructured-Single-data-unit" },
3162 { 0, NULL }
3166 static int
3167 dissect_ftam_T_access_context(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3168 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3169 NULL);
3171 return offset;
3175 static const ber_sequence_t Access_Context_U_sequence[] = {
3176 { &hf_ftam_access_context , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_access_context },
3177 { &hf_ftam_level_number , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3178 { NULL, 0, 0, 0, NULL }
3181 static int
3182 dissect_ftam_Access_Context_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3183 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3184 Access_Context_U_sequence, hf_index, ett_ftam_Access_Context_U);
3186 return offset;
3191 static int
3192 dissect_ftam_Access_Context(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3193 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3194 hf_index, BER_CLASS_APP, 1, TRUE, dissect_ftam_Access_Context_U);
3196 return offset;
3200 static const ber_sequence_t F_READ_request_sequence[] = {
3201 { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3202 { &hf_ftam_read_access_context, BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Context },
3203 { &hf_ftam_fadu_lock , BER_CLASS_APP, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Lock },
3204 { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3205 { NULL, 0, 0, 0, NULL }
3208 static int
3209 dissect_ftam_F_READ_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3210 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3211 F_READ_request_sequence, hf_index, ett_ftam_F_READ_request);
3213 return offset;
3217 static const value_string ftam_T_file_access_data_unit_Operation_vals[] = {
3218 { 0, "insert" },
3219 { 1, "replace" },
3220 { 2, "extend" },
3221 { 0, NULL }
3225 static int
3226 dissect_ftam_T_file_access_data_unit_Operation(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3227 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3228 NULL);
3230 return offset;
3234 static const ber_sequence_t F_WRITE_request_sequence[] = {
3235 { &hf_ftam_file_access_data_unit_Operation, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_file_access_data_unit_Operation },
3236 { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3237 { &hf_ftam_fadu_lock , BER_CLASS_APP, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Lock },
3238 { &hf_ftam_transfer_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3239 { NULL, 0, 0, 0, NULL }
3242 static int
3243 dissect_ftam_F_WRITE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3244 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3245 F_WRITE_request_sequence, hf_index, ett_ftam_F_WRITE_request);
3247 return offset;
3251 static const ber_sequence_t F_DATA_END_request_sequence[] = {
3252 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3253 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3254 { NULL, 0, 0, 0, NULL }
3257 static int
3258 dissect_ftam_F_DATA_END_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3259 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3260 F_DATA_END_request_sequence, hf_index, ett_ftam_F_DATA_END_request);
3262 return offset;
3266 static const value_string ftam_Request_Type_U_vals[] = {
3267 { 0, "read" },
3268 { 1, "write" },
3269 { 0, NULL }
3273 static int
3274 dissect_ftam_Request_Type_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3275 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3276 NULL);
3278 return offset;
3283 static int
3284 dissect_ftam_Request_Type(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3285 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3286 hf_index, BER_CLASS_APP, 31, TRUE, dissect_ftam_Request_Type_U);
3288 return offset;
3292 static const ber_sequence_t F_TRANSFER_END_request_sequence[] = {
3293 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
3294 { &hf_ftam_request_type , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3295 { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3296 { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3297 { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3298 { NULL, 0, 0, 0, NULL }
3301 static int
3302 dissect_ftam_F_TRANSFER_END_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3303 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3304 F_TRANSFER_END_request_sequence, hf_index, ett_ftam_F_TRANSFER_END_request);
3306 return offset;
3310 static const ber_sequence_t F_TRANSFER_END_response_sequence[] = {
3311 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3312 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
3313 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3314 { &hf_ftam_request_type , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3315 { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3316 { NULL, 0, 0, 0, NULL }
3319 static int
3320 dissect_ftam_F_TRANSFER_END_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3321 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3322 F_TRANSFER_END_response_sequence, hf_index, ett_ftam_F_TRANSFER_END_response);
3324 return offset;
3328 static const ber_sequence_t F_CANCEL_request_sequence[] = {
3329 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3330 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
3331 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3332 { &hf_ftam_request_type , BER_CLASS_APP, 31, BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3333 { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3334 { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3335 { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3336 { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3337 { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3338 { NULL, 0, 0, 0, NULL }
3341 static int
3342 dissect_ftam_F_CANCEL_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3343 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3344 F_CANCEL_request_sequence, hf_index, ett_ftam_F_CANCEL_request);
3346 return offset;
3350 static const ber_sequence_t F_CANCEL_response_sequence[] = {
3351 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3352 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
3353 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3354 { &hf_ftam_request_type , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3355 { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3356 { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3357 { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3358 { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3359 { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3360 { NULL, 0, 0, 0, NULL }
3363 static int
3364 dissect_ftam_F_CANCEL_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3365 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3366 F_CANCEL_response_sequence, hf_index, ett_ftam_F_CANCEL_response);
3368 return offset;
3372 static const ber_sequence_t F_RESTART_request_sequence[] = {
3373 { &hf_ftam_checkpoint_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3374 { &hf_ftam_request_type , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3375 { &hf_ftam_transfer_number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3376 { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3377 { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3378 { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3379 { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3380 { NULL, 0, 0, 0, NULL }
3383 static int
3384 dissect_ftam_F_RESTART_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3385 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3386 F_RESTART_request_sequence, hf_index, ett_ftam_F_RESTART_request);
3388 return offset;
3392 static const ber_sequence_t F_RESTART_response_sequence[] = {
3393 { &hf_ftam_checkpoint_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3394 { &hf_ftam_request_type , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3395 { &hf_ftam_transfer_number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3396 { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3397 { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3398 { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3399 { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3400 { NULL, 0, 0, 0, NULL }
3403 static int
3404 dissect_ftam_F_RESTART_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3405 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3406 F_RESTART_response_sequence, hf_index, ett_ftam_F_RESTART_response);
3408 return offset;
3412 static const value_string ftam_Bulk_Data_PDU_vals[] = {
3413 { 32, "f-read-request" },
3414 { 33, "f-write-request" },
3415 { 34, "f-data-end-request" },
3416 { 35, "f-transfer-end-request" },
3417 { 36, "f-transfer-end-response" },
3418 { 37, "f-cancel-request" },
3419 { 38, "f-cancel-response" },
3420 { 39, "f-restart-request" },
3421 { 40, "f-restart-response" },
3422 { 0, NULL }
3425 static const ber_choice_t Bulk_Data_PDU_choice[] = {
3426 { 32, &hf_ftam_f_read_request , BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_request },
3427 { 33, &hf_ftam_f_write_request, BER_CLASS_CON, 33, BER_FLAGS_IMPLTAG, dissect_ftam_F_WRITE_request },
3428 { 34, &hf_ftam_f_data_end_request, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ftam_F_DATA_END_request },
3429 { 35, &hf_ftam_f_transfer_end_request, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_ftam_F_TRANSFER_END_request },
3430 { 36, &hf_ftam_f_transfer_end_response, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ftam_F_TRANSFER_END_response },
3431 { 37, &hf_ftam_f_cancel_request, BER_CLASS_CON, 37, BER_FLAGS_IMPLTAG, dissect_ftam_F_CANCEL_request },
3432 { 38, &hf_ftam_f_cancel_response, BER_CLASS_CON, 38, BER_FLAGS_IMPLTAG, dissect_ftam_F_CANCEL_response },
3433 { 39, &hf_ftam_f_restart_request, BER_CLASS_CON, 39, BER_FLAGS_IMPLTAG, dissect_ftam_F_RESTART_request },
3434 { 40, &hf_ftam_f_restart_response, BER_CLASS_CON, 40, BER_FLAGS_IMPLTAG, dissect_ftam_F_RESTART_response },
3435 { 0, NULL, 0, 0, 0, NULL }
3438 static int
3439 dissect_ftam_Bulk_Data_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3440 #line 111 "../../asn1/ftam/ftam.cnf"
3441 gint branch_taken;
3443 offset = dissect_ber_choice(actx, tree, tvb, offset,
3444 Bulk_Data_PDU_choice, hf_index, ett_ftam_Bulk_Data_PDU,
3445 &branch_taken);
3448 if( (branch_taken!=-1) && ftam_Bulk_Data_PDU_vals[branch_taken].strptr ){
3449 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s:", ftam_Bulk_Data_PDU_vals[branch_taken].strptr);
3454 return offset;
3459 static int
3460 dissect_ftam_Destination_File_Directory(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3461 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3462 hf_index, BER_CLASS_APP, 24, FALSE, dissect_ftam_Pathname_Attribute);
3464 return offset;
3468 static const ber_sequence_t F_CHANGE_PREFIX_request_sequence[] = {
3469 { &hf_ftam_reset , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
3470 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
3471 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
3472 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
3473 { NULL, 0, 0, 0, NULL }
3476 static int
3477 dissect_ftam_F_CHANGE_PREFIX_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3478 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3479 F_CHANGE_PREFIX_request_sequence, hf_index, ett_ftam_F_CHANGE_PREFIX_request);
3481 return offset;
3485 static const ber_sequence_t F_CHANGE_PREFIX_response_sequence[] = {
3486 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3487 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
3488 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3489 { NULL, 0, 0, 0, NULL }
3492 static int
3493 dissect_ftam_F_CHANGE_PREFIX_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3494 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3495 F_CHANGE_PREFIX_response_sequence, hf_index, ett_ftam_F_CHANGE_PREFIX_response);
3497 return offset;
3501 static const asn_namedbit Equality_Comparision_bits[] = {
3502 { 0, &hf_ftam_Equality_Comparision_no_value_available_matches, -1, -1, "no-value-available-matches", NULL },
3503 { 1, &hf_ftam_Equality_Comparision_equals_matches, -1, -1, "equals-matches", NULL },
3504 { 0, NULL, 0, 0, NULL, NULL }
3507 static int
3508 dissect_ftam_Equality_Comparision(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3509 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3510 Equality_Comparision_bits, hf_index, ett_ftam_Equality_Comparision,
3511 NULL);
3513 return offset;
3517 static const value_string ftam_T_string_value_item_vals[] = {
3518 { 2, "substring-match" },
3519 { 3, "any-match" },
3520 { 4, "number-of-characters-match" },
3521 { 0, NULL }
3524 static const ber_choice_t T_string_value_item_choice[] = {
3525 { 2, &hf_ftam_substring_match, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
3526 { 3, &hf_ftam_any_match , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
3527 { 4, &hf_ftam_number_of_characters_match, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3528 { 0, NULL, 0, 0, 0, NULL }
3531 static int
3532 dissect_ftam_T_string_value_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3533 offset = dissect_ber_choice(actx, tree, tvb, offset,
3534 T_string_value_item_choice, hf_index, ett_ftam_T_string_value_item,
3535 NULL);
3537 return offset;
3541 static const ber_sequence_t T_string_value_sequence_of[1] = {
3542 { &hf_ftam_string_value_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_T_string_value_item },
3545 static int
3546 dissect_ftam_T_string_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3547 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3548 T_string_value_sequence_of, hf_index, ett_ftam_T_string_value);
3550 return offset;
3554 static const ber_sequence_t String_Pattern_sequence[] = {
3555 { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3556 { &hf_ftam_string_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_string_value },
3557 { NULL, 0, 0, 0, NULL }
3560 static int
3561 dissect_ftam_String_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3562 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3563 String_Pattern_sequence, hf_index, ett_ftam_String_Pattern);
3565 return offset;
3569 static const value_string ftam_T_pathname_value_item_vals[] = {
3570 { 2, "string-match" },
3571 { 3, "any-match" },
3572 { 0, NULL }
3575 static const ber_choice_t T_pathname_value_item_choice[] = {
3576 { 2, &hf_ftam_string_match , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_String_Pattern },
3577 { 3, &hf_ftam_any_match , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
3578 { 0, NULL, 0, 0, 0, NULL }
3581 static int
3582 dissect_ftam_T_pathname_value_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3583 offset = dissect_ber_choice(actx, tree, tvb, offset,
3584 T_pathname_value_item_choice, hf_index, ett_ftam_T_pathname_value_item,
3585 NULL);
3587 return offset;
3591 static const ber_sequence_t T_pathname_value_sequence_of[1] = {
3592 { &hf_ftam_pathname_value_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_T_pathname_value_item },
3595 static int
3596 dissect_ftam_T_pathname_value(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3597 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3598 T_pathname_value_sequence_of, hf_index, ett_ftam_T_pathname_value);
3600 return offset;
3604 static const ber_sequence_t Pathname_Pattern_sequence[] = {
3605 { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3606 { &hf_ftam_pathname_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_pathname_value },
3607 { NULL, 0, 0, 0, NULL }
3610 static int
3611 dissect_ftam_Pathname_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3612 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3613 Pathname_Pattern_sequence, hf_index, ett_ftam_Pathname_Pattern);
3615 return offset;
3619 static const asn_namedbit Relational_Comparision_bits[] = {
3620 { 0, &hf_ftam_Relational_Comparision_no_value_available_matches, -1, -1, "no-value-available-matches", NULL },
3621 { 1, &hf_ftam_Relational_Comparision_equals_matches, -1, -1, "equals-matches", NULL },
3622 { 2, &hf_ftam_Relational_Comparision_less_than_matches, -1, -1, "less-than-matches", NULL },
3623 { 3, &hf_ftam_Relational_Comparision_greater_than_matches, -1, -1, "greater-than-matches", NULL },
3624 { 0, NULL, 0, 0, NULL, NULL }
3627 static int
3628 dissect_ftam_Relational_Comparision(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3629 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3630 Relational_Comparision_bits, hf_index, ett_ftam_Relational_Comparision,
3631 NULL);
3633 return offset;
3637 static const ber_sequence_t Integer_Pattern_sequence[] = {
3638 { &hf_ftam_relational_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Relational_Comparision },
3639 { &hf_ftam_integer_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3640 { NULL, 0, 0, 0, NULL }
3643 static int
3644 dissect_ftam_Integer_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3645 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3646 Integer_Pattern_sequence, hf_index, ett_ftam_Integer_Pattern);
3648 return offset;
3653 static int
3654 dissect_ftam_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3655 offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3656 NULL, hf_index, -1,
3657 NULL);
3659 return offset;
3663 static const ber_sequence_t Bitstring_Pattern_sequence[] = {
3664 { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3665 { &hf_ftam_match_bitstring, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_BIT_STRING },
3666 { &hf_ftam_significance_bitstring, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_BIT_STRING },
3667 { NULL, 0, 0, 0, NULL }
3670 static int
3671 dissect_ftam_Bitstring_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3672 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3673 Bitstring_Pattern_sequence, hf_index, ett_ftam_Bitstring_Pattern);
3675 return offset;
3679 static const ber_sequence_t Object_Identifier_Pattern_sequence[] = {
3680 { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3681 { &hf_ftam_object_identifier_value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_OBJECT_IDENTIFIER },
3682 { NULL, 0, 0, 0, NULL }
3685 static int
3686 dissect_ftam_Object_Identifier_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3687 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3688 Object_Identifier_Pattern_sequence, hf_index, ett_ftam_Object_Identifier_Pattern);
3690 return offset;
3694 static const ber_sequence_t T_constraint_set_abstract_Syntax_Pattern_sequence[] = {
3695 { &hf_ftam_constraint_Set_Pattern, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Identifier_Pattern },
3696 { &hf_ftam_abstract_Syntax_Pattern, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Identifier_Pattern },
3697 { NULL, 0, 0, 0, NULL }
3700 static int
3701 dissect_ftam_T_constraint_set_abstract_Syntax_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3702 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3703 T_constraint_set_abstract_Syntax_Pattern_sequence, hf_index, ett_ftam_T_constraint_set_abstract_Syntax_Pattern);
3705 return offset;
3709 static const value_string ftam_Contents_Type_Pattern_vals[] = {
3710 { 0, "document-type-Pattern" },
3711 { 1, "constraint-set-abstract-Syntax-Pattern" },
3712 { 0, NULL }
3715 static const ber_choice_t Contents_Type_Pattern_choice[] = {
3716 { 0, &hf_ftam_document_type_Pattern, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Object_Identifier_Pattern },
3717 { 1, &hf_ftam_constraint_set_abstract_Syntax_Pattern, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_constraint_set_abstract_Syntax_Pattern },
3718 { 0, NULL, 0, 0, 0, NULL }
3721 static int
3722 dissect_ftam_Contents_Type_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3723 offset = dissect_ber_choice(actx, tree, tvb, offset,
3724 Contents_Type_Pattern_choice, hf_index, ett_ftam_Contents_Type_Pattern,
3725 NULL);
3727 return offset;
3731 static const ber_sequence_t Date_and_Time_Pattern_sequence[] = {
3732 { &hf_ftam_relational_camparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3733 { &hf_ftam_time_and_date_value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_GeneralizedTime },
3734 { NULL, 0, 0, 0, NULL }
3737 static int
3738 dissect_ftam_Date_and_Time_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3739 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3740 Date_and_Time_Pattern_sequence, hf_index, ett_ftam_Date_and_Time_Pattern);
3742 return offset;
3747 static int
3748 dissect_ftam_User_Identity_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3749 offset = dissect_ftam_String_Pattern(implicit_tag, tvb, offset, actx, tree, hf_index);
3751 return offset;
3755 static const ber_sequence_t Boolean_Pattern_sequence[] = {
3756 { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3757 { &hf_ftam_boolean_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
3758 { NULL, 0, 0, 0, NULL }
3761 static int
3762 dissect_ftam_Boolean_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3763 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3764 Boolean_Pattern_sequence, hf_index, ett_ftam_Boolean_Pattern);
3766 return offset;
3771 static int
3772 dissect_ftam_T_attribute_extension_attribute_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3773 offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
3775 return offset;
3780 static int
3781 dissect_ftam_T_extension_attribute_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3782 #line 85 "../../asn1/ftam/ftam.cnf"
3783 offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree, NULL);
3787 return offset;
3791 static const ber_sequence_t T_extension_set_attribute_Patterns_item_sequence[] = {
3792 { &hf_ftam_attribute_extension_attribute_identifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftam_T_attribute_extension_attribute_identifier },
3793 { &hf_ftam_extension_attribute_Pattern, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_T_extension_attribute_Pattern },
3794 { NULL, 0, 0, 0, NULL }
3797 static int
3798 dissect_ftam_T_extension_set_attribute_Patterns_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3799 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3800 T_extension_set_attribute_Patterns_item_sequence, hf_index, ett_ftam_T_extension_set_attribute_Patterns_item);
3802 return offset;
3806 static const ber_sequence_t T_extension_set_attribute_Patterns_sequence_of[1] = {
3807 { &hf_ftam_extension_set_attribute_Patterns_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_T_extension_set_attribute_Patterns_item },
3810 static int
3811 dissect_ftam_T_extension_set_attribute_Patterns(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3812 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3813 T_extension_set_attribute_Patterns_sequence_of, hf_index, ett_ftam_T_extension_set_attribute_Patterns);
3815 return offset;
3819 static const ber_sequence_t Attribute_Extensions_Pattern_item_sequence[] = {
3820 { &hf_ftam_extension_set_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Extension_Set_Identifier },
3821 { &hf_ftam_extension_set_attribute_Patterns, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_extension_set_attribute_Patterns },
3822 { NULL, 0, 0, 0, NULL }
3825 static int
3826 dissect_ftam_Attribute_Extensions_Pattern_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3827 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3828 Attribute_Extensions_Pattern_item_sequence, hf_index, ett_ftam_Attribute_Extensions_Pattern_item);
3830 return offset;
3834 static const ber_sequence_t Attribute_Extensions_Pattern_sequence_of[1] = {
3835 { &hf_ftam_Attribute_Extensions_Pattern_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Extensions_Pattern_item },
3838 static int
3839 dissect_ftam_Attribute_Extensions_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3840 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3841 Attribute_Extensions_Pattern_sequence_of, hf_index, ett_ftam_Attribute_Extensions_Pattern);
3843 return offset;
3847 static const value_string ftam_AND_Set_item_vals[] = {
3848 { 0, "pathname-Pattern" },
3849 { 18, "object-type-Pattern" },
3850 { 1, "permitted-actions-Pattern" },
3851 { 2, "contents-type-Pattern" },
3852 { 19, "linked-Object-Pattern" },
3853 { 23, "child-objects-Pattern" },
3854 { 20, "primaty-pathname-Pattern" },
3855 { 3, "storage-account-Pattern" },
3856 { 4, "date-and-time-of-creation-Pattern" },
3857 { 5, "date-and-time-of-last-modification-Pattern" },
3858 { 6, "date-and-time-of-last-read-access-Pattern" },
3859 { 7, "date-and-time-of-last-attribute-modification-Pattern" },
3860 { 8, "identity-of-creator-Pattern" },
3861 { 9, "identity-of-last-modifier-Pattern" },
3862 { 10, "identity-of-last-reader-Pattern" },
3863 { 11, "identity-of-last-attribute-modifier-Pattern" },
3864 { 12, "object-availabiiity-Pattern" },
3865 { 13, "object-size-Pattern" },
3866 { 14, "future-object-size-Pattern" },
3867 { 16, "legal-quailfication-Pattern" },
3868 { 22, "attribute-extensions-pattern" },
3869 { 0, NULL }
3872 static const ber_choice_t AND_Set_item_choice[] = {
3873 { 0, &hf_ftam_pathname_Pattern, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname_Pattern },
3874 { 18, &hf_ftam_object_type_Pattern, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ftam_Integer_Pattern },
3875 { 1, &hf_ftam_permitted_actions_Pattern, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Bitstring_Pattern },
3876 { 2, &hf_ftam_contents_type_Pattern, BER_CLASS_CON, 2, 0, dissect_ftam_Contents_Type_Pattern },
3877 { 19, &hf_ftam_linked_Object_Pattern, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname_Pattern },
3878 { 23, &hf_ftam_child_objects_Pattern, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname_Pattern },
3879 { 20, &hf_ftam_primaty_pathname_Pattern, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname_Pattern },
3880 { 3, &hf_ftam_storage_account_Pattern, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_String_Pattern },
3881 { 4, &hf_ftam_date_and_time_of_creation_Pattern, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Pattern },
3882 { 5, &hf_ftam_date_and_time_of_last_modification_Pattern, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Pattern },
3883 { 6, &hf_ftam_date_and_time_of_last_read_access_Pattern, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Pattern },
3884 { 7, &hf_ftam_date_and_time_of_last_attribute_modification_Pattern, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Pattern },
3885 { 8, &hf_ftam_identity_of_creator_Pattern, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity_Pattern },
3886 { 9, &hf_ftam_identity_of_last_modifier_Pattern, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity_Pattern },
3887 { 10, &hf_ftam_identity_of_last_reader_Pattern, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity_Pattern },
3888 { 11, &hf_ftam_identity_of_last_attribute_modifier_Pattern, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity_Pattern },
3889 { 12, &hf_ftam_object_availabiiity_Pattern, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_ftam_Boolean_Pattern },
3890 { 13, &hf_ftam_object_size_Pattern, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_ftam_Integer_Pattern },
3891 { 14, &hf_ftam_future_object_size_Pattern, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_ftam_Integer_Pattern },
3892 { 16, &hf_ftam_legal_quailfication_Pattern, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ftam_String_Pattern },
3893 { 22, &hf_ftam_attribute_extensions_pattern, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions_Pattern },
3894 { 0, NULL, 0, 0, 0, NULL }
3897 static int
3898 dissect_ftam_AND_Set_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3899 offset = dissect_ber_choice(actx, tree, tvb, offset,
3900 AND_Set_item_choice, hf_index, ett_ftam_AND_Set_item,
3901 NULL);
3903 return offset;
3907 static const ber_sequence_t AND_Set_sequence_of[1] = {
3908 { &hf_ftam_AND_Set_item , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_AND_Set_item },
3911 static int
3912 dissect_ftam_AND_Set(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3913 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3914 AND_Set_sequence_of, hf_index, ett_ftam_AND_Set);
3916 return offset;
3920 static const ber_sequence_t OR_Set_sequence_of[1] = {
3921 { &hf_ftam_OR_Set_item , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_AND_Set },
3924 static int
3925 dissect_ftam_OR_Set(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3926 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3927 OR_Set_sequence_of, hf_index, ett_ftam_OR_Set);
3929 return offset;
3934 static int
3935 dissect_ftam_Attribute_Value_Assertions(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3936 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3937 hf_index, BER_CLASS_APP, 26, TRUE, dissect_ftam_OR_Set);
3939 return offset;
3943 static const value_string ftam_T_retrieval_scope_vals[] = {
3944 { 0, "child" },
3945 { 1, "all" },
3946 { 0, NULL }
3950 static int
3951 dissect_ftam_T_retrieval_scope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3952 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3953 NULL);
3955 return offset;
3959 static const ber_sequence_t T__untag_item_sequence[] = {
3960 { &hf_ftam_root_directory , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
3961 { &hf_ftam_retrieval_scope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_retrieval_scope },
3962 { NULL, 0, 0, 0, NULL }
3965 static int
3966 dissect_ftam_T__untag_item(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3967 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3968 T__untag_item_sequence, hf_index, ett_ftam_T__untag_item);
3970 return offset;
3974 static const ber_sequence_t Scope_U_sequence_of[1] = {
3975 { &hf_ftam__untag_item_03 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_T__untag_item },
3978 static int
3979 dissect_ftam_Scope_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3980 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3981 Scope_U_sequence_of, hf_index, ett_ftam_Scope_U);
3983 return offset;
3988 static int
3989 dissect_ftam_Scope(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
3990 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3991 hf_index, BER_CLASS_APP, 28, TRUE, dissect_ftam_Scope_U);
3993 return offset;
3997 static const ber_sequence_t F_LIST_request_sequence[] = {
3998 { &hf_ftam_attribute_value_asset_tions, BER_CLASS_APP, 26, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Value_Assertions },
3999 { &hf_ftam_scope , BER_CLASS_APP, 28, BER_FLAGS_NOOWNTAG, dissect_ftam_Scope },
4000 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4001 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4002 { &hf_ftam_attribute_names, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Names },
4003 { &hf_ftam_attribute_extension_names, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extension_Names },
4004 { NULL, 0, 0, 0, NULL }
4007 static int
4008 dissect_ftam_F_LIST_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4009 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4010 F_LIST_request_sequence, hf_index, ett_ftam_F_LIST_request);
4012 return offset;
4016 static const ber_sequence_t SEQUENCE_OF_Read_Attributes_sequence_of[1] = {
4017 { &hf_ftam__untag_item_04 , BER_CLASS_APP, 18, BER_FLAGS_NOOWNTAG, dissect_ftam_Read_Attributes },
4020 static int
4021 dissect_ftam_SEQUENCE_OF_Read_Attributes(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4022 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4023 SEQUENCE_OF_Read_Attributes_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Read_Attributes);
4025 return offset;
4030 static int
4031 dissect_ftam_Objects_Attributes_List(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4032 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4033 hf_index, BER_CLASS_APP, 25, TRUE, dissect_ftam_SEQUENCE_OF_Read_Attributes);
4035 return offset;
4039 static const ber_sequence_t F_LIST_response_sequence[] = {
4040 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4041 { &hf_ftam_objects_attributes_list, BER_CLASS_APP, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Objects_Attributes_List },
4042 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4043 { NULL, 0, 0, 0, NULL }
4046 static int
4047 dissect_ftam_F_LIST_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4048 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4049 F_LIST_response_sequence, hf_index, ett_ftam_F_LIST_response);
4051 return offset;
4055 static const ber_sequence_t F_GROUP_SELECT_request_sequence[] = {
4056 { &hf_ftam_attribute_value_assertions, BER_CLASS_APP, 26, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Value_Assertions },
4057 { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
4058 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4059 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4060 { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
4061 { &hf_ftam_maximum_set_size, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
4062 { &hf_ftam_scope , BER_CLASS_APP, 28, BER_FLAGS_NOOWNTAG, dissect_ftam_Scope },
4063 { &hf_ftam_account , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
4064 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4065 { NULL, 0, 0, 0, NULL }
4068 static int
4069 dissect_ftam_F_GROUP_SELECT_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4070 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4071 F_GROUP_SELECT_request_sequence, hf_index, ett_ftam_F_GROUP_SELECT_request);
4073 return offset;
4077 static const ber_sequence_t F_GROUP_SELECT_response_sequence[] = {
4078 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4079 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4080 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4081 { NULL, 0, 0, 0, NULL }
4084 static int
4085 dissect_ftam_F_GROUP_SELECT_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4086 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4087 F_GROUP_SELECT_response_sequence, hf_index, ett_ftam_F_GROUP_SELECT_response);
4089 return offset;
4093 static const value_string ftam_Request_Operation_Result_U_vals[] = {
4094 { 0, "summary" },
4095 { 1, "fiii-list" },
4096 { 0, NULL }
4100 static int
4101 dissect_ftam_Request_Operation_Result_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4102 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4103 NULL);
4105 return offset;
4110 static int
4111 dissect_ftam_Request_Operation_Result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4112 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4113 hf_index, BER_CLASS_APP, 31, TRUE, dissect_ftam_Request_Operation_Result_U);
4115 return offset;
4119 static const ber_sequence_t F_GROUP_DELETE_request_sequence[] = {
4120 { &hf_ftam_request_Operation_result, BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Operation_Result },
4121 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4122 { NULL, 0, 0, 0, NULL }
4125 static int
4126 dissect_ftam_F_GROUP_DELETE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4127 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4128 F_GROUP_DELETE_request_sequence, hf_index, ett_ftam_F_GROUP_DELETE_request);
4130 return offset;
4134 static const ber_sequence_t SEQUENCE_OF_Pathname_sequence_of[1] = {
4135 { &hf_ftam_success_Object_names_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Pathname },
4138 static int
4139 dissect_ftam_SEQUENCE_OF_Pathname(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4140 offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4141 SEQUENCE_OF_Pathname_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Pathname);
4143 return offset;
4147 static const value_string ftam_Operation_Result_U_vals[] = {
4148 { 0, "success-Object-count" },
4149 { 1, "success-Object-names" },
4150 { 0, NULL }
4153 static const ber_choice_t Operation_Result_U_choice[] = {
4154 { 0, &hf_ftam_success_Object_count, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
4155 { 1, &hf_ftam_success_Object_names, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_SEQUENCE_OF_Pathname },
4156 { 0, NULL, 0, 0, 0, NULL }
4159 static int
4160 dissect_ftam_Operation_Result_U(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4161 offset = dissect_ber_choice(actx, tree, tvb, offset,
4162 Operation_Result_U_choice, hf_index, ett_ftam_Operation_Result_U,
4163 NULL);
4165 return offset;
4170 static int
4171 dissect_ftam_Operation_Result(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4172 offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4173 hf_index, BER_CLASS_APP, 30, FALSE, dissect_ftam_Operation_Result_U);
4175 return offset;
4179 static const ber_sequence_t F_GROUP_DELETE_response_sequence[] = {
4180 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4181 { &hf_ftam_charging , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
4182 { &hf_ftam_operation_result, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Operation_Result },
4183 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4184 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4185 { NULL, 0, 0, 0, NULL }
4188 static int
4189 dissect_ftam_F_GROUP_DELETE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4190 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4191 F_GROUP_DELETE_response_sequence, hf_index, ett_ftam_F_GROUP_DELETE_response);
4193 return offset;
4197 static const value_string ftam_Error_Action_vals[] = {
4198 { 0, "terminate" },
4199 { 1, "continue" },
4200 { 0, NULL }
4204 static int
4205 dissect_ftam_Error_Action(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4206 offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4207 NULL);
4209 return offset;
4213 static const ber_sequence_t F_GROUP_MOVE_request_sequence[] = {
4214 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4215 { &hf_ftam_override , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
4216 { &hf_ftam_error_action , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ftam_Error_Action },
4217 { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4218 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4219 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4220 { &hf_ftam_request_Operation_result, BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Operation_Result },
4221 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4222 { NULL, 0, 0, 0, NULL }
4225 static int
4226 dissect_ftam_F_GROUP_MOVE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4227 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4228 F_GROUP_MOVE_request_sequence, hf_index, ett_ftam_F_GROUP_MOVE_request);
4230 return offset;
4234 static const ber_sequence_t F_GROUP_MOVE_response_sequence[] = {
4235 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4236 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4237 { &hf_ftam_operation_result, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Operation_Result },
4238 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4239 { NULL, 0, 0, 0, NULL }
4242 static int
4243 dissect_ftam_F_GROUP_MOVE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4244 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4245 F_GROUP_MOVE_response_sequence, hf_index, ett_ftam_F_GROUP_MOVE_response);
4247 return offset;
4251 static const ber_sequence_t F_GROUP_COPY_request_sequence[] = {
4252 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4253 { &hf_ftam_override , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
4254 { &hf_ftam_error_action , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Error_Action },
4255 { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4256 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4257 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4258 { &hf_ftam_request_Operation_result, BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Operation_Result },
4259 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4260 { NULL, 0, 0, 0, NULL }
4263 static int
4264 dissect_ftam_F_GROUP_COPY_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4265 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4266 F_GROUP_COPY_request_sequence, hf_index, ett_ftam_F_GROUP_COPY_request);
4268 return offset;
4272 static const ber_sequence_t F_GROUP_COPY_response_sequence[] = {
4273 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4274 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4275 { &hf_ftam_operation_result, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Operation_Result },
4276 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4277 { NULL, 0, 0, 0, NULL }
4280 static int
4281 dissect_ftam_F_GROUP_COPY_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4282 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4283 F_GROUP_COPY_response_sequence, hf_index, ett_ftam_F_GROUP_COPY_response);
4285 return offset;
4289 static const ber_sequence_t F_GROUP_LIST_request_sequence[] = {
4290 { &hf_ftam_attribute_names, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Names },
4291 { &hf_ftam_attribute_extension_names, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extension_Names },
4292 { NULL, 0, 0, 0, NULL }
4295 static int
4296 dissect_ftam_F_GROUP_LIST_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4297 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4298 F_GROUP_LIST_request_sequence, hf_index, ett_ftam_F_GROUP_LIST_request);
4300 return offset;
4304 static const ber_sequence_t F_GROUP_LIST_response_sequence[] = {
4305 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4306 { &hf_ftam_objects_attributes_list, BER_CLASS_APP, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Objects_Attributes_List },
4307 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4308 { NULL, 0, 0, 0, NULL }
4311 static int
4312 dissect_ftam_F_GROUP_LIST_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4313 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4314 F_GROUP_LIST_response_sequence, hf_index, ett_ftam_F_GROUP_LIST_response);
4316 return offset;
4320 static const ber_sequence_t F_GROUP_CHANGE_ATTRIB_request_sequence[] = {
4321 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4322 { &hf_ftam_error_action , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Error_Action },
4323 { &hf_ftam_request_Operation_result, BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Operation_Result },
4324 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4325 { NULL, 0, 0, 0, NULL }
4328 static int
4329 dissect_ftam_F_GROUP_CHANGE_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4330 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4331 F_GROUP_CHANGE_ATTRIB_request_sequence, hf_index, ett_ftam_F_GROUP_CHANGE_ATTRIB_request);
4333 return offset;
4337 static const ber_sequence_t F_GROUP_CHANGE_ATTRIB_response_sequence[] = {
4338 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4339 { &hf_ftam_operation_result, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Operation_Result },
4340 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4341 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4342 { NULL, 0, 0, 0, NULL }
4345 static int
4346 dissect_ftam_F_GROUP_CHANGE_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4347 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4348 F_GROUP_CHANGE_ATTRIB_response_sequence, hf_index, ett_ftam_F_GROUP_CHANGE_ATTRIB_response);
4350 return offset;
4354 static const ber_sequence_t F_SELECT_ANOTHER_request_sequence[] = {
4355 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4356 { NULL, 0, 0, 0, NULL }
4359 static int
4360 dissect_ftam_F_SELECT_ANOTHER_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4361 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4362 F_SELECT_ANOTHER_request_sequence, hf_index, ett_ftam_F_SELECT_ANOTHER_request);
4364 return offset;
4368 static const ber_sequence_t F_SELECT_ANOTHER_response_sequence[] = {
4369 { &hf_ftam_state_result , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
4370 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4371 { &hf_ftam_last_member_indicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
4372 { &hf_ftam_referent_indicator, BER_CLASS_APP, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Referent_Indicator },
4373 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4374 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4375 { NULL, 0, 0, 0, NULL }
4378 static int
4379 dissect_ftam_F_SELECT_ANOTHER_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4380 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4381 F_SELECT_ANOTHER_response_sequence, hf_index, ett_ftam_F_SELECT_ANOTHER_response);
4383 return offset;
4387 static const ber_sequence_t F_CREATE_DIRECTORY_request_sequence[] = {
4388 { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
4389 { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4390 { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
4391 { &hf_ftam_shared_ASE_infonnation, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4392 { &hf_ftam_account , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
4393 { NULL, 0, 0, 0, NULL }
4396 static int
4397 dissect_ftam_F_CREATE_DIRECTORY_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4398 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4399 F_CREATE_DIRECTORY_request_sequence, hf_index, ett_ftam_F_CREATE_DIRECTORY_request);
4401 return offset;
4405 static const ber_sequence_t F_CREATE_DIRECTORY_response_sequence[] = {
4406 { &hf_ftam_state_result , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
4407 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4408 { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
4409 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4410 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4411 { NULL, 0, 0, 0, NULL }
4414 static int
4415 dissect_ftam_F_CREATE_DIRECTORY_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4416 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4417 F_CREATE_DIRECTORY_response_sequence, hf_index, ett_ftam_F_CREATE_DIRECTORY_response);
4419 return offset;
4423 static const ber_sequence_t F_LINK_request_sequence[] = {
4424 { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
4425 { &hf_ftam_target_object , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
4426 { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4427 { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
4428 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4429 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4430 { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
4431 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4432 { &hf_ftam_account , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
4433 { NULL, 0, 0, 0, NULL }
4436 static int
4437 dissect_ftam_F_LINK_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4438 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4439 F_LINK_request_sequence, hf_index, ett_ftam_F_LINK_request);
4441 return offset;
4445 static const ber_sequence_t F_LINK_response_sequence[] = {
4446 { &hf_ftam_state_result , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
4447 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4448 { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
4449 { &hf_ftam_target_Object , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
4450 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4451 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4452 { NULL, 0, 0, 0, NULL }
4455 static int
4456 dissect_ftam_F_LINK_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4457 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4458 F_LINK_response_sequence, hf_index, ett_ftam_F_LINK_response);
4460 return offset;
4464 static const ber_sequence_t F_UNLINK_request_sequence[] = {
4465 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4466 { NULL, 0, 0, 0, NULL }
4469 static int
4470 dissect_ftam_F_UNLINK_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4471 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4472 F_UNLINK_request_sequence, hf_index, ett_ftam_F_UNLINK_request);
4474 return offset;
4478 static const ber_sequence_t F_UNLINK_response_sequence[] = {
4479 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4480 { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4481 { &hf_ftam_charging , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
4482 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4483 { NULL, 0, 0, 0, NULL }
4486 static int
4487 dissect_ftam_F_UNLINK_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4488 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4489 F_UNLINK_response_sequence, hf_index, ett_ftam_F_UNLINK_response);
4491 return offset;
4495 static const ber_sequence_t F_READ_LINK_ATTRIB_request_sequence[] = {
4496 { &hf_ftam_attribute_names, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Names },
4497 { &hf_ftam_attribute_extension_names, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extension_Names },
4498 { NULL, 0, 0, 0, NULL }
4501 static int
4502 dissect_ftam_F_READ_LINK_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4503 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4504 F_READ_LINK_ATTRIB_request_sequence, hf_index, ett_ftam_F_READ_LINK_ATTRIB_request);
4506 return offset;
4510 static const ber_sequence_t F_READ_LINK_ATTRIB_response_sequence[] = {
4511 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4512 { &hf_ftam_read_link_attributes, BER_CLASS_APP, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Read_Attributes },
4513 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4514 { NULL, 0, 0, 0, NULL }
4517 static int
4518 dissect_ftam_F_READ_LINK_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4519 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4520 F_READ_LINK_ATTRIB_response_sequence, hf_index, ett_ftam_F_READ_LINK_ATTRIB_response);
4522 return offset;
4526 static const ber_sequence_t F_CHANGE_LINK_ATTRIB_request_sequence[] = {
4527 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4528 { NULL, 0, 0, 0, NULL }
4531 static int
4532 dissect_ftam_F_CHANGE_LINK_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4533 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4534 F_CHANGE_LINK_ATTRIB_request_sequence, hf_index, ett_ftam_F_CHANGE_LINK_ATTRIB_request);
4536 return offset;
4540 static const ber_sequence_t F_CHANGE_LINK_ATTRIB_response_sequence[] = {
4541 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4542 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4543 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4544 { NULL, 0, 0, 0, NULL }
4547 static int
4548 dissect_ftam_F_CHANGE_LINK_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4549 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4550 F_CHANGE_LINK_ATTRIB_response_sequence, hf_index, ett_ftam_F_CHANGE_LINK_ATTRIB_response);
4552 return offset;
4556 static const ber_sequence_t F_MOVE_request_sequence[] = {
4557 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4558 { &hf_ftam_override , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
4559 { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4560 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4561 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4562 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4563 { NULL, 0, 0, 0, NULL }
4566 static int
4567 dissect_ftam_F_MOVE_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4568 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4569 F_MOVE_request_sequence, hf_index, ett_ftam_F_MOVE_request);
4571 return offset;
4575 static const ber_sequence_t F_MOVE_response_sequence[] = {
4576 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4577 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4578 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4579 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4580 { NULL, 0, 0, 0, NULL }
4583 static int
4584 dissect_ftam_F_MOVE_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4585 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4586 F_MOVE_response_sequence, hf_index, ett_ftam_F_MOVE_response);
4588 return offset;
4592 static const ber_sequence_t F_COPY_request_sequence[] = {
4593 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4594 { &hf_ftam_override , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
4595 { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4596 { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4597 { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4598 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4599 { NULL, 0, 0, 0, NULL }
4602 static int
4603 dissect_ftam_F_COPY_request(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4604 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4605 F_COPY_request_sequence, hf_index, ett_ftam_F_COPY_request);
4607 return offset;
4611 static const ber_sequence_t F_COPY_response_sequence[] = {
4612 { &hf_ftam_action_result , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4613 { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4614 { &hf_ftam_attributes , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4615 { &hf_ftam_diagnostic , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4616 { NULL, 0, 0, 0, NULL }
4619 static int
4620 dissect_ftam_F_COPY_response(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4621 offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4622 F_COPY_response_sequence, hf_index, ett_ftam_F_COPY_response);
4624 return offset;
4628 static const value_string ftam_FSM_PDU_vals[] = {
4629 { 41, "f-Change-prefix-request" },
4630 { 42, "f-Change-prefix-response" },
4631 { 43, "f-list-request" },
4632 { 44, "f-list-response" },
4633 { 45, "f-group-select-request" },
4634 { 46, "f-group-select-response" },
4635 { 47, "f-group-delete-request" },
4636 { 48, "f-group-delete-response" },
4637 { 49, "f-group-move-request" },
4638 { 50, "f-group-move-response" },
4639 { 51, "f-group-copy-request" },
4640 { 52, "f-group-copy-response" },
4641 { 53, "f-group-list-request" },
4642 { 54, "f-group-list-response" },
4643 { 55, "f-group-Change-attrib-request" },
4644 { 56, "f-group-Change-attrib-response" },
4645 { 57, "f-select-another-request" },
4646 { 58, "f-select-another-response" },
4647 { 59, "f-create-directory-request" },
4648 { 60, "f-create-directory-response" },
4649 { 61, "f-link-request" },
4650 { 62, "f-link-response" },
4651 { 63, "f-unlink-request" },
4652 { 64, "f-unlink-response" },
4653 { 65, "f-read-link-attrib-request" },
4654 { 66, "f-read-link-attrib-response" },
4655 { 67, "f-Change-link-attrib-request" },
4656 { 68, "f-Change-Iink-attrib-response" },
4657 { 69, "f-move-request" },
4658 { 70, "f-move-response" },
4659 { 71, "f-copy-request" },
4660 { 72, "f-copy-response" },
4661 { 0, NULL }
4664 static const ber_choice_t FSM_PDU_choice[] = {
4665 { 41, &hf_ftam_f_Change_prefix_request, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_PREFIX_request },
4666 { 42, &hf_ftam_f_Change_prefix_response, BER_CLASS_CON, 42, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_PREFIX_response },
4667 { 43, &hf_ftam_f_list_request , BER_CLASS_CON, 43, BER_FLAGS_IMPLTAG, dissect_ftam_F_LIST_request },
4668 { 44, &hf_ftam_f_list_response, BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_ftam_F_LIST_response },
4669 { 45, &hf_ftam_f_group_select_request, BER_CLASS_CON, 45, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_SELECT_request },
4670 { 46, &hf_ftam_f_group_select_response, BER_CLASS_CON, 46, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_SELECT_response },
4671 { 47, &hf_ftam_f_group_delete_request, BER_CLASS_CON, 47, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_DELETE_request },
4672 { 48, &hf_ftam_f_group_delete_response, BER_CLASS_CON, 48, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_DELETE_response },
4673 { 49, &hf_ftam_f_group_move_request, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_MOVE_request },
4674 { 50, &hf_ftam_f_group_move_response, BER_CLASS_CON, 50, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_MOVE_response },
4675 { 51, &hf_ftam_f_group_copy_request, BER_CLASS_CON, 51, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_COPY_request },
4676 { 52, &hf_ftam_f_group_copy_response, BER_CLASS_CON, 52, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_COPY_response },
4677 { 53, &hf_ftam_f_group_list_request, BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_LIST_request },
4678 { 54, &hf_ftam_f_group_list_response, BER_CLASS_CON, 54, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_LIST_response },
4679 { 55, &hf_ftam_f_group_Change_attrib_request, BER_CLASS_CON, 55, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_CHANGE_ATTRIB_request },
4680 { 56, &hf_ftam_f_group_Change_attrib_response, BER_CLASS_CON, 56, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_CHANGE_ATTRIB_response },
4681 { 57, &hf_ftam_f_select_another_request, BER_CLASS_CON, 57, BER_FLAGS_IMPLTAG, dissect_ftam_F_SELECT_ANOTHER_request },
4682 { 58, &hf_ftam_f_select_another_response, BER_CLASS_CON, 58, BER_FLAGS_IMPLTAG, dissect_ftam_F_SELECT_ANOTHER_response },
4683 { 59, &hf_ftam_f_create_directory_request, BER_CLASS_CON, 59, BER_FLAGS_IMPLTAG, dissect_ftam_F_CREATE_DIRECTORY_request },
4684 { 60, &hf_ftam_f_create_directory_response, BER_CLASS_CON, 60, BER_FLAGS_IMPLTAG, dissect_ftam_F_CREATE_DIRECTORY_response },
4685 { 61, &hf_ftam_f_link_request , BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_ftam_F_LINK_request },
4686 { 62, &hf_ftam_f_link_response, BER_CLASS_CON, 62, BER_FLAGS_IMPLTAG, dissect_ftam_F_LINK_response },
4687 { 63, &hf_ftam_f_unlink_request, BER_CLASS_CON, 63, BER_FLAGS_IMPLTAG, dissect_ftam_F_UNLINK_request },
4688 { 64, &hf_ftam_f_unlink_response, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_ftam_F_UNLINK_response },
4689 { 65, &hf_ftam_f_read_link_attrib_request, BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_LINK_ATTRIB_request },
4690 { 66, &hf_ftam_f_read_link_attrib_response, BER_CLASS_CON, 66, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_LINK_ATTRIB_response },
4691 { 67, &hf_ftam_f_Change_link_attrib_request, BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_LINK_ATTRIB_request },
4692 { 68, &hf_ftam_f_Change_Iink_attrib_response, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_LINK_ATTRIB_response },
4693 { 69, &hf_ftam_f_move_request , BER_CLASS_CON, 69, BER_FLAGS_IMPLTAG, dissect_ftam_F_MOVE_request },
4694 { 70, &hf_ftam_f_move_response, BER_CLASS_CON, 70, BER_FLAGS_IMPLTAG, dissect_ftam_F_MOVE_response },
4695 { 71, &hf_ftam_f_copy_request , BER_CLASS_CON, 71, BER_FLAGS_IMPLTAG, dissect_ftam_F_COPY_request },
4696 { 72, &hf_ftam_f_copy_response, BER_CLASS_CON, 72, BER_FLAGS_IMPLTAG, dissect_ftam_F_COPY_response },
4697 { 0, NULL, 0, 0, 0, NULL }
4700 static int
4701 dissect_ftam_FSM_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4702 #line 120 "../../asn1/ftam/ftam.cnf"
4703 gint branch_taken;
4705 offset = dissect_ber_choice(actx, tree, tvb, offset,
4706 FSM_PDU_choice, hf_index, ett_ftam_FSM_PDU,
4707 &branch_taken);
4710 if( (branch_taken!=-1) && ftam_FSM_PDU_vals[branch_taken].strptr ){
4711 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s:", ftam_FSM_PDU_vals[branch_taken].strptr);
4715 return offset;
4719 static const value_string ftam_PDU_vals[] = {
4720 { -1/*choice*/, "fTAM-Regime-PDU" },
4721 { -1/*choice*/, "file-PDU" },
4722 { -1/*choice*/, "bulk-Data-PDU" },
4723 { -1/*choice*/, "fSM-PDU" },
4724 { 0, NULL }
4727 static const ber_choice_t PDU_choice[] = {
4728 { -1/*choice*/, &hf_ftam_fTAM_Regime_PDU, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ftam_FTAM_Regime_PDU },
4729 { -1/*choice*/, &hf_ftam_file_PDU , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ftam_File_PDU },
4730 { -1/*choice*/, &hf_ftam_bulk_Data_PDU , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ftam_Bulk_Data_PDU },
4731 { -1/*choice*/, &hf_ftam_fSM_PDU , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ftam_FSM_PDU },
4732 { 0, NULL, 0, 0, 0, NULL }
4735 static int
4736 dissect_ftam_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb _U_, int offset _U_, asn1_ctx_t *actx _U_, proto_tree *tree _U_, int hf_index _U_) {
4737 offset = dissect_ber_choice(actx, tree, tvb, offset,
4738 PDU_choice, hf_index, ett_ftam_PDU,
4739 NULL);
4741 return offset;
4745 /*--- End of included file: packet-ftam-fn.c ---*/
4746 #line 62 "../../asn1/ftam/packet-ftam-template.c"
4749 * Dissect FTAM unstructured text
4751 static void
4752 dissect_ftam_unstructured_text(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
4754 proto_tree_add_item (parent_tree, hf_ftam_unstructured_text, tvb, 0, tvb_length_remaining(tvb, 0), ENC_ASCII|ENC_NA);
4758 * Dissect FTAM unstructured binary
4760 static void
4761 dissect_ftam_unstructured_binary(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
4763 proto_tree_add_item (parent_tree, hf_ftam_unstructured_binary, tvb, 0, tvb_length_remaining(tvb, 0), ENC_NA);
4767 * Dissect FTAM PDUs inside a PPDU.
4769 static void
4770 dissect_ftam(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
4772 int offset = 0;
4773 int old_offset;
4774 proto_item *item=NULL;
4775 proto_tree *tree=NULL;
4776 asn1_ctx_t asn1_ctx;
4778 asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4780 if(parent_tree){
4781 item = proto_tree_add_item(parent_tree, proto_ftam, tvb, 0, -1, ENC_NA);
4782 tree = proto_item_add_subtree(item, ett_ftam);
4784 col_set_str(pinfo->cinfo, COL_PROTOCOL, "FTAM");
4785 col_clear(pinfo->cinfo, COL_INFO);
4787 while (tvb_reported_length_remaining(tvb, offset) > 0){
4788 old_offset=offset;
4789 offset=dissect_ftam_PDU(FALSE, tvb, offset, &asn1_ctx, tree, -1);
4790 if(offset == old_offset){
4791 proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte FTAM PDU");
4792 break;
4798 /*--- proto_register_ftam -------------------------------------------*/
4799 void proto_register_ftam(void) {
4801 /* List of fields */
4802 static hf_register_info hf[] =
4804 { &hf_ftam_unstructured_text,
4805 { "ISO FTAM unstructured text", "ftam.unstructured_text", FT_STRING,
4806 BASE_NONE, NULL, 0x0, NULL, HFILL } },
4807 { &hf_ftam_unstructured_binary,
4808 { "ISO FTAM unstructured binary", "ftam.unstructured_binary", FT_BYTES,
4809 BASE_NONE, NULL, 0x0, NULL, HFILL } },
4811 /*--- Included file: packet-ftam-hfarr.c ---*/
4812 #line 1 "../../asn1/ftam/packet-ftam-hfarr.c"
4813 { &hf_ftam_fTAM_Regime_PDU,
4814 { "fTAM-Regime-PDU", "ftam.fTAM_Regime_PDU",
4815 FT_UINT32, BASE_DEC, VALS(ftam_FTAM_Regime_PDU_vals), 0,
4816 NULL, HFILL }},
4817 { &hf_ftam_file_PDU,
4818 { "file-PDU", "ftam.file_PDU",
4819 FT_UINT32, BASE_DEC, VALS(ftam_File_PDU_vals), 0,
4820 NULL, HFILL }},
4821 { &hf_ftam_bulk_Data_PDU,
4822 { "bulk-Data-PDU", "ftam.bulk_Data_PDU",
4823 FT_UINT32, BASE_DEC, VALS(ftam_Bulk_Data_PDU_vals), 0,
4824 NULL, HFILL }},
4825 { &hf_ftam_fSM_PDU,
4826 { "fSM-PDU", "ftam.fSM_PDU",
4827 FT_UINT32, BASE_DEC, VALS(ftam_FSM_PDU_vals), 0,
4828 NULL, HFILL }},
4829 { &hf_ftam_f_initialize_request,
4830 { "f-initialize-request", "ftam.f_initialize_request_element",
4831 FT_NONE, BASE_NONE, NULL, 0,
4832 NULL, HFILL }},
4833 { &hf_ftam_f_initialize_response,
4834 { "f-initialize-response", "ftam.f_initialize_response_element",
4835 FT_NONE, BASE_NONE, NULL, 0,
4836 NULL, HFILL }},
4837 { &hf_ftam_f_terminate_request,
4838 { "f-terminate-request", "ftam.f_terminate_request_element",
4839 FT_NONE, BASE_NONE, NULL, 0,
4840 NULL, HFILL }},
4841 { &hf_ftam_f_terminate_response,
4842 { "f-terminate-response", "ftam.f_terminate_response_element",
4843 FT_NONE, BASE_NONE, NULL, 0,
4844 NULL, HFILL }},
4845 { &hf_ftam_f_u_abort_request,
4846 { "f-u-abort-request", "ftam.f_u_abort_request_element",
4847 FT_NONE, BASE_NONE, NULL, 0,
4848 NULL, HFILL }},
4849 { &hf_ftam_f_p_abort_request,
4850 { "f-p-abort-request", "ftam.f_p_abort_request_element",
4851 FT_NONE, BASE_NONE, NULL, 0,
4852 NULL, HFILL }},
4853 { &hf_ftam_protocol_Version,
4854 { "protocol-Version", "ftam.protocol_Version",
4855 FT_BYTES, BASE_NONE, NULL, 0,
4856 NULL, HFILL }},
4857 { &hf_ftam_implementation_information,
4858 { "implementation-information", "ftam.implementation_information",
4859 FT_STRING, BASE_NONE, NULL, 0,
4860 NULL, HFILL }},
4861 { &hf_ftam_presentation_tontext_management,
4862 { "presentation-tontext-management", "ftam.presentation_tontext_management",
4863 FT_BOOLEAN, BASE_NONE, NULL, 0,
4864 "BOOLEAN", HFILL }},
4865 { &hf_ftam_service_class,
4866 { "service-class", "ftam.service_class",
4867 FT_BYTES, BASE_NONE, NULL, 0,
4868 NULL, HFILL }},
4869 { &hf_ftam_functional_units,
4870 { "functional-units", "ftam.functional_units",
4871 FT_BYTES, BASE_NONE, NULL, 0,
4872 NULL, HFILL }},
4873 { &hf_ftam_attribute_groups,
4874 { "attribute-groups", "ftam.attribute_groups",
4875 FT_BYTES, BASE_NONE, NULL, 0,
4876 NULL, HFILL }},
4877 { &hf_ftam_shared_ASE_information,
4878 { "shared-ASE-information", "ftam.shared_ASE_information_element",
4879 FT_NONE, BASE_NONE, NULL, 0,
4880 NULL, HFILL }},
4881 { &hf_ftam_ftam_quality_of_Service,
4882 { "ftam-quality-of-Service", "ftam.ftam_quality_of_Service",
4883 FT_INT32, BASE_DEC, VALS(ftam_FTAM_Quality_of_Service_U_vals), 0,
4884 NULL, HFILL }},
4885 { &hf_ftam_contents_type_list,
4886 { "contents-type-list", "ftam.contents_type_list",
4887 FT_UINT32, BASE_DEC, NULL, 0,
4888 NULL, HFILL }},
4889 { &hf_ftam_initiator_identity,
4890 { "initiator-identity", "ftam.initiator_identity",
4891 FT_STRING, BASE_NONE, NULL, 0,
4892 "User_Identity", HFILL }},
4893 { &hf_ftam_account,
4894 { "account", "ftam.account",
4895 FT_STRING, BASE_NONE, NULL, 0,
4896 NULL, HFILL }},
4897 { &hf_ftam_filestore_password,
4898 { "filestore-password", "ftam.filestore_password",
4899 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
4900 "Password", HFILL }},
4901 { &hf_ftam_checkpoint_window,
4902 { "checkpoint-window", "ftam.checkpoint_window",
4903 FT_INT32, BASE_DEC, NULL, 0,
4904 "INTEGER", HFILL }},
4905 { &hf_ftam_state_result,
4906 { "state-result", "ftam.state_result",
4907 FT_INT32, BASE_DEC, VALS(ftam_State_Result_U_vals), 0,
4908 NULL, HFILL }},
4909 { &hf_ftam_action_result,
4910 { "action-result", "ftam.action_result",
4911 FT_INT32, BASE_DEC, VALS(ftam_Action_Result_U_vals), 0,
4912 NULL, HFILL }},
4913 { &hf_ftam_diagnostic,
4914 { "diagnostic", "ftam.diagnostic",
4915 FT_UINT32, BASE_DEC, NULL, 0,
4916 NULL, HFILL }},
4917 { &hf_ftam__untag_item,
4918 { "_untag item", "ftam._untag_item",
4919 FT_UINT32, BASE_DEC, VALS(ftam_Contents_Type_List_item_vals), 0,
4920 "Contents_Type_List_item", HFILL }},
4921 { &hf_ftam_document_type_name,
4922 { "document-type-name", "ftam.document_type_name",
4923 FT_OID, BASE_NONE, NULL, 0,
4924 NULL, HFILL }},
4925 { &hf_ftam_abstract_Syntax_name,
4926 { "abstract-Syntax-name", "ftam.abstract_Syntax_name",
4927 FT_OID, BASE_NONE, NULL, 0,
4928 NULL, HFILL }},
4929 { &hf_ftam_charging,
4930 { "charging", "ftam.charging",
4931 FT_UINT32, BASE_DEC, NULL, 0,
4932 NULL, HFILL }},
4933 { &hf_ftam_f_select_request,
4934 { "f-select-request", "ftam.f_select_request_element",
4935 FT_NONE, BASE_NONE, NULL, 0,
4936 NULL, HFILL }},
4937 { &hf_ftam_f_select_response,
4938 { "f-select-response", "ftam.f_select_response_element",
4939 FT_NONE, BASE_NONE, NULL, 0,
4940 NULL, HFILL }},
4941 { &hf_ftam_f_deselect_request,
4942 { "f-deselect-request", "ftam.f_deselect_request_element",
4943 FT_NONE, BASE_NONE, NULL, 0,
4944 NULL, HFILL }},
4945 { &hf_ftam_f_deselect_response,
4946 { "f-deselect-response", "ftam.f_deselect_response_element",
4947 FT_NONE, BASE_NONE, NULL, 0,
4948 NULL, HFILL }},
4949 { &hf_ftam_f_create_request,
4950 { "f-create-request", "ftam.f_create_request_element",
4951 FT_NONE, BASE_NONE, NULL, 0,
4952 NULL, HFILL }},
4953 { &hf_ftam_f_create_response,
4954 { "f-create-response", "ftam.f_create_response_element",
4955 FT_NONE, BASE_NONE, NULL, 0,
4956 NULL, HFILL }},
4957 { &hf_ftam_f_delete_request,
4958 { "f-delete-request", "ftam.f_delete_request_element",
4959 FT_NONE, BASE_NONE, NULL, 0,
4960 NULL, HFILL }},
4961 { &hf_ftam_f_delete_response,
4962 { "f-delete-response", "ftam.f_delete_response_element",
4963 FT_NONE, BASE_NONE, NULL, 0,
4964 NULL, HFILL }},
4965 { &hf_ftam_f_read_attrib_request,
4966 { "f-read-attrib-request", "ftam.f_read_attrib_request_element",
4967 FT_NONE, BASE_NONE, NULL, 0,
4968 NULL, HFILL }},
4969 { &hf_ftam_f_read_attrib_response,
4970 { "f-read-attrib-response", "ftam.f_read_attrib_response_element",
4971 FT_NONE, BASE_NONE, NULL, 0,
4972 NULL, HFILL }},
4973 { &hf_ftam_f_Change_attrib_reques,
4974 { "f-Change-attrib-reques", "ftam.f_Change_attrib_reques_element",
4975 FT_NONE, BASE_NONE, NULL, 0,
4976 "F_CHANGE_ATTRIB_request", HFILL }},
4977 { &hf_ftam_f_Change_attrib_respon,
4978 { "f-Change-attrib-respon", "ftam.f_Change_attrib_respon_element",
4979 FT_NONE, BASE_NONE, NULL, 0,
4980 "F_CHANGE_ATTRIB_response", HFILL }},
4981 { &hf_ftam_f_open_request,
4982 { "f-open-request", "ftam.f_open_request_element",
4983 FT_NONE, BASE_NONE, NULL, 0,
4984 NULL, HFILL }},
4985 { &hf_ftam_f_open_response,
4986 { "f-open-response", "ftam.f_open_response_element",
4987 FT_NONE, BASE_NONE, NULL, 0,
4988 NULL, HFILL }},
4989 { &hf_ftam_f_close_request,
4990 { "f-close-request", "ftam.f_close_request_element",
4991 FT_NONE, BASE_NONE, NULL, 0,
4992 NULL, HFILL }},
4993 { &hf_ftam_f_close_response,
4994 { "f-close-response", "ftam.f_close_response_element",
4995 FT_NONE, BASE_NONE, NULL, 0,
4996 NULL, HFILL }},
4997 { &hf_ftam_f_begin_group_request,
4998 { "f-begin-group-request", "ftam.f_begin_group_request_element",
4999 FT_NONE, BASE_NONE, NULL, 0,
5000 NULL, HFILL }},
5001 { &hf_ftam_f_begin_group_response,
5002 { "f-begin-group-response", "ftam.f_begin_group_response_element",
5003 FT_NONE, BASE_NONE, NULL, 0,
5004 NULL, HFILL }},
5005 { &hf_ftam_f_end_group_request,
5006 { "f-end-group-request", "ftam.f_end_group_request_element",
5007 FT_NONE, BASE_NONE, NULL, 0,
5008 NULL, HFILL }},
5009 { &hf_ftam_f_end_group_response,
5010 { "f-end-group-response", "ftam.f_end_group_response_element",
5011 FT_NONE, BASE_NONE, NULL, 0,
5012 NULL, HFILL }},
5013 { &hf_ftam_f_recover_request,
5014 { "f-recover-request", "ftam.f_recover_request_element",
5015 FT_NONE, BASE_NONE, NULL, 0,
5016 NULL, HFILL }},
5017 { &hf_ftam_f_recover_response,
5018 { "f-recover-response", "ftam.f_recover_response_element",
5019 FT_NONE, BASE_NONE, NULL, 0,
5020 NULL, HFILL }},
5021 { &hf_ftam_f_locate_request,
5022 { "f-locate-request", "ftam.f_locate_request_element",
5023 FT_NONE, BASE_NONE, NULL, 0,
5024 NULL, HFILL }},
5025 { &hf_ftam_f_locate_response,
5026 { "f-locate-response", "ftam.f_locate_response_element",
5027 FT_NONE, BASE_NONE, NULL, 0,
5028 NULL, HFILL }},
5029 { &hf_ftam_f_erase_request,
5030 { "f-erase-request", "ftam.f_erase_request_element",
5031 FT_NONE, BASE_NONE, NULL, 0,
5032 NULL, HFILL }},
5033 { &hf_ftam_f_erase_response,
5034 { "f-erase-response", "ftam.f_erase_response_element",
5035 FT_NONE, BASE_NONE, NULL, 0,
5036 NULL, HFILL }},
5037 { &hf_ftam_select_attributes,
5038 { "attributes", "ftam.attributes_element",
5039 FT_NONE, BASE_NONE, NULL, 0,
5040 "Select_Attributes", HFILL }},
5041 { &hf_ftam_requested_access,
5042 { "requested-access", "ftam.requested_access",
5043 FT_BYTES, BASE_NONE, NULL, 0,
5044 "Access_Request", HFILL }},
5045 { &hf_ftam_access_passwords,
5046 { "access-passwords", "ftam.access_passwords_element",
5047 FT_NONE, BASE_NONE, NULL, 0,
5048 NULL, HFILL }},
5049 { &hf_ftam_path_access_passwords,
5050 { "path-access-passwords", "ftam.path_access_passwords",
5051 FT_UINT32, BASE_DEC, NULL, 0,
5052 NULL, HFILL }},
5053 { &hf_ftam_concurrency_control,
5054 { "concurrency-control", "ftam.concurrency_control_element",
5055 FT_NONE, BASE_NONE, NULL, 0,
5056 NULL, HFILL }},
5057 { &hf_ftam_referent_indicator,
5058 { "referent-indicator", "ftam.referent_indicator",
5059 FT_BOOLEAN, BASE_NONE, NULL, 0,
5060 NULL, HFILL }},
5061 { &hf_ftam_override,
5062 { "override", "ftam.override",
5063 FT_INT32, BASE_DEC, VALS(ftam_Override_vals), 0,
5064 NULL, HFILL }},
5065 { &hf_ftam_initial_attributes,
5066 { "initial-attributes", "ftam.initial_attributes_element",
5067 FT_NONE, BASE_NONE, NULL, 0,
5068 "Create_Attributes", HFILL }},
5069 { &hf_ftam_create_password,
5070 { "create-password", "ftam.create_password",
5071 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5072 "Password", HFILL }},
5073 { &hf_ftam_attribute_names,
5074 { "attribute-names", "ftam.attribute_names",
5075 FT_BYTES, BASE_NONE, NULL, 0,
5076 NULL, HFILL }},
5077 { &hf_ftam_attribute_extension_names,
5078 { "attribute-extension-names", "ftam.attribute_extension_names",
5079 FT_UINT32, BASE_DEC, NULL, 0,
5080 NULL, HFILL }},
5081 { &hf_ftam_read_attributes,
5082 { "attributes", "ftam.attributes_element",
5083 FT_NONE, BASE_NONE, NULL, 0,
5084 "Read_Attributes", HFILL }},
5085 { &hf_ftam_attributes,
5086 { "attributes", "ftam.attributes_element",
5087 FT_NONE, BASE_NONE, NULL, 0,
5088 "Change_Attributes", HFILL }},
5089 { &hf_ftam_processing_mode,
5090 { "processing-mode", "ftam.processing_mode",
5091 FT_BYTES, BASE_NONE, NULL, 0,
5092 NULL, HFILL }},
5093 { &hf_ftam_open_contents_type,
5094 { "contents-type", "ftam.contents_type",
5095 FT_UINT32, BASE_DEC, VALS(ftam_T_open_contents_type_vals), 0,
5096 "T_open_contents_type", HFILL }},
5097 { &hf_ftam_unknown,
5098 { "unknown", "ftam.unknown_element",
5099 FT_NONE, BASE_NONE, NULL, 0,
5100 NULL, HFILL }},
5101 { &hf_ftam_proposed,
5102 { "proposed", "ftam.proposed",
5103 FT_UINT32, BASE_DEC, VALS(ftam_Contents_Type_Attribute_vals), 0,
5104 "Contents_Type_Attribute", HFILL }},
5105 { &hf_ftam_enable_fadu_locking,
5106 { "enable-fadu-locking", "ftam.enable_fadu_locking",
5107 FT_BOOLEAN, BASE_NONE, NULL, 0,
5108 "BOOLEAN", HFILL }},
5109 { &hf_ftam_activity_identifier,
5110 { "activity-identifier", "ftam.activity_identifier",
5111 FT_INT32, BASE_DEC, NULL, 0,
5112 NULL, HFILL }},
5113 { &hf_ftam_request_recovery_mode,
5114 { "recovery-mode", "ftam.recovery_mode",
5115 FT_INT32, BASE_DEC, VALS(ftam_T_request_recovery_mode_vals), 0,
5116 "T_request_recovery_mode", HFILL }},
5117 { &hf_ftam_remove_contexts,
5118 { "remove-contexts", "ftam.remove_contexts",
5119 FT_UINT32, BASE_DEC, NULL, 0,
5120 "SET_OF_Abstract_Syntax_Name", HFILL }},
5121 { &hf_ftam_remove_contexts_item,
5122 { "Abstract-Syntax-Name", "ftam.Abstract_Syntax_Name",
5123 FT_OID, BASE_NONE, NULL, 0,
5124 NULL, HFILL }},
5125 { &hf_ftam_define_contexts,
5126 { "define-contexts", "ftam.define_contexts",
5127 FT_UINT32, BASE_DEC, NULL, 0,
5128 "SET_OF_Abstract_Syntax_Name", HFILL }},
5129 { &hf_ftam_define_contexts_item,
5130 { "Abstract-Syntax-Name", "ftam.Abstract_Syntax_Name",
5131 FT_OID, BASE_NONE, NULL, 0,
5132 NULL, HFILL }},
5133 { &hf_ftam_degree_of_overlap,
5134 { "degree-of-overlap", "ftam.degree_of_overlap",
5135 FT_INT32, BASE_DEC, VALS(ftam_Degree_Of_Overlap_U_vals), 0,
5136 NULL, HFILL }},
5137 { &hf_ftam_transfer_window,
5138 { "transfer-window", "ftam.transfer_window",
5139 FT_INT32, BASE_DEC, NULL, 0,
5140 "INTEGER", HFILL }},
5141 { &hf_ftam_contents_type,
5142 { "contents-type", "ftam.contents_type",
5143 FT_UINT32, BASE_DEC, VALS(ftam_Contents_Type_Attribute_vals), 0,
5144 "Contents_Type_Attribute", HFILL }},
5145 { &hf_ftam_response_recovery_mode,
5146 { "recovery-mode", "ftam.recovery_mode",
5147 FT_INT32, BASE_DEC, VALS(ftam_T_response_recovery_mode_vals), 0,
5148 "T_response_recovery_mode", HFILL }},
5149 { &hf_ftam_presentation_action,
5150 { "presentation-action", "ftam.presentation_action",
5151 FT_BOOLEAN, BASE_NONE, NULL, 0,
5152 "BOOLEAN", HFILL }},
5153 { &hf_ftam_threshold,
5154 { "threshold", "ftam.threshold",
5155 FT_INT32, BASE_DEC, NULL, 0,
5156 "INTEGER", HFILL }},
5157 { &hf_ftam_bulk_transfer_number,
5158 { "bulk-transfer-number", "ftam.bulk_transfer_number",
5159 FT_INT32, BASE_DEC, NULL, 0,
5160 "INTEGER", HFILL }},
5161 { &hf_ftam_recovefy_Point,
5162 { "recovefy-Point", "ftam.recovefy_Point",
5163 FT_INT32, BASE_DEC, NULL, 0,
5164 "INTEGER", HFILL }},
5165 { &hf_ftam_concurrent_bulk_transfer_number,
5166 { "concurrent-bulk-transfer-number", "ftam.concurrent_bulk_transfer_number",
5167 FT_INT32, BASE_DEC, NULL, 0,
5168 "INTEGER", HFILL }},
5169 { &hf_ftam_concurrent_recovery_point,
5170 { "concurrent-recovery-point", "ftam.concurrent_recovery_point",
5171 FT_INT32, BASE_DEC, NULL, 0,
5172 "INTEGER", HFILL }},
5173 { &hf_ftam_last_transfer_end_read_response,
5174 { "last-transfer-end-read-response", "ftam.last_transfer_end_read_response",
5175 FT_INT32, BASE_DEC, NULL, 0,
5176 "INTEGER", HFILL }},
5177 { &hf_ftam_last_transfer_end_write_response,
5178 { "last-transfer-end-write-response", "ftam.last_transfer_end_write_response",
5179 FT_INT32, BASE_DEC, NULL, 0,
5180 "INTEGER", HFILL }},
5181 { &hf_ftam_recovety_Point,
5182 { "recovety-Point", "ftam.recovety_Point",
5183 FT_INT32, BASE_DEC, NULL, 0,
5184 "INTEGER", HFILL }},
5185 { &hf_ftam_last_transfer_end_read_request,
5186 { "last-transfer-end-read-request", "ftam.last_transfer_end_read_request",
5187 FT_INT32, BASE_DEC, NULL, 0,
5188 "INTEGER", HFILL }},
5189 { &hf_ftam_last_transfer_end_write_request,
5190 { "last-transfer-end-write-request", "ftam.last_transfer_end_write_request",
5191 FT_INT32, BASE_DEC, NULL, 0,
5192 "INTEGER", HFILL }},
5193 { &hf_ftam_file_access_data_unit_identity,
5194 { "file-access-data-unit-identity", "ftam.file_access_data_unit_identity",
5195 FT_UINT32, BASE_DEC, VALS(ftam_FADU_Identity_U_vals), 0,
5196 "FADU_Identity", HFILL }},
5197 { &hf_ftam_fadu_lock,
5198 { "fadu-lock", "ftam.fadu_lock",
5199 FT_INT32, BASE_DEC, VALS(ftam_FADU_Lock_U_vals), 0,
5200 NULL, HFILL }},
5201 { &hf_ftam_f_read_request,
5202 { "f-read-request", "ftam.f_read_request_element",
5203 FT_NONE, BASE_NONE, NULL, 0,
5204 NULL, HFILL }},
5205 { &hf_ftam_f_write_request,
5206 { "f-write-request", "ftam.f_write_request_element",
5207 FT_NONE, BASE_NONE, NULL, 0,
5208 NULL, HFILL }},
5209 { &hf_ftam_f_data_end_request,
5210 { "f-data-end-request", "ftam.f_data_end_request_element",
5211 FT_NONE, BASE_NONE, NULL, 0,
5212 NULL, HFILL }},
5213 { &hf_ftam_f_transfer_end_request,
5214 { "f-transfer-end-request", "ftam.f_transfer_end_request_element",
5215 FT_NONE, BASE_NONE, NULL, 0,
5216 NULL, HFILL }},
5217 { &hf_ftam_f_transfer_end_response,
5218 { "f-transfer-end-response", "ftam.f_transfer_end_response_element",
5219 FT_NONE, BASE_NONE, NULL, 0,
5220 NULL, HFILL }},
5221 { &hf_ftam_f_cancel_request,
5222 { "f-cancel-request", "ftam.f_cancel_request_element",
5223 FT_NONE, BASE_NONE, NULL, 0,
5224 NULL, HFILL }},
5225 { &hf_ftam_f_cancel_response,
5226 { "f-cancel-response", "ftam.f_cancel_response_element",
5227 FT_NONE, BASE_NONE, NULL, 0,
5228 NULL, HFILL }},
5229 { &hf_ftam_f_restart_request,
5230 { "f-restart-request", "ftam.f_restart_request_element",
5231 FT_NONE, BASE_NONE, NULL, 0,
5232 NULL, HFILL }},
5233 { &hf_ftam_f_restart_response,
5234 { "f-restart-response", "ftam.f_restart_response_element",
5235 FT_NONE, BASE_NONE, NULL, 0,
5236 NULL, HFILL }},
5237 { &hf_ftam_read_access_context,
5238 { "access-context", "ftam.access_context_element",
5239 FT_NONE, BASE_NONE, NULL, 0,
5240 NULL, HFILL }},
5241 { &hf_ftam_transfer_number,
5242 { "transfer-number", "ftam.transfer_number",
5243 FT_INT32, BASE_DEC, NULL, 0,
5244 "INTEGER", HFILL }},
5245 { &hf_ftam_file_access_data_unit_Operation,
5246 { "file-access-data-unit-Operation", "ftam.file_access_data_unit_Operation",
5247 FT_INT32, BASE_DEC, VALS(ftam_T_file_access_data_unit_Operation_vals), 0,
5248 "T_file_access_data_unit_Operation", HFILL }},
5249 { &hf_ftam_request_type,
5250 { "request-type", "ftam.request_type",
5251 FT_INT32, BASE_DEC, VALS(ftam_Request_Type_U_vals), 0,
5252 NULL, HFILL }},
5253 { &hf_ftam_checkpoint_identifier,
5254 { "checkpoint-identifier", "ftam.checkpoint_identifier",
5255 FT_INT32, BASE_DEC, NULL, 0,
5256 "INTEGER", HFILL }},
5257 { &hf_ftam_access_context,
5258 { "access-context", "ftam.access_context",
5259 FT_INT32, BASE_DEC, VALS(ftam_T_access_context_vals), 0,
5260 NULL, HFILL }},
5261 { &hf_ftam_level_number,
5262 { "level-number", "ftam.level_number",
5263 FT_INT32, BASE_DEC, NULL, 0,
5264 "INTEGER", HFILL }},
5265 { &hf_ftam_read_password,
5266 { "read-password", "ftam.read_password",
5267 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5268 "Password", HFILL }},
5269 { &hf_ftam_insert_password,
5270 { "insert-password", "ftam.insert_password",
5271 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5272 "Password", HFILL }},
5273 { &hf_ftam_replace_password,
5274 { "replace-password", "ftam.replace_password",
5275 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5276 "Password", HFILL }},
5277 { &hf_ftam_extend_password,
5278 { "extend-password", "ftam.extend_password",
5279 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5280 "Password", HFILL }},
5281 { &hf_ftam_erase_password,
5282 { "erase-password", "ftam.erase_password",
5283 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5284 "Password", HFILL }},
5285 { &hf_ftam_read_attribute_password,
5286 { "read-attribute-password", "ftam.read_attribute_password",
5287 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5288 "Password", HFILL }},
5289 { &hf_ftam_change_attribute_password,
5290 { "change-attribute-password", "ftam.change_attribute_password",
5291 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5292 "Password", HFILL }},
5293 { &hf_ftam_delete_password,
5294 { "delete-password", "ftam.delete_password",
5295 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5296 "Password", HFILL }},
5297 { &hf_ftam_pass_passwords,
5298 { "pass-passwords", "ftam.pass_passwords",
5299 FT_UINT32, BASE_DEC, NULL, 0,
5300 NULL, HFILL }},
5301 { &hf_ftam_link_password,
5302 { "link-password", "ftam.link_password",
5303 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5304 "Password", HFILL }},
5305 { &hf_ftam_pathname,
5306 { "pathname", "ftam.pathname",
5307 FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5308 "Pathname_Attribute", HFILL }},
5309 { &hf_ftam_storage_account,
5310 { "storage-account", "ftam.storage_account",
5311 FT_UINT32, BASE_DEC, VALS(ftam_Account_Attribute_vals), 0,
5312 "Account_Attribute", HFILL }},
5313 { &hf_ftam_object_availability,
5314 { "object-availability", "ftam.object_availability",
5315 FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0,
5316 "Object_Availability_Attribute", HFILL }},
5317 { &hf_ftam_future_Object_size,
5318 { "future-Object-size", "ftam.future_Object_size",
5319 FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5320 "Object_Size_Attribute", HFILL }},
5321 { &hf_ftam_change_attributes_access_control,
5322 { "access-control", "ftam.access_control",
5323 FT_UINT32, BASE_DEC, VALS(ftam_Access_Control_Change_Attribute_vals), 0,
5324 "Access_Control_Change_Attribute", HFILL }},
5325 { &hf_ftam_change_path_access_control,
5326 { "path-access-control", "ftam.path_access_control",
5327 FT_UINT32, BASE_DEC, VALS(ftam_Access_Control_Change_Attribute_vals), 0,
5328 "Access_Control_Change_Attribute", HFILL }},
5329 { &hf_ftam_legal_qualification,
5330 { "legal-qualification", "ftam.legal_qualification",
5331 FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0,
5332 "Legal_Qualification_Attribute", HFILL }},
5333 { &hf_ftam_private_use,
5334 { "private-use", "ftam.private_use",
5335 FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0,
5336 "Private_Use_Attribute", HFILL }},
5337 { &hf_ftam_attribute_extensions,
5338 { "attribute-extensions", "ftam.attribute_extensions",
5339 FT_UINT32, BASE_DEC, NULL, 0,
5340 NULL, HFILL }},
5341 { &hf_ftam__untag_item_01,
5342 { "_untag item", "ftam._untag_item_element",
5343 FT_NONE, BASE_NONE, NULL, 0,
5344 "Charging_item", HFILL }},
5345 { &hf_ftam_resource_identifier,
5346 { "resource-identifier", "ftam.resource_identifier",
5347 FT_STRING, BASE_NONE, NULL, 0,
5348 "GraphicString", HFILL }},
5349 { &hf_ftam_charging_unit,
5350 { "charging-unit", "ftam.charging_unit",
5351 FT_STRING, BASE_NONE, NULL, 0,
5352 "GraphicString", HFILL }},
5353 { &hf_ftam_charging_value,
5354 { "charging-value", "ftam.charging_value",
5355 FT_INT32, BASE_DEC, NULL, 0,
5356 "INTEGER", HFILL }},
5357 { &hf_ftam_read,
5358 { "read", "ftam.read",
5359 FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5360 "Lock", HFILL }},
5361 { &hf_ftam_insert,
5362 { "insert", "ftam.insert",
5363 FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5364 "Lock", HFILL }},
5365 { &hf_ftam_replace,
5366 { "replace", "ftam.replace",
5367 FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5368 "Lock", HFILL }},
5369 { &hf_ftam_extend,
5370 { "extend", "ftam.extend",
5371 FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5372 "Lock", HFILL }},
5373 { &hf_ftam_erase,
5374 { "erase", "ftam.erase",
5375 FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5376 "Lock", HFILL }},
5377 { &hf_ftam_read_attribute,
5378 { "read-attribute", "ftam.read_attribute",
5379 FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5380 "Lock", HFILL }},
5381 { &hf_ftam_change_attribute,
5382 { "change-attribute", "ftam.change_attribute",
5383 FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5384 "Lock", HFILL }},
5385 { &hf_ftam_delete_Object,
5386 { "delete-Object", "ftam.delete_Object",
5387 FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5388 "Lock", HFILL }},
5389 { &hf_ftam_object_type,
5390 { "object-type", "ftam.object_type",
5391 FT_INT32, BASE_DEC, VALS(ftam_Object_Type_Attribute_vals), 0,
5392 "Object_Type_Attribute", HFILL }},
5393 { &hf_ftam_permitted_actions,
5394 { "permitted-actions", "ftam.permitted_actions",
5395 FT_BYTES, BASE_NONE, NULL, 0,
5396 "Permitted_Actions_Attribute", HFILL }},
5397 { &hf_ftam_access_control,
5398 { "access-control", "ftam.access_control",
5399 FT_UINT32, BASE_DEC, VALS(ftam_Access_Control_Attribute_vals), 0,
5400 "Access_Control_Attribute", HFILL }},
5401 { &hf_ftam_path_access_control,
5402 { "path-access-control", "ftam.path_access_control",
5403 FT_UINT32, BASE_DEC, VALS(ftam_Access_Control_Attribute_vals), 0,
5404 "Access_Control_Attribute", HFILL }},
5405 { &hf_ftam__untag_item_02,
5406 { "_untag item", "ftam._untag_item_element",
5407 FT_NONE, BASE_NONE, NULL, 0,
5408 "Diagnostic_item", HFILL }},
5409 { &hf_ftam_diagnostic_type,
5410 { "diagnostic-type", "ftam.diagnostic_type",
5411 FT_INT32, BASE_DEC, VALS(ftam_T_diagnostic_type_vals), 0,
5412 NULL, HFILL }},
5413 { &hf_ftam_error_identifier,
5414 { "error-identifier", "ftam.error_identifier",
5415 FT_INT32, BASE_DEC, NULL, 0,
5416 "INTEGER", HFILL }},
5417 { &hf_ftam_error_observer,
5418 { "error-observer", "ftam.error_observer",
5419 FT_INT32, BASE_DEC, VALS(ftam_Entity_Reference_vals), 0,
5420 "Entity_Reference", HFILL }},
5421 { &hf_ftam_error_Source,
5422 { "error-Source", "ftam.error_Source",
5423 FT_INT32, BASE_DEC, VALS(ftam_Entity_Reference_vals), 0,
5424 "Entity_Reference", HFILL }},
5425 { &hf_ftam_suggested_delay,
5426 { "suggested-delay", "ftam.suggested_delay",
5427 FT_INT32, BASE_DEC, NULL, 0,
5428 "INTEGER", HFILL }},
5429 { &hf_ftam_further_details,
5430 { "further-details", "ftam.further_details",
5431 FT_STRING, BASE_NONE, NULL, 0,
5432 "GraphicString", HFILL }},
5433 { &hf_ftam_first_last,
5434 { "first-last", "ftam.first_last",
5435 FT_INT32, BASE_DEC, VALS(ftam_T_first_last_vals), 0,
5436 "T_first_last", HFILL }},
5437 { &hf_ftam_relative,
5438 { "relative", "ftam.relative",
5439 FT_INT32, BASE_DEC, VALS(ftam_T_relative_vals), 0,
5440 NULL, HFILL }},
5441 { &hf_ftam_begin_end,
5442 { "begin-end", "ftam.begin_end",
5443 FT_INT32, BASE_DEC, VALS(ftam_T_begin_end_vals), 0,
5444 NULL, HFILL }},
5445 { &hf_ftam_single_name,
5446 { "single-name", "ftam.single_name_element",
5447 FT_NONE, BASE_NONE, NULL, 0,
5448 "Node_Name", HFILL }},
5449 { &hf_ftam_name_list,
5450 { "name-list", "ftam.name_list",
5451 FT_UINT32, BASE_DEC, NULL, 0,
5452 "SEQUENCE_OF_Node_Name", HFILL }},
5453 { &hf_ftam_name_list_item,
5454 { "Node-Name", "ftam.Node_Name_element",
5455 FT_NONE, BASE_NONE, NULL, 0,
5456 NULL, HFILL }},
5457 { &hf_ftam_fadu_number,
5458 { "fadu-number", "ftam.fadu_number",
5459 FT_INT32, BASE_DEC, NULL, 0,
5460 "INTEGER", HFILL }},
5461 { &hf_ftam_graphicString,
5462 { "graphicString", "ftam.graphicString",
5463 FT_STRING, BASE_NONE, NULL, 0,
5464 NULL, HFILL }},
5465 { &hf_ftam_octetString,
5466 { "octetString", "ftam.octetString",
5467 FT_BYTES, BASE_NONE, NULL, 0,
5468 "OCTET_STRING", HFILL }},
5469 { &hf_ftam_linked_Object,
5470 { "linked-Object", "ftam.linked_Object",
5471 FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5472 "Pathname_Attribute", HFILL }},
5473 { &hf_ftam_child_objects,
5474 { "child-objects", "ftam.child_objects",
5475 FT_UINT32, BASE_DEC, NULL, 0,
5476 "Child_Objects_Attribute", HFILL }},
5477 { &hf_ftam_primaty_pathname,
5478 { "primaty-pathname", "ftam.primaty_pathname",
5479 FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5480 "Pathname_Attribute", HFILL }},
5481 { &hf_ftam_date_and_time_of_creation,
5482 { "date-and-time-of-creation", "ftam.date_and_time_of_creation",
5483 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5484 "Date_and_Time_Attribute", HFILL }},
5485 { &hf_ftam_date_and_time_of_last_modification,
5486 { "date-and-time-of-last-modification", "ftam.date_and_time_of_last_modification",
5487 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5488 "Date_and_Time_Attribute", HFILL }},
5489 { &hf_ftam_date_and_time_of_last_read_access,
5490 { "date-and-time-of-last-read-access", "ftam.date_and_time_of_last_read_access",
5491 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5492 "Date_and_Time_Attribute", HFILL }},
5493 { &hf_ftam_date_and_time_of_last_attribute_modification,
5494 { "date-and-time-of-last-attribute-modification", "ftam.date_and_time_of_last_attribute_modification",
5495 FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5496 "Date_and_Time_Attribute", HFILL }},
5497 { &hf_ftam_identity_of_creator,
5498 { "identity-of-creator", "ftam.identity_of_creator",
5499 FT_UINT32, BASE_DEC, VALS(ftam_User_Identity_Attribute_vals), 0,
5500 "User_Identity_Attribute", HFILL }},
5501 { &hf_ftam_identity_of_last_modifier,
5502 { "identity-of-last-modifier", "ftam.identity_of_last_modifier",
5503 FT_UINT32, BASE_DEC, VALS(ftam_User_Identity_Attribute_vals), 0,
5504 "User_Identity_Attribute", HFILL }},
5505 { &hf_ftam_identity_of_last_reader,
5506 { "identity-of-last-reader", "ftam.identity_of_last_reader",
5507 FT_UINT32, BASE_DEC, VALS(ftam_User_Identity_Attribute_vals), 0,
5508 "User_Identity_Attribute", HFILL }},
5509 { &hf_ftam_identity_last_attribute_modifier,
5510 { "identity-last-attribute-modifier", "ftam.identity_last_attribute_modifier",
5511 FT_UINT32, BASE_DEC, VALS(ftam_User_Identity_Attribute_vals), 0,
5512 "User_Identity_Attribute", HFILL }},
5513 { &hf_ftam_object_size,
5514 { "object-size", "ftam.object_size",
5515 FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5516 "Object_Size_Attribute", HFILL }},
5517 { &hf_ftam_no_value_available,
5518 { "no-value-available", "ftam.no_value_available_element",
5519 FT_NONE, BASE_NONE, NULL, 0,
5520 NULL, HFILL }},
5521 { &hf_ftam_actual_values3,
5522 { "actual-values", "ftam.actual_values",
5523 FT_UINT32, BASE_DEC, NULL, 0,
5524 "SET_OF_Access_Control_Element", HFILL }},
5525 { &hf_ftam_actual_values3_item,
5526 { "Access-Control-Element", "ftam.Access_Control_Element_element",
5527 FT_NONE, BASE_NONE, NULL, 0,
5528 NULL, HFILL }},
5529 { &hf_ftam_actual_values1,
5530 { "actual-values", "ftam.actual_values_element",
5531 FT_NONE, BASE_NONE, NULL, 0,
5532 "T_actual_values1", HFILL }},
5533 { &hf_ftam_insert_values,
5534 { "insert-values", "ftam.insert_values",
5535 FT_UINT32, BASE_DEC, NULL, 0,
5536 "SET_OF_Access_Control_Element", HFILL }},
5537 { &hf_ftam_insert_values_item,
5538 { "Access-Control-Element", "ftam.Access_Control_Element_element",
5539 FT_NONE, BASE_NONE, NULL, 0,
5540 NULL, HFILL }},
5541 { &hf_ftam_delete_values,
5542 { "delete-values", "ftam.delete_values",
5543 FT_UINT32, BASE_DEC, NULL, 0,
5544 "SET_OF_Access_Control_Element", HFILL }},
5545 { &hf_ftam_delete_values_item,
5546 { "Access-Control-Element", "ftam.Access_Control_Element_element",
5547 FT_NONE, BASE_NONE, NULL, 0,
5548 NULL, HFILL }},
5549 { &hf_ftam_action_list,
5550 { "action-list", "ftam.action_list",
5551 FT_BYTES, BASE_NONE, NULL, 0,
5552 "Access_Request", HFILL }},
5553 { &hf_ftam_concurrency_access,
5554 { "concurrency-access", "ftam.concurrency_access_element",
5555 FT_NONE, BASE_NONE, NULL, 0,
5556 NULL, HFILL }},
5557 { &hf_ftam_identity,
5558 { "identity", "ftam.identity",
5559 FT_STRING, BASE_NONE, NULL, 0,
5560 "User_Identity", HFILL }},
5561 { &hf_ftam_passwords,
5562 { "passwords", "ftam.passwords_element",
5563 FT_NONE, BASE_NONE, NULL, 0,
5564 "Access_Passwords", HFILL }},
5565 { &hf_ftam_location,
5566 { "location", "ftam.location",
5567 FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
5568 "Application_Entity_Title", HFILL }},
5569 { &hf_ftam_read_key,
5570 { "read", "ftam.read",
5571 FT_BYTES, BASE_NONE, NULL, 0,
5572 "Concurrency_Key", HFILL }},
5573 { &hf_ftam_insert_key,
5574 { "insert", "ftam.insert",
5575 FT_BYTES, BASE_NONE, NULL, 0,
5576 "Concurrency_Key", HFILL }},
5577 { &hf_ftam_replace_key,
5578 { "replace", "ftam.replace",
5579 FT_BYTES, BASE_NONE, NULL, 0,
5580 "Concurrency_Key", HFILL }},
5581 { &hf_ftam_extend_key,
5582 { "extend", "ftam.extend",
5583 FT_BYTES, BASE_NONE, NULL, 0,
5584 "Concurrency_Key", HFILL }},
5585 { &hf_ftam_erase_key,
5586 { "erase", "ftam.erase",
5587 FT_BYTES, BASE_NONE, NULL, 0,
5588 "Concurrency_Key", HFILL }},
5589 { &hf_ftam_read_attribute_key,
5590 { "read-attribute", "ftam.read_attribute",
5591 FT_BYTES, BASE_NONE, NULL, 0,
5592 "Concurrency_Key", HFILL }},
5593 { &hf_ftam_change_attribute_key,
5594 { "change-attribute", "ftam.change_attribute",
5595 FT_BYTES, BASE_NONE, NULL, 0,
5596 "Concurrency_Key", HFILL }},
5597 { &hf_ftam_delete_Object_key,
5598 { "delete-Object", "ftam.delete_Object",
5599 FT_BYTES, BASE_NONE, NULL, 0,
5600 "Concurrency_Key", HFILL }},
5601 { &hf_ftam_actual_values2,
5602 { "actual-values", "ftam.actual_values",
5603 FT_STRING, BASE_NONE, NULL, 0,
5604 "Account", HFILL }},
5605 { &hf_ftam_document_type,
5606 { "document-type", "ftam.document_type_element",
5607 FT_NONE, BASE_NONE, NULL, 0,
5608 "T_document_type", HFILL }},
5609 { &hf_ftam_parameter,
5610 { "parameter", "ftam.parameter_element",
5611 FT_NONE, BASE_NONE, NULL, 0,
5612 NULL, HFILL }},
5613 { &hf_ftam_constraint_set_and_abstract_Syntax,
5614 { "constraint-set-and-abstract-Syntax", "ftam.constraint_set_and_abstract_Syntax_element",
5615 FT_NONE, BASE_NONE, NULL, 0,
5616 "T_constraint_set_and_abstract_Syntax", HFILL }},
5617 { &hf_ftam_constraint_set_name,
5618 { "constraint-set-name", "ftam.constraint_set_name",
5619 FT_OID, BASE_NONE, NULL, 0,
5620 NULL, HFILL }},
5621 { &hf_ftam_actual_values5,
5622 { "actual-values", "ftam.actual_values",
5623 FT_STRING, BASE_NONE, NULL, 0,
5624 "GeneralizedTime", HFILL }},
5625 { &hf_ftam_actual_values8,
5626 { "actual-values", "ftam.actual_values",
5627 FT_INT32, BASE_DEC, VALS(ftam_T_actual_values8_vals), 0,
5628 "T_actual_values8", HFILL }},
5629 { &hf_ftam_incomplete_pathname,
5630 { "incomplete-pathname", "ftam.incomplete_pathname",
5631 FT_UINT32, BASE_DEC, NULL, 0,
5632 "Pathname", HFILL }},
5633 { &hf_ftam_complete_pathname,
5634 { "complete-pathname", "ftam.complete_pathname",
5635 FT_UINT32, BASE_DEC, NULL, 0,
5636 "Pathname", HFILL }},
5637 { &hf_ftam_actual_values7,
5638 { "actual-values", "ftam.actual_values",
5639 FT_INT32, BASE_DEC, NULL, 0,
5640 "INTEGER", HFILL }},
5641 { &hf_ftam_actual_values9,
5642 { "actual-values", "ftam.actual_values",
5643 FT_STRING, BASE_NONE, NULL, 0,
5644 "GraphicString", HFILL }},
5645 { &hf_ftam_abstract_Syntax_not_supported,
5646 { "abstract-Syntax-not-supported", "ftam.abstract_Syntax_not_supported_element",
5647 FT_NONE, BASE_NONE, NULL, 0,
5648 NULL, HFILL }},
5649 { &hf_ftam_actual_values4,
5650 { "actual-values", "ftam.actual_values_element",
5651 FT_NONE, BASE_NONE, NULL, 0,
5652 "EXTERNAL", HFILL }},
5653 { &hf_ftam_actual_values6,
5654 { "actual-values", "ftam.actual_values",
5655 FT_STRING, BASE_NONE, NULL, 0,
5656 "User_Identity", HFILL }},
5657 { &hf_ftam_Child_Objects_Attribute_item,
5658 { "Child-Objects-Attribute item", "ftam.Child_Objects_Attribute_item",
5659 FT_STRING, BASE_NONE, NULL, 0,
5660 "GraphicString", HFILL }},
5661 { &hf_ftam_f_Change_prefix_request,
5662 { "f-Change-prefix-request", "ftam.f_Change_prefix_request_element",
5663 FT_NONE, BASE_NONE, NULL, 0,
5664 NULL, HFILL }},
5665 { &hf_ftam_f_Change_prefix_response,
5666 { "f-Change-prefix-response", "ftam.f_Change_prefix_response_element",
5667 FT_NONE, BASE_NONE, NULL, 0,
5668 NULL, HFILL }},
5669 { &hf_ftam_f_list_request,
5670 { "f-list-request", "ftam.f_list_request_element",
5671 FT_NONE, BASE_NONE, NULL, 0,
5672 NULL, HFILL }},
5673 { &hf_ftam_f_list_response,
5674 { "f-list-response", "ftam.f_list_response_element",
5675 FT_NONE, BASE_NONE, NULL, 0,
5676 NULL, HFILL }},
5677 { &hf_ftam_f_group_select_request,
5678 { "f-group-select-request", "ftam.f_group_select_request_element",
5679 FT_NONE, BASE_NONE, NULL, 0,
5680 NULL, HFILL }},
5681 { &hf_ftam_f_group_select_response,
5682 { "f-group-select-response", "ftam.f_group_select_response_element",
5683 FT_NONE, BASE_NONE, NULL, 0,
5684 NULL, HFILL }},
5685 { &hf_ftam_f_group_delete_request,
5686 { "f-group-delete-request", "ftam.f_group_delete_request_element",
5687 FT_NONE, BASE_NONE, NULL, 0,
5688 NULL, HFILL }},
5689 { &hf_ftam_f_group_delete_response,
5690 { "f-group-delete-response", "ftam.f_group_delete_response_element",
5691 FT_NONE, BASE_NONE, NULL, 0,
5692 NULL, HFILL }},
5693 { &hf_ftam_f_group_move_request,
5694 { "f-group-move-request", "ftam.f_group_move_request_element",
5695 FT_NONE, BASE_NONE, NULL, 0,
5696 NULL, HFILL }},
5697 { &hf_ftam_f_group_move_response,
5698 { "f-group-move-response", "ftam.f_group_move_response_element",
5699 FT_NONE, BASE_NONE, NULL, 0,
5700 NULL, HFILL }},
5701 { &hf_ftam_f_group_copy_request,
5702 { "f-group-copy-request", "ftam.f_group_copy_request_element",
5703 FT_NONE, BASE_NONE, NULL, 0,
5704 NULL, HFILL }},
5705 { &hf_ftam_f_group_copy_response,
5706 { "f-group-copy-response", "ftam.f_group_copy_response_element",
5707 FT_NONE, BASE_NONE, NULL, 0,
5708 NULL, HFILL }},
5709 { &hf_ftam_f_group_list_request,
5710 { "f-group-list-request", "ftam.f_group_list_request_element",
5711 FT_NONE, BASE_NONE, NULL, 0,
5712 NULL, HFILL }},
5713 { &hf_ftam_f_group_list_response,
5714 { "f-group-list-response", "ftam.f_group_list_response_element",
5715 FT_NONE, BASE_NONE, NULL, 0,
5716 NULL, HFILL }},
5717 { &hf_ftam_f_group_Change_attrib_request,
5718 { "f-group-Change-attrib-request", "ftam.f_group_Change_attrib_request_element",
5719 FT_NONE, BASE_NONE, NULL, 0,
5720 NULL, HFILL }},
5721 { &hf_ftam_f_group_Change_attrib_response,
5722 { "f-group-Change-attrib-response", "ftam.f_group_Change_attrib_response_element",
5723 FT_NONE, BASE_NONE, NULL, 0,
5724 NULL, HFILL }},
5725 { &hf_ftam_f_select_another_request,
5726 { "f-select-another-request", "ftam.f_select_another_request_element",
5727 FT_NONE, BASE_NONE, NULL, 0,
5728 NULL, HFILL }},
5729 { &hf_ftam_f_select_another_response,
5730 { "f-select-another-response", "ftam.f_select_another_response_element",
5731 FT_NONE, BASE_NONE, NULL, 0,
5732 NULL, HFILL }},
5733 { &hf_ftam_f_create_directory_request,
5734 { "f-create-directory-request", "ftam.f_create_directory_request_element",
5735 FT_NONE, BASE_NONE, NULL, 0,
5736 NULL, HFILL }},
5737 { &hf_ftam_f_create_directory_response,
5738 { "f-create-directory-response", "ftam.f_create_directory_response_element",
5739 FT_NONE, BASE_NONE, NULL, 0,
5740 NULL, HFILL }},
5741 { &hf_ftam_f_link_request,
5742 { "f-link-request", "ftam.f_link_request_element",
5743 FT_NONE, BASE_NONE, NULL, 0,
5744 NULL, HFILL }},
5745 { &hf_ftam_f_link_response,
5746 { "f-link-response", "ftam.f_link_response_element",
5747 FT_NONE, BASE_NONE, NULL, 0,
5748 NULL, HFILL }},
5749 { &hf_ftam_f_unlink_request,
5750 { "f-unlink-request", "ftam.f_unlink_request_element",
5751 FT_NONE, BASE_NONE, NULL, 0,
5752 NULL, HFILL }},
5753 { &hf_ftam_f_unlink_response,
5754 { "f-unlink-response", "ftam.f_unlink_response_element",
5755 FT_NONE, BASE_NONE, NULL, 0,
5756 NULL, HFILL }},
5757 { &hf_ftam_f_read_link_attrib_request,
5758 { "f-read-link-attrib-request", "ftam.f_read_link_attrib_request_element",
5759 FT_NONE, BASE_NONE, NULL, 0,
5760 NULL, HFILL }},
5761 { &hf_ftam_f_read_link_attrib_response,
5762 { "f-read-link-attrib-response", "ftam.f_read_link_attrib_response_element",
5763 FT_NONE, BASE_NONE, NULL, 0,
5764 NULL, HFILL }},
5765 { &hf_ftam_f_Change_link_attrib_request,
5766 { "f-Change-link-attrib-request", "ftam.f_Change_link_attrib_request_element",
5767 FT_NONE, BASE_NONE, NULL, 0,
5768 NULL, HFILL }},
5769 { &hf_ftam_f_Change_Iink_attrib_response,
5770 { "f-Change-Iink-attrib-response", "ftam.f_Change_Iink_attrib_response_element",
5771 FT_NONE, BASE_NONE, NULL, 0,
5772 "F_CHANGE_LINK_ATTRIB_response", HFILL }},
5773 { &hf_ftam_f_move_request,
5774 { "f-move-request", "ftam.f_move_request_element",
5775 FT_NONE, BASE_NONE, NULL, 0,
5776 NULL, HFILL }},
5777 { &hf_ftam_f_move_response,
5778 { "f-move-response", "ftam.f_move_response_element",
5779 FT_NONE, BASE_NONE, NULL, 0,
5780 NULL, HFILL }},
5781 { &hf_ftam_f_copy_request,
5782 { "f-copy-request", "ftam.f_copy_request_element",
5783 FT_NONE, BASE_NONE, NULL, 0,
5784 NULL, HFILL }},
5785 { &hf_ftam_f_copy_response,
5786 { "f-copy-response", "ftam.f_copy_response_element",
5787 FT_NONE, BASE_NONE, NULL, 0,
5788 NULL, HFILL }},
5789 { &hf_ftam_reset,
5790 { "reset", "ftam.reset",
5791 FT_BOOLEAN, BASE_NONE, NULL, 0,
5792 "BOOLEAN", HFILL }},
5793 { &hf_ftam_destination_file_directory,
5794 { "destination-file-directory", "ftam.destination_file_directory",
5795 FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5796 NULL, HFILL }},
5797 { &hf_ftam_attribute_value_asset_tions,
5798 { "attribute-value-asset-tions", "ftam.attribute_value_asset_tions",
5799 FT_UINT32, BASE_DEC, NULL, 0,
5800 "Attribute_Value_Assertions", HFILL }},
5801 { &hf_ftam_scope,
5802 { "scope", "ftam.scope",
5803 FT_UINT32, BASE_DEC, NULL, 0,
5804 NULL, HFILL }},
5805 { &hf_ftam_objects_attributes_list,
5806 { "objects-attributes-list", "ftam.objects_attributes_list",
5807 FT_UINT32, BASE_DEC, NULL, 0,
5808 NULL, HFILL }},
5809 { &hf_ftam_attribute_value_assertions,
5810 { "attribute-value-assertions", "ftam.attribute_value_assertions",
5811 FT_UINT32, BASE_DEC, NULL, 0,
5812 NULL, HFILL }},
5813 { &hf_ftam_maximum_set_size,
5814 { "maximum-set-size", "ftam.maximum_set_size",
5815 FT_INT32, BASE_DEC, NULL, 0,
5816 "INTEGER", HFILL }},
5817 { &hf_ftam_request_Operation_result,
5818 { "request-Operation-result", "ftam.request_Operation_result",
5819 FT_INT32, BASE_DEC, VALS(ftam_Request_Operation_Result_U_vals), 0,
5820 NULL, HFILL }},
5821 { &hf_ftam_operation_result,
5822 { "operation-result", "ftam.operation_result",
5823 FT_UINT32, BASE_DEC, VALS(ftam_Operation_Result_U_vals), 0,
5824 NULL, HFILL }},
5825 { &hf_ftam_error_action,
5826 { "error-action", "ftam.error_action",
5827 FT_INT32, BASE_DEC, VALS(ftam_Error_Action_vals), 0,
5828 NULL, HFILL }},
5829 { &hf_ftam_last_member_indicator,
5830 { "last-member-indicator", "ftam.last_member_indicator",
5831 FT_BOOLEAN, BASE_NONE, NULL, 0,
5832 "BOOLEAN", HFILL }},
5833 { &hf_ftam_shared_ASE_infonnation,
5834 { "shared-ASE-infonnation", "ftam.shared_ASE_infonnation_element",
5835 FT_NONE, BASE_NONE, NULL, 0,
5836 "Shared_ASE_Information", HFILL }},
5837 { &hf_ftam_target_object,
5838 { "target-object", "ftam.target_object",
5839 FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5840 "Pathname_Attribute", HFILL }},
5841 { &hf_ftam_target_Object,
5842 { "target-Object", "ftam.target_Object",
5843 FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5844 "Pathname_Attribute", HFILL }},
5845 { &hf_ftam_read_link_attributes,
5846 { "attributes", "ftam.attributes_element",
5847 FT_NONE, BASE_NONE, NULL, 0,
5848 "Read_Attributes", HFILL }},
5849 { &hf_ftam_Attribute_Extension_Names_item,
5850 { "Attribute-Extension-Set-Name", "ftam.Attribute_Extension_Set_Name_element",
5851 FT_NONE, BASE_NONE, NULL, 0,
5852 NULL, HFILL }},
5853 { &hf_ftam_extension_set_identifier,
5854 { "extension-set-identifier", "ftam.extension_set_identifier",
5855 FT_OID, BASE_NONE, NULL, 0,
5856 NULL, HFILL }},
5857 { &hf_ftam_extension_attribute_names,
5858 { "extension-attribute-names", "ftam.extension_attribute_names",
5859 FT_UINT32, BASE_DEC, NULL, 0,
5860 "SEQUENCE_OF_Extension_Attribute_identifier", HFILL }},
5861 { &hf_ftam_extension_attribute_names_item,
5862 { "Extension-Attribute-identifier", "ftam.Extension_Attribute_identifier",
5863 FT_OID, BASE_NONE, NULL, 0,
5864 NULL, HFILL }},
5865 { &hf_ftam_Attribute_Extensions_item,
5866 { "Attribute-Extension-Set", "ftam.Attribute_Extension_Set_element",
5867 FT_NONE, BASE_NONE, NULL, 0,
5868 NULL, HFILL }},
5869 { &hf_ftam_extension_set_attributes,
5870 { "extension-set-attributes", "ftam.extension_set_attributes",
5871 FT_UINT32, BASE_DEC, NULL, 0,
5872 "SEQUENCE_OF_Extension_Attribute", HFILL }},
5873 { &hf_ftam_extension_set_attributes_item,
5874 { "Extension-Attribute", "ftam.Extension_Attribute_element",
5875 FT_NONE, BASE_NONE, NULL, 0,
5876 NULL, HFILL }},
5877 { &hf_ftam_extension_attribute_identifier,
5878 { "extension-attribute-identifier", "ftam.extension_attribute_identifier",
5879 FT_OID, BASE_NONE, NULL, 0,
5880 NULL, HFILL }},
5881 { &hf_ftam_extension_attribute,
5882 { "extension-attribute", "ftam.extension_attribute_element",
5883 FT_NONE, BASE_NONE, NULL, 0,
5884 NULL, HFILL }},
5885 { &hf_ftam__untag_item_03,
5886 { "_untag item", "ftam._untag_item_element",
5887 FT_NONE, BASE_NONE, NULL, 0,
5888 NULL, HFILL }},
5889 { &hf_ftam_root_directory,
5890 { "root-directory", "ftam.root_directory",
5891 FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5892 "Pathname_Attribute", HFILL }},
5893 { &hf_ftam_retrieval_scope,
5894 { "retrieval-scope", "ftam.retrieval_scope",
5895 FT_INT32, BASE_DEC, VALS(ftam_T_retrieval_scope_vals), 0,
5896 NULL, HFILL }},
5897 { &hf_ftam_OR_Set_item,
5898 { "AND-Set", "ftam.AND_Set",
5899 FT_UINT32, BASE_DEC, NULL, 0,
5900 NULL, HFILL }},
5901 { &hf_ftam_AND_Set_item,
5902 { "AND-Set item", "ftam.AND_Set_item",
5903 FT_UINT32, BASE_DEC, VALS(ftam_AND_Set_item_vals), 0,
5904 NULL, HFILL }},
5905 { &hf_ftam_pathname_Pattern,
5906 { "pathname-Pattern", "ftam.pathname_Pattern_element",
5907 FT_NONE, BASE_NONE, NULL, 0,
5908 NULL, HFILL }},
5909 { &hf_ftam_object_type_Pattern,
5910 { "object-type-Pattern", "ftam.object_type_Pattern_element",
5911 FT_NONE, BASE_NONE, NULL, 0,
5912 "Integer_Pattern", HFILL }},
5913 { &hf_ftam_permitted_actions_Pattern,
5914 { "permitted-actions-Pattern", "ftam.permitted_actions_Pattern_element",
5915 FT_NONE, BASE_NONE, NULL, 0,
5916 "Bitstring_Pattern", HFILL }},
5917 { &hf_ftam_contents_type_Pattern,
5918 { "contents-type-Pattern", "ftam.contents_type_Pattern",
5919 FT_UINT32, BASE_DEC, VALS(ftam_Contents_Type_Pattern_vals), 0,
5920 NULL, HFILL }},
5921 { &hf_ftam_linked_Object_Pattern,
5922 { "linked-Object-Pattern", "ftam.linked_Object_Pattern_element",
5923 FT_NONE, BASE_NONE, NULL, 0,
5924 "Pathname_Pattern", HFILL }},
5925 { &hf_ftam_child_objects_Pattern,
5926 { "child-objects-Pattern", "ftam.child_objects_Pattern_element",
5927 FT_NONE, BASE_NONE, NULL, 0,
5928 "Pathname_Pattern", HFILL }},
5929 { &hf_ftam_primaty_pathname_Pattern,
5930 { "primaty-pathname-Pattern", "ftam.primaty_pathname_Pattern_element",
5931 FT_NONE, BASE_NONE, NULL, 0,
5932 "Pathname_Pattern", HFILL }},
5933 { &hf_ftam_storage_account_Pattern,
5934 { "storage-account-Pattern", "ftam.storage_account_Pattern_element",
5935 FT_NONE, BASE_NONE, NULL, 0,
5936 "String_Pattern", HFILL }},
5937 { &hf_ftam_date_and_time_of_creation_Pattern,
5938 { "date-and-time-of-creation-Pattern", "ftam.date_and_time_of_creation_Pattern_element",
5939 FT_NONE, BASE_NONE, NULL, 0,
5940 "Date_and_Time_Pattern", HFILL }},
5941 { &hf_ftam_date_and_time_of_last_modification_Pattern,
5942 { "date-and-time-of-last-modification-Pattern", "ftam.date_and_time_of_last_modification_Pattern_element",
5943 FT_NONE, BASE_NONE, NULL, 0,
5944 "Date_and_Time_Pattern", HFILL }},
5945 { &hf_ftam_date_and_time_of_last_read_access_Pattern,
5946 { "date-and-time-of-last-read-access-Pattern", "ftam.date_and_time_of_last_read_access_Pattern_element",
5947 FT_NONE, BASE_NONE, NULL, 0,
5948 "Date_and_Time_Pattern", HFILL }},
5949 { &hf_ftam_date_and_time_of_last_attribute_modification_Pattern,
5950 { "date-and-time-of-last-attribute-modification-Pattern", "ftam.date_and_time_of_last_attribute_modification_Pattern_element",
5951 FT_NONE, BASE_NONE, NULL, 0,
5952 "Date_and_Time_Pattern", HFILL }},
5953 { &hf_ftam_identity_of_creator_Pattern,
5954 { "identity-of-creator-Pattern", "ftam.identity_of_creator_Pattern_element",
5955 FT_NONE, BASE_NONE, NULL, 0,
5956 "User_Identity_Pattern", HFILL }},
5957 { &hf_ftam_identity_of_last_modifier_Pattern,
5958 { "identity-of-last-modifier-Pattern", "ftam.identity_of_last_modifier_Pattern_element",
5959 FT_NONE, BASE_NONE, NULL, 0,
5960 "User_Identity_Pattern", HFILL }},
5961 { &hf_ftam_identity_of_last_reader_Pattern,
5962 { "identity-of-last-reader-Pattern", "ftam.identity_of_last_reader_Pattern_element",
5963 FT_NONE, BASE_NONE, NULL, 0,
5964 "User_Identity_Pattern", HFILL }},
5965 { &hf_ftam_identity_of_last_attribute_modifier_Pattern,
5966 { "identity-of-last-attribute-modifier-Pattern", "ftam.identity_of_last_attribute_modifier_Pattern_element",
5967 FT_NONE, BASE_NONE, NULL, 0,
5968 "User_Identity_Pattern", HFILL }},
5969 { &hf_ftam_object_availabiiity_Pattern,
5970 { "object-availabiiity-Pattern", "ftam.object_availabiiity_Pattern_element",
5971 FT_NONE, BASE_NONE, NULL, 0,
5972 "Boolean_Pattern", HFILL }},
5973 { &hf_ftam_object_size_Pattern,
5974 { "object-size-Pattern", "ftam.object_size_Pattern_element",
5975 FT_NONE, BASE_NONE, NULL, 0,
5976 "Integer_Pattern", HFILL }},
5977 { &hf_ftam_future_object_size_Pattern,
5978 { "future-object-size-Pattern", "ftam.future_object_size_Pattern_element",
5979 FT_NONE, BASE_NONE, NULL, 0,
5980 "Integer_Pattern", HFILL }},
5981 { &hf_ftam_legal_quailfication_Pattern,
5982 { "legal-quailfication-Pattern", "ftam.legal_quailfication_Pattern_element",
5983 FT_NONE, BASE_NONE, NULL, 0,
5984 "String_Pattern", HFILL }},
5985 { &hf_ftam_attribute_extensions_pattern,
5986 { "attribute-extensions-pattern", "ftam.attribute_extensions_pattern",
5987 FT_UINT32, BASE_DEC, NULL, 0,
5988 NULL, HFILL }},
5989 { &hf_ftam_equality_comparision,
5990 { "equality-comparision", "ftam.equality_comparision",
5991 FT_BYTES, BASE_NONE, NULL, 0,
5992 NULL, HFILL }},
5993 { &hf_ftam_pathname_value,
5994 { "pathname-value", "ftam.pathname_value",
5995 FT_UINT32, BASE_DEC, NULL, 0,
5996 NULL, HFILL }},
5997 { &hf_ftam_pathname_value_item,
5998 { "pathname-value item", "ftam.pathname_value_item",
5999 FT_UINT32, BASE_DEC, VALS(ftam_T_pathname_value_item_vals), 0,
6000 NULL, HFILL }},
6001 { &hf_ftam_string_match,
6002 { "string-match", "ftam.string_match_element",
6003 FT_NONE, BASE_NONE, NULL, 0,
6004 "String_Pattern", HFILL }},
6005 { &hf_ftam_any_match,
6006 { "any-match", "ftam.any_match_element",
6007 FT_NONE, BASE_NONE, NULL, 0,
6008 NULL, HFILL }},
6009 { &hf_ftam_string_value,
6010 { "string-value", "ftam.string_value",
6011 FT_UINT32, BASE_DEC, NULL, 0,
6012 NULL, HFILL }},
6013 { &hf_ftam_string_value_item,
6014 { "string-value item", "ftam.string_value_item",
6015 FT_UINT32, BASE_DEC, VALS(ftam_T_string_value_item_vals), 0,
6016 NULL, HFILL }},
6017 { &hf_ftam_substring_match,
6018 { "substring-match", "ftam.substring_match",
6019 FT_STRING, BASE_NONE, NULL, 0,
6020 "GraphicString", HFILL }},
6021 { &hf_ftam_number_of_characters_match,
6022 { "number-of-characters-match", "ftam.number_of_characters_match",
6023 FT_INT32, BASE_DEC, NULL, 0,
6024 "INTEGER", HFILL }},
6025 { &hf_ftam_match_bitstring,
6026 { "match-bitstring", "ftam.match_bitstring",
6027 FT_BYTES, BASE_NONE, NULL, 0,
6028 "BIT_STRING", HFILL }},
6029 { &hf_ftam_significance_bitstring,
6030 { "significance-bitstring", "ftam.significance_bitstring",
6031 FT_BYTES, BASE_NONE, NULL, 0,
6032 "BIT_STRING", HFILL }},
6033 { &hf_ftam_relational_camparision,
6034 { "relational-camparision", "ftam.relational_camparision",
6035 FT_BYTES, BASE_NONE, NULL, 0,
6036 "Equality_Comparision", HFILL }},
6037 { &hf_ftam_time_and_date_value,
6038 { "time-and-date-value", "ftam.time_and_date_value",
6039 FT_STRING, BASE_NONE, NULL, 0,
6040 "GeneralizedTime", HFILL }},
6041 { &hf_ftam_relational_comparision,
6042 { "relational-comparision", "ftam.relational_comparision",
6043 FT_BYTES, BASE_NONE, NULL, 0,
6044 NULL, HFILL }},
6045 { &hf_ftam_integer_value,
6046 { "integer-value", "ftam.integer_value",
6047 FT_INT32, BASE_DEC, NULL, 0,
6048 "INTEGER", HFILL }},
6049 { &hf_ftam_object_identifier_value,
6050 { "object-identifier-value", "ftam.object_identifier_value",
6051 FT_OID, BASE_NONE, NULL, 0,
6052 "OBJECT_IDENTIFIER", HFILL }},
6053 { &hf_ftam_boolean_value,
6054 { "boolean-value", "ftam.boolean_value",
6055 FT_BOOLEAN, BASE_NONE, NULL, 0,
6056 "BOOLEAN", HFILL }},
6057 { &hf_ftam_document_type_Pattern,
6058 { "document-type-Pattern", "ftam.document_type_Pattern_element",
6059 FT_NONE, BASE_NONE, NULL, 0,
6060 "Object_Identifier_Pattern", HFILL }},
6061 { &hf_ftam_constraint_set_abstract_Syntax_Pattern,
6062 { "constraint-set-abstract-Syntax-Pattern", "ftam.constraint_set_abstract_Syntax_Pattern_element",
6063 FT_NONE, BASE_NONE, NULL, 0,
6064 "T_constraint_set_abstract_Syntax_Pattern", HFILL }},
6065 { &hf_ftam_constraint_Set_Pattern,
6066 { "constraint-Set-Pattern", "ftam.constraint_Set_Pattern_element",
6067 FT_NONE, BASE_NONE, NULL, 0,
6068 "Object_Identifier_Pattern", HFILL }},
6069 { &hf_ftam_abstract_Syntax_Pattern,
6070 { "abstract-Syntax-Pattern", "ftam.abstract_Syntax_Pattern_element",
6071 FT_NONE, BASE_NONE, NULL, 0,
6072 "Object_Identifier_Pattern", HFILL }},
6073 { &hf_ftam_Attribute_Extensions_Pattern_item,
6074 { "Attribute-Extensions-Pattern item", "ftam.Attribute_Extensions_Pattern_item_element",
6075 FT_NONE, BASE_NONE, NULL, 0,
6076 NULL, HFILL }},
6077 { &hf_ftam_extension_set_attribute_Patterns,
6078 { "extension-set-attribute-Patterns", "ftam.extension_set_attribute_Patterns",
6079 FT_UINT32, BASE_DEC, NULL, 0,
6080 "T_extension_set_attribute_Patterns", HFILL }},
6081 { &hf_ftam_extension_set_attribute_Patterns_item,
6082 { "extension-set-attribute-Patterns item", "ftam.extension_set_attribute_Patterns_item_element",
6083 FT_NONE, BASE_NONE, NULL, 0,
6084 "T_extension_set_attribute_Patterns_item", HFILL }},
6085 { &hf_ftam_attribute_extension_attribute_identifier,
6086 { "extension-attribute-identifier", "ftam.extension_attribute_identifier",
6087 FT_OID, BASE_NONE, NULL, 0,
6088 "T_attribute_extension_attribute_identifier", HFILL }},
6089 { &hf_ftam_extension_attribute_Pattern,
6090 { "extension-attribute-Pattern", "ftam.extension_attribute_Pattern_element",
6091 FT_NONE, BASE_NONE, NULL, 0,
6092 NULL, HFILL }},
6093 { &hf_ftam__untag_item_04,
6094 { "Read-Attributes", "ftam.Read_Attributes_element",
6095 FT_NONE, BASE_NONE, NULL, 0,
6096 NULL, HFILL }},
6097 { &hf_ftam_success_Object_count,
6098 { "success-Object-count", "ftam.success_Object_count",
6099 FT_INT32, BASE_DEC, NULL, 0,
6100 "INTEGER", HFILL }},
6101 { &hf_ftam_success_Object_names,
6102 { "success-Object-names", "ftam.success_Object_names",
6103 FT_UINT32, BASE_DEC, NULL, 0,
6104 "SEQUENCE_OF_Pathname", HFILL }},
6105 { &hf_ftam_success_Object_names_item,
6106 { "Pathname", "ftam.Pathname",
6107 FT_UINT32, BASE_DEC, NULL, 0,
6108 NULL, HFILL }},
6109 { &hf_ftam_Pathname_item,
6110 { "Pathname item", "ftam.Pathname_item",
6111 FT_STRING, BASE_NONE, NULL, 0,
6112 "GraphicString", HFILL }},
6113 { &hf_ftam_Pass_Passwords_item,
6114 { "Password", "ftam.Password",
6115 FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
6116 NULL, HFILL }},
6117 { &hf_ftam__untag_item_05,
6118 { "_untag item", "ftam._untag_item_element",
6119 FT_NONE, BASE_NONE, NULL, 0,
6120 "Path_Access_Passwords_item", HFILL }},
6121 { &hf_ftam_ap,
6122 { "ap", "ftam.ap",
6123 FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
6124 "AP_title", HFILL }},
6125 { &hf_ftam_ae,
6126 { "ae", "ftam.ae",
6127 FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
6128 "AE_qualifier", HFILL }},
6129 { &hf_ftam_Protocol_Version_U_version_1,
6130 { "version-1", "ftam.version-1",
6131 FT_BOOLEAN, 8, NULL, 0x80,
6132 NULL, HFILL }},
6133 { &hf_ftam_Protocol_Version_U_version_2,
6134 { "version-2", "ftam.version-2",
6135 FT_BOOLEAN, 8, NULL, 0x40,
6136 NULL, HFILL }},
6137 { &hf_ftam_Service_Class_U_unconstrained_class,
6138 { "unconstrained-class", "ftam.unconstrained-class",
6139 FT_BOOLEAN, 8, NULL, 0x80,
6140 NULL, HFILL }},
6141 { &hf_ftam_Service_Class_U_management_class,
6142 { "management-class", "ftam.management-class",
6143 FT_BOOLEAN, 8, NULL, 0x40,
6144 NULL, HFILL }},
6145 { &hf_ftam_Service_Class_U_transfer_class,
6146 { "transfer-class", "ftam.transfer-class",
6147 FT_BOOLEAN, 8, NULL, 0x20,
6148 NULL, HFILL }},
6149 { &hf_ftam_Service_Class_U_transfer_and_management_class,
6150 { "transfer-and-management-class", "ftam.transfer-and-management-class",
6151 FT_BOOLEAN, 8, NULL, 0x10,
6152 NULL, HFILL }},
6153 { &hf_ftam_Service_Class_U_access_class,
6154 { "access-class", "ftam.access-class",
6155 FT_BOOLEAN, 8, NULL, 0x08,
6156 NULL, HFILL }},
6157 { &hf_ftam_Functional_Units_U_read,
6158 { "read", "ftam.read",
6159 FT_BOOLEAN, 8, NULL, 0x20,
6160 NULL, HFILL }},
6161 { &hf_ftam_Functional_Units_U_write,
6162 { "write", "ftam.write",
6163 FT_BOOLEAN, 8, NULL, 0x10,
6164 NULL, HFILL }},
6165 { &hf_ftam_Functional_Units_U_file_access,
6166 { "file-access", "ftam.file-access",
6167 FT_BOOLEAN, 8, NULL, 0x08,
6168 NULL, HFILL }},
6169 { &hf_ftam_Functional_Units_U_limited_file_management,
6170 { "limited-file-management", "ftam.limited-file-management",
6171 FT_BOOLEAN, 8, NULL, 0x04,
6172 NULL, HFILL }},
6173 { &hf_ftam_Functional_Units_U_enhanced_file_management,
6174 { "enhanced-file-management", "ftam.enhanced-file-management",
6175 FT_BOOLEAN, 8, NULL, 0x02,
6176 NULL, HFILL }},
6177 { &hf_ftam_Functional_Units_U_grouping,
6178 { "grouping", "ftam.grouping",
6179 FT_BOOLEAN, 8, NULL, 0x01,
6180 NULL, HFILL }},
6181 { &hf_ftam_Functional_Units_U_fadu_locking,
6182 { "fadu-locking", "ftam.fadu-locking",
6183 FT_BOOLEAN, 8, NULL, 0x80,
6184 NULL, HFILL }},
6185 { &hf_ftam_Functional_Units_U_recovery,
6186 { "recovery", "ftam.recovery",
6187 FT_BOOLEAN, 8, NULL, 0x40,
6188 NULL, HFILL }},
6189 { &hf_ftam_Functional_Units_U_restart_data_transfer,
6190 { "restart-data-transfer", "ftam.restart-data-transfer",
6191 FT_BOOLEAN, 8, NULL, 0x20,
6192 NULL, HFILL }},
6193 { &hf_ftam_Functional_Units_U_limited_filestore_management,
6194 { "limited-filestore-management", "ftam.limited-filestore-management",
6195 FT_BOOLEAN, 8, NULL, 0x10,
6196 NULL, HFILL }},
6197 { &hf_ftam_Functional_Units_U_enhanced_filestore_management,
6198 { "enhanced-filestore-management", "ftam.enhanced-filestore-management",
6199 FT_BOOLEAN, 8, NULL, 0x08,
6200 NULL, HFILL }},
6201 { &hf_ftam_Functional_Units_U_object_manipulation,
6202 { "object-manipulation", "ftam.object-manipulation",
6203 FT_BOOLEAN, 8, NULL, 0x04,
6204 NULL, HFILL }},
6205 { &hf_ftam_Functional_Units_U_group_manipulation,
6206 { "group-manipulation", "ftam.group-manipulation",
6207 FT_BOOLEAN, 8, NULL, 0x02,
6208 NULL, HFILL }},
6209 { &hf_ftam_Functional_Units_U_consecutive_access,
6210 { "consecutive-access", "ftam.consecutive-access",
6211 FT_BOOLEAN, 8, NULL, 0x01,
6212 NULL, HFILL }},
6213 { &hf_ftam_Functional_Units_U_concurrent_access,
6214 { "concurrent-access", "ftam.concurrent-access",
6215 FT_BOOLEAN, 8, NULL, 0x80,
6216 NULL, HFILL }},
6217 { &hf_ftam_Attribute_Groups_U_storage,
6218 { "storage", "ftam.storage",
6219 FT_BOOLEAN, 8, NULL, 0x80,
6220 NULL, HFILL }},
6221 { &hf_ftam_Attribute_Groups_U_security,
6222 { "security", "ftam.security",
6223 FT_BOOLEAN, 8, NULL, 0x40,
6224 NULL, HFILL }},
6225 { &hf_ftam_Attribute_Groups_U_private,
6226 { "private", "ftam.private",
6227 FT_BOOLEAN, 8, NULL, 0x20,
6228 NULL, HFILL }},
6229 { &hf_ftam_Attribute_Groups_U_extension,
6230 { "extension", "ftam.extension",
6231 FT_BOOLEAN, 8, NULL, 0x10,
6232 NULL, HFILL }},
6233 { &hf_ftam_T_processing_mode_f_read,
6234 { "f-read", "ftam.f-read",
6235 FT_BOOLEAN, 8, NULL, 0x80,
6236 NULL, HFILL }},
6237 { &hf_ftam_T_processing_mode_f_insert,
6238 { "f-insert", "ftam.f-insert",
6239 FT_BOOLEAN, 8, NULL, 0x40,
6240 NULL, HFILL }},
6241 { &hf_ftam_T_processing_mode_f_replace,
6242 { "f-replace", "ftam.f-replace",
6243 FT_BOOLEAN, 8, NULL, 0x20,
6244 NULL, HFILL }},
6245 { &hf_ftam_T_processing_mode_f_extend,
6246 { "f-extend", "ftam.f-extend",
6247 FT_BOOLEAN, 8, NULL, 0x10,
6248 NULL, HFILL }},
6249 { &hf_ftam_T_processing_mode_f_erase,
6250 { "f-erase", "ftam.f-erase",
6251 FT_BOOLEAN, 8, NULL, 0x08,
6252 NULL, HFILL }},
6253 { &hf_ftam_Access_Request_U_read,
6254 { "read", "ftam.read",
6255 FT_BOOLEAN, 8, NULL, 0x80,
6256 NULL, HFILL }},
6257 { &hf_ftam_Access_Request_U_insert,
6258 { "insert", "ftam.insert",
6259 FT_BOOLEAN, 8, NULL, 0x40,
6260 NULL, HFILL }},
6261 { &hf_ftam_Access_Request_U_replace,
6262 { "replace", "ftam.replace",
6263 FT_BOOLEAN, 8, NULL, 0x20,
6264 NULL, HFILL }},
6265 { &hf_ftam_Access_Request_U_extend,
6266 { "extend", "ftam.extend",
6267 FT_BOOLEAN, 8, NULL, 0x10,
6268 NULL, HFILL }},
6269 { &hf_ftam_Access_Request_U_erase,
6270 { "erase", "ftam.erase",
6271 FT_BOOLEAN, 8, NULL, 0x08,
6272 NULL, HFILL }},
6273 { &hf_ftam_Access_Request_U_read_attribute,
6274 { "read-attribute", "ftam.read-attribute",
6275 FT_BOOLEAN, 8, NULL, 0x04,
6276 NULL, HFILL }},
6277 { &hf_ftam_Access_Request_U_change_attribute,
6278 { "change-attribute", "ftam.change-attribute",
6279 FT_BOOLEAN, 8, NULL, 0x02,
6280 NULL, HFILL }},
6281 { &hf_ftam_Access_Request_U_delete_Object,
6282 { "delete-Object", "ftam.delete-Object",
6283 FT_BOOLEAN, 8, NULL, 0x01,
6284 NULL, HFILL }},
6285 { &hf_ftam_Concurrency_Key_not_required,
6286 { "not-required", "ftam.not-required",
6287 FT_BOOLEAN, 8, NULL, 0x80,
6288 NULL, HFILL }},
6289 { &hf_ftam_Concurrency_Key_shared,
6290 { "shared", "ftam.shared",
6291 FT_BOOLEAN, 8, NULL, 0x40,
6292 NULL, HFILL }},
6293 { &hf_ftam_Concurrency_Key_exclusive,
6294 { "exclusive", "ftam.exclusive",
6295 FT_BOOLEAN, 8, NULL, 0x20,
6296 NULL, HFILL }},
6297 { &hf_ftam_Concurrency_Key_no_access,
6298 { "no-access", "ftam.no-access",
6299 FT_BOOLEAN, 8, NULL, 0x10,
6300 NULL, HFILL }},
6301 { &hf_ftam_Permitted_Actions_Attribute_read,
6302 { "read", "ftam.read",
6303 FT_BOOLEAN, 8, NULL, 0x80,
6304 NULL, HFILL }},
6305 { &hf_ftam_Permitted_Actions_Attribute_insert,
6306 { "insert", "ftam.insert",
6307 FT_BOOLEAN, 8, NULL, 0x40,
6308 NULL, HFILL }},
6309 { &hf_ftam_Permitted_Actions_Attribute_replace,
6310 { "replace", "ftam.replace",
6311 FT_BOOLEAN, 8, NULL, 0x20,
6312 NULL, HFILL }},
6313 { &hf_ftam_Permitted_Actions_Attribute_extend,
6314 { "extend", "ftam.extend",
6315 FT_BOOLEAN, 8, NULL, 0x10,
6316 NULL, HFILL }},
6317 { &hf_ftam_Permitted_Actions_Attribute_erase,
6318 { "erase", "ftam.erase",
6319 FT_BOOLEAN, 8, NULL, 0x08,
6320 NULL, HFILL }},
6321 { &hf_ftam_Permitted_Actions_Attribute_read_attribute,
6322 { "read-attribute", "ftam.read-attribute",
6323 FT_BOOLEAN, 8, NULL, 0x04,
6324 NULL, HFILL }},
6325 { &hf_ftam_Permitted_Actions_Attribute_change_attribute,
6326 { "change-attribute", "ftam.change-attribute",
6327 FT_BOOLEAN, 8, NULL, 0x02,
6328 NULL, HFILL }},
6329 { &hf_ftam_Permitted_Actions_Attribute_delete_Object,
6330 { "delete-Object", "ftam.delete-Object",
6331 FT_BOOLEAN, 8, NULL, 0x01,
6332 NULL, HFILL }},
6333 { &hf_ftam_Permitted_Actions_Attribute_pass,
6334 { "pass", "ftam.pass",
6335 FT_BOOLEAN, 8, NULL, 0x10,
6336 NULL, HFILL }},
6337 { &hf_ftam_Permitted_Actions_Attribute_link,
6338 { "link", "ftam.link",
6339 FT_BOOLEAN, 8, NULL, 0x08,
6340 NULL, HFILL }},
6341 { &hf_ftam_Permitted_Actions_Attribute_traversal,
6342 { "traversal", "ftam.traversal",
6343 FT_BOOLEAN, 8, NULL, 0x80,
6344 NULL, HFILL }},
6345 { &hf_ftam_Permitted_Actions_Attribute_reverse_traversal,
6346 { "reverse-traversal", "ftam.reverse-traversal",
6347 FT_BOOLEAN, 8, NULL, 0x40,
6348 NULL, HFILL }},
6349 { &hf_ftam_Permitted_Actions_Attribute_random_Order,
6350 { "random-Order", "ftam.random-Order",
6351 FT_BOOLEAN, 8, NULL, 0x20,
6352 NULL, HFILL }},
6353 { &hf_ftam_Equality_Comparision_no_value_available_matches,
6354 { "no-value-available-matches", "ftam.no-value-available-matches",
6355 FT_BOOLEAN, 8, NULL, 0x80,
6356 NULL, HFILL }},
6357 { &hf_ftam_Equality_Comparision_equals_matches,
6358 { "equals-matches", "ftam.equals-matches",
6359 FT_BOOLEAN, 8, NULL, 0x40,
6360 NULL, HFILL }},
6361 { &hf_ftam_Relational_Comparision_no_value_available_matches,
6362 { "no-value-available-matches", "ftam.no-value-available-matches",
6363 FT_BOOLEAN, 8, NULL, 0x80,
6364 NULL, HFILL }},
6365 { &hf_ftam_Relational_Comparision_equals_matches,
6366 { "equals-matches", "ftam.equals-matches",
6367 FT_BOOLEAN, 8, NULL, 0x40,
6368 NULL, HFILL }},
6369 { &hf_ftam_Relational_Comparision_less_than_matches,
6370 { "less-than-matches", "ftam.less-than-matches",
6371 FT_BOOLEAN, 8, NULL, 0x20,
6372 NULL, HFILL }},
6373 { &hf_ftam_Relational_Comparision_greater_than_matches,
6374 { "greater-than-matches", "ftam.greater-than-matches",
6375 FT_BOOLEAN, 8, NULL, 0x10,
6376 NULL, HFILL }},
6377 { &hf_ftam_Attribute_Names_read_pathname,
6378 { "read-pathname", "ftam.read-pathname",
6379 FT_BOOLEAN, 8, NULL, 0x80,
6380 NULL, HFILL }},
6381 { &hf_ftam_Attribute_Names_read_Object_type,
6382 { "read-Object-type", "ftam.read-Object-type",
6383 FT_BOOLEAN, 8, NULL, 0x20,
6384 NULL, HFILL }},
6385 { &hf_ftam_Attribute_Names_read_permitted_actions,
6386 { "read-permitted-actions", "ftam.read-permitted-actions",
6387 FT_BOOLEAN, 8, NULL, 0x40,
6388 NULL, HFILL }},
6389 { &hf_ftam_Attribute_Names_read_contents_type,
6390 { "read-contents-type", "ftam.read-contents-type",
6391 FT_BOOLEAN, 8, NULL, 0x20,
6392 NULL, HFILL }},
6393 { &hf_ftam_Attribute_Names_read_linked_Object,
6394 { "read-linked-Object", "ftam.read-linked-Object",
6395 FT_BOOLEAN, 8, NULL, 0x10,
6396 NULL, HFILL }},
6397 { &hf_ftam_Attribute_Names_read_Child_objects,
6398 { "read-Child-objects", "ftam.read-Child-objects",
6399 FT_BOOLEAN, 8, NULL, 0x01,
6400 NULL, HFILL }},
6401 { &hf_ftam_Attribute_Names_read_primary_pathname,
6402 { "read-primary-pathname", "ftam.read-primary-pathname",
6403 FT_BOOLEAN, 8, NULL, 0x08,
6404 NULL, HFILL }},
6405 { &hf_ftam_Attribute_Names_read_storage_account,
6406 { "read-storage-account", "ftam.read-storage-account",
6407 FT_BOOLEAN, 8, NULL, 0x10,
6408 NULL, HFILL }},
6409 { &hf_ftam_Attribute_Names_read_date_and_time_of_creation,
6410 { "read-date-and-time-of-creation", "ftam.read-date-and-time-of-creation",
6411 FT_BOOLEAN, 8, NULL, 0x08,
6412 NULL, HFILL }},
6413 { &hf_ftam_Attribute_Names_read_date_and_time_of_last_modification,
6414 { "read-date-and-time-of-last-modification", "ftam.read-date-and-time-of-last-modification",
6415 FT_BOOLEAN, 8, NULL, 0x04,
6416 NULL, HFILL }},
6417 { &hf_ftam_Attribute_Names_read_date_and_time_of_last_read_access,
6418 { "read-date-and-time-of-last-read-access", "ftam.read-date-and-time-of-last-read-access",
6419 FT_BOOLEAN, 8, NULL, 0x02,
6420 NULL, HFILL }},
6421 { &hf_ftam_Attribute_Names_read_date_and_time_of_last_attribute_modification,
6422 { "read-date-and-time-of-last-attribute-modification", "ftam.read-date-and-time-of-last-attribute-modification",
6423 FT_BOOLEAN, 8, NULL, 0x01,
6424 NULL, HFILL }},
6425 { &hf_ftam_Attribute_Names_read_identity_of_creator,
6426 { "read-identity-of-creator", "ftam.read-identity-of-creator",
6427 FT_BOOLEAN, 8, NULL, 0x80,
6428 NULL, HFILL }},
6429 { &hf_ftam_Attribute_Names_read_identity_of_last_modifier,
6430 { "read-identity-of-last-modifier", "ftam.read-identity-of-last-modifier",
6431 FT_BOOLEAN, 8, NULL, 0x40,
6432 NULL, HFILL }},
6433 { &hf_ftam_Attribute_Names_read_identity_of_last_reader,
6434 { "read-identity-of-last-reader", "ftam.read-identity-of-last-reader",
6435 FT_BOOLEAN, 8, NULL, 0x20,
6436 NULL, HFILL }},
6437 { &hf_ftam_Attribute_Names_read_identity_of_last_attribute_modifier,
6438 { "read-identity-of-last-attribute-modifier", "ftam.read-identity-of-last-attribute-modifier",
6439 FT_BOOLEAN, 8, NULL, 0x10,
6440 NULL, HFILL }},
6441 { &hf_ftam_Attribute_Names_read_Object_availability,
6442 { "read-Object-availability", "ftam.read-Object-availability",
6443 FT_BOOLEAN, 8, NULL, 0x08,
6444 NULL, HFILL }},
6445 { &hf_ftam_Attribute_Names_read_Object_size,
6446 { "read-Object-size", "ftam.read-Object-size",
6447 FT_BOOLEAN, 8, NULL, 0x04,
6448 NULL, HFILL }},
6449 { &hf_ftam_Attribute_Names_read_future_Object_size,
6450 { "read-future-Object-size", "ftam.read-future-Object-size",
6451 FT_BOOLEAN, 8, NULL, 0x02,
6452 NULL, HFILL }},
6453 { &hf_ftam_Attribute_Names_read_access_control,
6454 { "read-access-control", "ftam.read-access-control",
6455 FT_BOOLEAN, 8, NULL, 0x01,
6456 NULL, HFILL }},
6457 { &hf_ftam_Attribute_Names_read_path_access_control,
6458 { "read-path-access-control", "ftam.read-path-access-control",
6459 FT_BOOLEAN, 8, NULL, 0x04,
6460 NULL, HFILL }},
6461 { &hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS,
6462 { "read-l8gal-qualifiCatiOnS", "ftam.read-l8gal-qualifiCatiOnS",
6463 FT_BOOLEAN, 8, NULL, 0x80,
6464 NULL, HFILL }},
6465 { &hf_ftam_Attribute_Names_read_private_use,
6466 { "read-private-use", "ftam.read-private-use",
6467 FT_BOOLEAN, 8, NULL, 0x40,
6468 NULL, HFILL }},
6470 /*--- End of included file: packet-ftam-hfarr.c ---*/
6471 #line 126 "../../asn1/ftam/packet-ftam-template.c"
6474 /* List of subtrees */
6475 static gint *ett[] = {
6476 &ett_ftam,
6478 /*--- Included file: packet-ftam-ettarr.c ---*/
6479 #line 1 "../../asn1/ftam/packet-ftam-ettarr.c"
6480 &ett_ftam_PDU,
6481 &ett_ftam_FTAM_Regime_PDU,
6482 &ett_ftam_F_INITIALIZE_request,
6483 &ett_ftam_F_INITIALIZE_response,
6484 &ett_ftam_Protocol_Version_U,
6485 &ett_ftam_Service_Class_U,
6486 &ett_ftam_Functional_Units_U,
6487 &ett_ftam_Attribute_Groups_U,
6488 &ett_ftam_Contents_Type_List_U,
6489 &ett_ftam_Contents_Type_List_item,
6490 &ett_ftam_F_TERMINATE_request,
6491 &ett_ftam_F_TERMINATE_response,
6492 &ett_ftam_F_U_ABORT_request,
6493 &ett_ftam_F_P_ABORT_request,
6494 &ett_ftam_File_PDU,
6495 &ett_ftam_F_SELECT_request,
6496 &ett_ftam_F_SELECT_response,
6497 &ett_ftam_F_DESELECT_request,
6498 &ett_ftam_F_DESELECT_response,
6499 &ett_ftam_F_CREATE_request,
6500 &ett_ftam_F_CREATE_response,
6501 &ett_ftam_F_DELETE_request,
6502 &ett_ftam_F_DELETE_response,
6503 &ett_ftam_F_READ_ATTRIB_request,
6504 &ett_ftam_F_READ_ATTRIB_response,
6505 &ett_ftam_F_CHANGE_ATTRIB_request,
6506 &ett_ftam_F_CHANGE_ATTRIB_response,
6507 &ett_ftam_F_OPEN_request,
6508 &ett_ftam_T_processing_mode,
6509 &ett_ftam_T_open_contents_type,
6510 &ett_ftam_SET_OF_Abstract_Syntax_Name,
6511 &ett_ftam_F_OPEN_response,
6512 &ett_ftam_F_CLOSE_request,
6513 &ett_ftam_F_CLOSE_response,
6514 &ett_ftam_F_BEGIN_GROUP_request,
6515 &ett_ftam_F_BEGIN_GROUP_response,
6516 &ett_ftam_F_END_GROUP_request,
6517 &ett_ftam_F_END_GROUP_response,
6518 &ett_ftam_F_RECOVER_request,
6519 &ett_ftam_F_RECOVER_response,
6520 &ett_ftam_F_LOCATE_request,
6521 &ett_ftam_F_LOCATE_response,
6522 &ett_ftam_F_ERASE_request,
6523 &ett_ftam_F_ERASE_response,
6524 &ett_ftam_Bulk_Data_PDU,
6525 &ett_ftam_F_READ_request,
6526 &ett_ftam_F_WRITE_request,
6527 &ett_ftam_F_DATA_END_request,
6528 &ett_ftam_F_TRANSFER_END_request,
6529 &ett_ftam_F_TRANSFER_END_response,
6530 &ett_ftam_F_CANCEL_request,
6531 &ett_ftam_F_CANCEL_response,
6532 &ett_ftam_F_RESTART_request,
6533 &ett_ftam_F_RESTART_response,
6534 &ett_ftam_Access_Context_U,
6535 &ett_ftam_Access_Passwords_U,
6536 &ett_ftam_Access_Request_U,
6537 &ett_ftam_Change_Attributes_U,
6538 &ett_ftam_Charging_U,
6539 &ett_ftam_Charging_item,
6540 &ett_ftam_Concurrency_Control_U,
6541 &ett_ftam_Create_Attributes_U,
6542 &ett_ftam_Diagnostic_U,
6543 &ett_ftam_Diagnostic_item,
6544 &ett_ftam_FADU_Identity_U,
6545 &ett_ftam_SEQUENCE_OF_Node_Name,
6546 &ett_ftam_Password_U,
6547 &ett_ftam_Read_Attributes_U,
6548 &ett_ftam_Select_Attributes_U,
6549 &ett_ftam_Access_Control_Attribute,
6550 &ett_ftam_SET_OF_Access_Control_Element,
6551 &ett_ftam_Access_Control_Change_Attribute,
6552 &ett_ftam_T_actual_values1,
6553 &ett_ftam_Access_Control_Element,
6554 &ett_ftam_Concurrency_Access,
6555 &ett_ftam_Concurrency_Key,
6556 &ett_ftam_Account_Attribute,
6557 &ett_ftam_Contents_Type_Attribute,
6558 &ett_ftam_T_document_type,
6559 &ett_ftam_T_constraint_set_and_abstract_Syntax,
6560 &ett_ftam_Date_and_Time_Attribute,
6561 &ett_ftam_Object_Availability_Attribute,
6562 &ett_ftam_Pathname_Attribute,
6563 &ett_ftam_Object_Size_Attribute,
6564 &ett_ftam_Legal_Qualification_Attribute,
6565 &ett_ftam_Permitted_Actions_Attribute,
6566 &ett_ftam_Private_Use_Attribute,
6567 &ett_ftam_User_Identity_Attribute,
6568 &ett_ftam_Child_Objects_Attribute,
6569 &ett_ftam_FSM_PDU,
6570 &ett_ftam_F_CHANGE_PREFIX_request,
6571 &ett_ftam_F_CHANGE_PREFIX_response,
6572 &ett_ftam_F_LIST_request,
6573 &ett_ftam_F_LIST_response,
6574 &ett_ftam_F_GROUP_SELECT_request,
6575 &ett_ftam_F_GROUP_SELECT_response,
6576 &ett_ftam_F_GROUP_DELETE_request,
6577 &ett_ftam_F_GROUP_DELETE_response,
6578 &ett_ftam_F_GROUP_MOVE_request,
6579 &ett_ftam_F_GROUP_MOVE_response,
6580 &ett_ftam_F_GROUP_COPY_request,
6581 &ett_ftam_F_GROUP_COPY_response,
6582 &ett_ftam_F_GROUP_LIST_request,
6583 &ett_ftam_F_GROUP_LIST_response,
6584 &ett_ftam_F_GROUP_CHANGE_ATTRIB_request,
6585 &ett_ftam_F_GROUP_CHANGE_ATTRIB_response,
6586 &ett_ftam_F_SELECT_ANOTHER_request,
6587 &ett_ftam_F_SELECT_ANOTHER_response,
6588 &ett_ftam_F_CREATE_DIRECTORY_request,
6589 &ett_ftam_F_CREATE_DIRECTORY_response,
6590 &ett_ftam_F_LINK_request,
6591 &ett_ftam_F_LINK_response,
6592 &ett_ftam_F_UNLINK_request,
6593 &ett_ftam_F_UNLINK_response,
6594 &ett_ftam_F_READ_LINK_ATTRIB_request,
6595 &ett_ftam_F_READ_LINK_ATTRIB_response,
6596 &ett_ftam_F_CHANGE_LINK_ATTRIB_request,
6597 &ett_ftam_F_CHANGE_LINK_ATTRIB_response,
6598 &ett_ftam_F_MOVE_request,
6599 &ett_ftam_F_MOVE_response,
6600 &ett_ftam_F_COPY_request,
6601 &ett_ftam_F_COPY_response,
6602 &ett_ftam_Attribute_Extension_Names,
6603 &ett_ftam_Attribute_Extension_Set_Name,
6604 &ett_ftam_SEQUENCE_OF_Extension_Attribute_identifier,
6605 &ett_ftam_Attribute_Extensions,
6606 &ett_ftam_Attribute_Extension_Set,
6607 &ett_ftam_SEQUENCE_OF_Extension_Attribute,
6608 &ett_ftam_Extension_Attribute,
6609 &ett_ftam_Scope_U,
6610 &ett_ftam_T__untag_item,
6611 &ett_ftam_OR_Set,
6612 &ett_ftam_AND_Set,
6613 &ett_ftam_AND_Set_item,
6614 &ett_ftam_Equality_Comparision,
6615 &ett_ftam_Relational_Comparision,
6616 &ett_ftam_Pathname_Pattern,
6617 &ett_ftam_T_pathname_value,
6618 &ett_ftam_T_pathname_value_item,
6619 &ett_ftam_String_Pattern,
6620 &ett_ftam_T_string_value,
6621 &ett_ftam_T_string_value_item,
6622 &ett_ftam_Bitstring_Pattern,
6623 &ett_ftam_Date_and_Time_Pattern,
6624 &ett_ftam_Integer_Pattern,
6625 &ett_ftam_Object_Identifier_Pattern,
6626 &ett_ftam_Boolean_Pattern,
6627 &ett_ftam_Contents_Type_Pattern,
6628 &ett_ftam_T_constraint_set_abstract_Syntax_Pattern,
6629 &ett_ftam_Attribute_Extensions_Pattern,
6630 &ett_ftam_Attribute_Extensions_Pattern_item,
6631 &ett_ftam_T_extension_set_attribute_Patterns,
6632 &ett_ftam_T_extension_set_attribute_Patterns_item,
6633 &ett_ftam_SEQUENCE_OF_Read_Attributes,
6634 &ett_ftam_Operation_Result_U,
6635 &ett_ftam_SEQUENCE_OF_Pathname,
6636 &ett_ftam_Pathname,
6637 &ett_ftam_Pass_Passwords,
6638 &ett_ftam_Path_Access_Passwords_U,
6639 &ett_ftam_Path_Access_Passwords_item,
6640 &ett_ftam_Attribute_Names,
6641 &ett_ftam_AE_title,
6643 /*--- End of included file: packet-ftam-ettarr.c ---*/
6644 #line 132 "../../asn1/ftam/packet-ftam-template.c"
6647 /* Register protocol */
6648 proto_ftam = proto_register_protocol(PNAME, PSNAME, PFNAME);
6649 register_dissector("ftam", dissect_ftam, proto_ftam);
6650 /* Register fields and subtrees */
6651 proto_register_field_array(proto_ftam, hf, array_length(hf));
6652 proto_register_subtree_array(ett, array_length(ett));
6657 /*--- proto_reg_handoff_ftam --- */
6658 void proto_reg_handoff_ftam(void) {
6659 register_ber_oid_dissector("1.0.8571.1.1", dissect_ftam, proto_ftam,"iso-ftam(1)");
6660 register_ber_oid_dissector("1.0.8571.2.1", dissect_ftam, proto_ftam,"ftam-pci(1)");
6661 register_ber_oid_dissector("1.3.14.5.2.2", dissect_ftam, proto_ftam,"NIST file directory entry abstract syntax");
6663 /* Unstructured text file document type FTAM-1 */
6664 register_ber_oid_dissector("1.0.8571.5.1", dissect_ftam_unstructured_text, proto_ftam,"ISO FTAM unstructured text");
6665 oid_add_from_string("ISO FTAM sequential text","1.0.8571.5.2");
6666 oid_add_from_string("FTAM unstructured text abstract syntax","1.0.8571.2.3");
6667 oid_add_from_string("FTAM simple-hierarchy","1.0.8571.2.5");
6668 oid_add_from_string("FTAM hierarchical file model","1.0.8571.3.1");
6669 oid_add_from_string("FTAM unstructured constraint set","1.0.8571.4.1");
6671 /* Unstructured binary file document type FTAM-3 */
6672 register_ber_oid_dissector("1.0.8571.5.3", dissect_ftam_unstructured_binary, proto_ftam,"ISO FTAM unstructured binary");
6673 oid_add_from_string("FTAM unstructured binary abstract syntax","1.0.8571.2.4");
6675 /* Filedirectory file document type NBS-9 */
6676 oid_add_from_string("NBS-9 FTAM file directory file","1.3.14.5.5.9");
6678 /* Filedirectory file document type NBS-9 (WITH OLD NIST OIDs)*/
6679 oid_add_from_string("NBS-9-OLD FTAM file directory file","1.3.9999.1.5.9");
6680 oid_add_from_string("NIST file directory entry abstract syntax","1.3.9999.1.2.2");