Regenerate all asn2wrs generated dissectors
[obnox/wireshark/wip.git] / epan / dissectors / packet-ftam.c
1 /* Do not modify this file.                                                   */
2 /* It is created 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 ISO8571-FTAM.asn */
5
6 /* Input file: packet-ftam-template.c */
7
8 #line 1 "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/
12  *
13  * also based on original handwritten dissector by
14  * Yuriy Sidelnikov <YSidelnikov@hotmail.com>
15  *
16  * Anders Broman and Ronnie Sahlberg 2005 - 2006
17  *
18  * $Id$
19  *
20  * Wireshark - Network traffic analyzer
21  * By Gerald Combs <gerald@wireshark.org>
22  * Copyright 1998 Gerald Combs
23  *
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.
28  *
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.
33  *
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., 59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.
37  */
38
39 #ifdef HAVE_CONFIG_H
40 # include "config.h"
41 #endif
42
43 #include <glib.h>
44 #include <epan/packet.h>
45 #include <epan/conversation.h>
46 #include <epan/oids.h>
47 #include <epan/asn1.h>
48
49 #include <stdio.h>
50 #include <string.h>
51
52 #include "packet-ber.h"
53 #include "packet-acse.h"
54 #include "packet-ftam.h"
55
56 #define PNAME  "ISO 8571 FTAM"
57 #define PSNAME "FTAM"
58 #define PFNAME "ftam"
59
60 /* Initialize the protocol and registered fields */
61 int proto_ftam = -1;
62
63 static const char *object_identifier_id;
64 /* Declare the function to avoid a compiler warning */
65 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_);
66
67 static int hf_ftam_unstructured_text = -1;              /* ISO FTAM unstructured text */
68 static int hf_ftam_unstructured_binary = -1;            /* ISO FTAM unstructured binary */
69
70 /*--- Included file: packet-ftam-hf.c ---*/
71 #line 1 "packet-ftam-hf.c"
72 static int hf_ftam_fTAM_Regime_PDU = -1;          /* FTAM_Regime_PDU */
73 static int hf_ftam_file_PDU = -1;                 /* File_PDU */
74 static int hf_ftam_bulk_Data_PDU = -1;            /* Bulk_Data_PDU */
75 static int hf_ftam_fSM_PDU = -1;                  /* FSM_PDU */
76 static int hf_ftam_f_initialize_request = -1;     /* F_INITIALIZE_request */
77 static int hf_ftam_f_initialize_response = -1;    /* F_INITIALIZE_response */
78 static int hf_ftam_f_terminate_request = -1;      /* F_TERMINATE_request */
79 static int hf_ftam_f_terminate_response = -1;     /* F_TERMINATE_response */
80 static int hf_ftam_f_u_abort_request = -1;        /* F_U_ABORT_request */
81 static int hf_ftam_f_p_abort_request = -1;        /* F_P_ABORT_request */
82 static int hf_ftam_protocol_Version = -1;         /* Protocol_Version */
83 static int hf_ftam_implementation_information = -1;  /* Implementation_Information */
84 static int hf_ftam_presentation_tontext_management = -1;  /* BOOLEAN */
85 static int hf_ftam_service_class = -1;            /* Service_Class */
86 static int hf_ftam_functional_units = -1;         /* Functional_Units */
87 static int hf_ftam_attribute_groups = -1;         /* Attribute_Groups */
88 static int hf_ftam_shared_ASE_information = -1;   /* Shared_ASE_Information */
89 static int hf_ftam_ftam_quality_of_Service = -1;  /* FTAM_Quality_of_Service */
90 static int hf_ftam_contents_type_list = -1;       /* Contents_Type_List */
91 static int hf_ftam_initiator_identity = -1;       /* User_Identity */
92 static int hf_ftam_account = -1;                  /* Account */
93 static int hf_ftam_filestore_password = -1;       /* Password */
94 static int hf_ftam_checkpoint_window = -1;        /* INTEGER */
95 static int hf_ftam_state_result = -1;             /* State_Result */
96 static int hf_ftam_action_result = -1;            /* Action_Result */
97 static int hf_ftam_diagnostic = -1;               /* Diagnostic */
98 static int hf_ftam__untag_item = -1;              /* Contents_Type_List_item */
99 static int hf_ftam_document_type_name = -1;       /* Document_Type_Name */
100 static int hf_ftam_abstract_Syntax_name = -1;     /* Abstract_Syntax_Name */
101 static int hf_ftam_charging = -1;                 /* Charging */
102 static int hf_ftam_f_select_request = -1;         /* F_SELECT_request */
103 static int hf_ftam_f_select_response = -1;        /* F_SELECT_response */
104 static int hf_ftam_f_deselect_request = -1;       /* F_DESELECT_request */
105 static int hf_ftam_f_deselect_response = -1;      /* F_DESELECT_response */
106 static int hf_ftam_f_create_request = -1;         /* F_CREATE_request */
107 static int hf_ftam_f_create_response = -1;        /* F_CREATE_response */
108 static int hf_ftam_f_delete_request = -1;         /* F_DELETE_request */
109 static int hf_ftam_f_delete_response = -1;        /* F_DELETE_response */
110 static int hf_ftam_f_read_attrib_request = -1;    /* F_READ_ATTRIB_request */
111 static int hf_ftam_f_read_attrib_response = -1;   /* F_READ_ATTRIB_response */
112 static int hf_ftam_f_Change_attrib_reques = -1;   /* F_CHANGE_ATTRIB_request */
113 static int hf_ftam_f_Change_attrib_respon = -1;   /* F_CHANGE_ATTRIB_response */
114 static int hf_ftam_f_open_request = -1;           /* F_OPEN_request */
115 static int hf_ftam_f_open_response = -1;          /* F_OPEN_response */
116 static int hf_ftam_f_close_request = -1;          /* F_CLOSE_request */
117 static int hf_ftam_f_close_response = -1;         /* F_CLOSE_response */
118 static int hf_ftam_f_begin_group_request = -1;    /* F_BEGIN_GROUP_request */
119 static int hf_ftam_f_begin_group_response = -1;   /* F_BEGIN_GROUP_response */
120 static int hf_ftam_f_end_group_request = -1;      /* F_END_GROUP_request */
121 static int hf_ftam_f_end_group_response = -1;     /* F_END_GROUP_response */
122 static int hf_ftam_f_recover_request = -1;        /* F_RECOVER_request */
123 static int hf_ftam_f_recover_response = -1;       /* F_RECOVER_response */
124 static int hf_ftam_f_locate_request = -1;         /* F_LOCATE_request */
125 static int hf_ftam_f_locate_response = -1;        /* F_LOCATE_response */
126 static int hf_ftam_f_erase_request = -1;          /* F_ERASE_request */
127 static int hf_ftam_f_erase_response = -1;         /* F_ERASE_response */
128 static int hf_ftam_select_attributes = -1;        /* Select_Attributes */
129 static int hf_ftam_requested_access = -1;         /* Access_Request */
130 static int hf_ftam_access_passwords = -1;         /* Access_Passwords */
131 static int hf_ftam_path_access_passwords = -1;    /* Path_Access_Passwords */
132 static int hf_ftam_concurrency_control = -1;      /* Concurrency_Control */
133 static int hf_ftam_referent_indicator = -1;       /* Referent_Indicator */
134 static int hf_ftam_override = -1;                 /* Override */
135 static int hf_ftam_initial_attributes = -1;       /* Create_Attributes */
136 static int hf_ftam_create_password = -1;          /* Password */
137 static int hf_ftam_attribute_names = -1;          /* Attribute_Names */
138 static int hf_ftam_attribute_extension_names = -1;  /* Attribute_Extension_Names */
139 static int hf_ftam_read_attributes = -1;          /* Read_Attributes */
140 static int hf_ftam_attributes = -1;               /* Change_Attributes */
141 static int hf_ftam_processing_mode = -1;          /* T_processing_mode */
142 static int hf_ftam_open_contents_type = -1;       /* T_open_contents_type */
143 static int hf_ftam_unknown = -1;                  /* NULL */
144 static int hf_ftam_proposed = -1;                 /* Contents_Type_Attribute */
145 static int hf_ftam_enable_fadu_locking = -1;      /* BOOLEAN */
146 static int hf_ftam_activity_identifier = -1;      /* Activity_Identifier */
147 static int hf_ftam_request_recovery_mode = -1;    /* T_request_recovery_mode */
148 static int hf_ftam_remove_contexts = -1;          /* SET_OF_Abstract_Syntax_Name */
149 static int hf_ftam_remove_contexts_item = -1;     /* Abstract_Syntax_Name */
150 static int hf_ftam_define_contexts = -1;          /* SET_OF_Abstract_Syntax_Name */
151 static int hf_ftam_define_contexts_item = -1;     /* Abstract_Syntax_Name */
152 static int hf_ftam_degree_of_overlap = -1;        /* Degree_Of_Overlap */
153 static int hf_ftam_transfer_window = -1;          /* INTEGER */
154 static int hf_ftam_contents_type = -1;            /* Contents_Type_Attribute */
155 static int hf_ftam_response_recovery_mode = -1;   /* T_response_recovery_mode */
156 static int hf_ftam_presentation_action = -1;      /* BOOLEAN */
157 static int hf_ftam_threshold = -1;                /* INTEGER */
158 static int hf_ftam_bulk_transfer_number = -1;     /* INTEGER */
159 static int hf_ftam_recovefy_Point = -1;           /* INTEGER */
160 static int hf_ftam_concurrent_bulk_transfer_number = -1;  /* INTEGER */
161 static int hf_ftam_concurrent_recovery_point = -1;  /* INTEGER */
162 static int hf_ftam_last_transfer_end_read_response = -1;  /* INTEGER */
163 static int hf_ftam_last_transfer_end_write_response = -1;  /* INTEGER */
164 static int hf_ftam_recovety_Point = -1;           /* INTEGER */
165 static int hf_ftam_last_transfer_end_read_request = -1;  /* INTEGER */
166 static int hf_ftam_last_transfer_end_write_request = -1;  /* INTEGER */
167 static int hf_ftam_file_access_data_unit_identity = -1;  /* FADU_Identity */
168 static int hf_ftam_fadu_lock = -1;                /* FADU_Lock */
169 static int hf_ftam_f_read_request = -1;           /* F_READ_request */
170 static int hf_ftam_f_write_request = -1;          /* F_WRITE_request */
171 static int hf_ftam_f_data_end_request = -1;       /* F_DATA_END_request */
172 static int hf_ftam_f_transfer_end_request = -1;   /* F_TRANSFER_END_request */
173 static int hf_ftam_f_transfer_end_response = -1;  /* F_TRANSFER_END_response */
174 static int hf_ftam_f_cancel_request = -1;         /* F_CANCEL_request */
175 static int hf_ftam_f_cancel_response = -1;        /* F_CANCEL_response */
176 static int hf_ftam_f_restart_request = -1;        /* F_RESTART_request */
177 static int hf_ftam_f_restart_response = -1;       /* F_RESTART_response */
178 static int hf_ftam_read_access_context = -1;      /* Access_Context */
179 static int hf_ftam_transfer_number = -1;          /* INTEGER */
180 static int hf_ftam_file_access_data_unit_Operation = -1;  /* T_file_access_data_unit_Operation */
181 static int hf_ftam_request_type = -1;             /* Request_Type */
182 static int hf_ftam_checkpoint_identifier = -1;    /* INTEGER */
183 static int hf_ftam_access_context = -1;           /* T_access_context */
184 static int hf_ftam_level_number = -1;             /* INTEGER */
185 static int hf_ftam_read_password = -1;            /* Password */
186 static int hf_ftam_insert_password = -1;          /* Password */
187 static int hf_ftam_replace_password = -1;         /* Password */
188 static int hf_ftam_extend_password = -1;          /* Password */
189 static int hf_ftam_erase_password = -1;           /* Password */
190 static int hf_ftam_read_attribute_password = -1;  /* Password */
191 static int hf_ftam_change_attribute_password = -1;  /* Password */
192 static int hf_ftam_delete_password = -1;          /* Password */
193 static int hf_ftam_pass_passwords = -1;           /* Pass_Passwords */
194 static int hf_ftam_link_password = -1;            /* Password */
195 static int hf_ftam_pathname = -1;                 /* Pathname_Attribute */
196 static int hf_ftam_storage_account = -1;          /* Account_Attribute */
197 static int hf_ftam_object_availability = -1;      /* Object_Availability_Attribute */
198 static int hf_ftam_future_Object_size = -1;       /* Object_Size_Attribute */
199 static int hf_ftam_change_attributes_access_control = -1;  /* Access_Control_Change_Attribute */
200 static int hf_ftam_change_path_access_control = -1;  /* Access_Control_Change_Attribute */
201 static int hf_ftam_legal_qualification = -1;      /* Legal_Qualification_Attribute */
202 static int hf_ftam_private_use = -1;              /* Private_Use_Attribute */
203 static int hf_ftam_attribute_extensions = -1;     /* Attribute_Extensions */
204 static int hf_ftam__untag_item_01 = -1;           /* Charging_item */
205 static int hf_ftam_resource_identifier = -1;      /* GraphicString */
206 static int hf_ftam_charging_unit = -1;            /* GraphicString */
207 static int hf_ftam_charging_value = -1;           /* INTEGER */
208 static int hf_ftam_read = -1;                     /* Lock */
209 static int hf_ftam_insert = -1;                   /* Lock */
210 static int hf_ftam_replace = -1;                  /* Lock */
211 static int hf_ftam_extend = -1;                   /* Lock */
212 static int hf_ftam_erase = -1;                    /* Lock */
213 static int hf_ftam_read_attribute = -1;           /* Lock */
214 static int hf_ftam_change_attribute = -1;         /* Lock */
215 static int hf_ftam_delete_Object = -1;            /* Lock */
216 static int hf_ftam_object_type = -1;              /* Object_Type_Attribute */
217 static int hf_ftam_permitted_actions = -1;        /* Permitted_Actions_Attribute */
218 static int hf_ftam_access_control = -1;           /* Access_Control_Attribute */
219 static int hf_ftam_path_access_control = -1;      /* Access_Control_Attribute */
220 static int hf_ftam__untag_item_02 = -1;           /* Diagnostic_item */
221 static int hf_ftam_diagnostic_type = -1;          /* T_diagnostic_type */
222 static int hf_ftam_error_identifier = -1;         /* INTEGER */
223 static int hf_ftam_error_observer = -1;           /* Entity_Reference */
224 static int hf_ftam_error_Source = -1;             /* Entity_Reference */
225 static int hf_ftam_suggested_delay = -1;          /* INTEGER */
226 static int hf_ftam_further_details = -1;          /* GraphicString */
227 static int hf_ftam_first_last = -1;               /* T_first_last */
228 static int hf_ftam_relative = -1;                 /* T_relative */
229 static int hf_ftam_begin_end = -1;                /* T_begin_end */
230 static int hf_ftam_single_name = -1;              /* Node_Name */
231 static int hf_ftam_name_list = -1;                /* SEQUENCE_OF_Node_Name */
232 static int hf_ftam_name_list_item = -1;           /* Node_Name */
233 static int hf_ftam_fadu_number = -1;              /* INTEGER */
234 static int hf_ftam_graphicString = -1;            /* GraphicString */
235 static int hf_ftam_octetString = -1;              /* OCTET_STRING */
236 static int hf_ftam_linked_Object = -1;            /* Pathname_Attribute */
237 static int hf_ftam_child_objects = -1;            /* Child_Objects_Attribute */
238 static int hf_ftam_primaty_pathname = -1;         /* Pathname_Attribute */
239 static int hf_ftam_date_and_time_of_creation = -1;  /* Date_and_Time_Attribute */
240 static int hf_ftam_date_and_time_of_last_modification = -1;  /* Date_and_Time_Attribute */
241 static int hf_ftam_date_and_time_of_last_read_access = -1;  /* Date_and_Time_Attribute */
242 static int hf_ftam_date_and_time_of_last_attribute_modification = -1;  /* Date_and_Time_Attribute */
243 static int hf_ftam_identity_of_creator = -1;      /* User_Identity_Attribute */
244 static int hf_ftam_identity_of_last_modifier = -1;  /* User_Identity_Attribute */
245 static int hf_ftam_identity_of_last_reader = -1;  /* User_Identity_Attribute */
246 static int hf_ftam_identity_last_attribute_modifier = -1;  /* User_Identity_Attribute */
247 static int hf_ftam_object_size = -1;              /* Object_Size_Attribute */
248 static int hf_ftam_no_value_available = -1;       /* NULL */
249 static int hf_ftam_actual_values3 = -1;           /* SET_OF_Access_Control_Element */
250 static int hf_ftam_actual_values3_item = -1;      /* Access_Control_Element */
251 static int hf_ftam_actual_values1 = -1;           /* T_actual_values1 */
252 static int hf_ftam_insert_values = -1;            /* SET_OF_Access_Control_Element */
253 static int hf_ftam_insert_values_item = -1;       /* Access_Control_Element */
254 static int hf_ftam_delete_values = -1;            /* SET_OF_Access_Control_Element */
255 static int hf_ftam_delete_values_item = -1;       /* Access_Control_Element */
256 static int hf_ftam_action_list = -1;              /* Access_Request */
257 static int hf_ftam_concurrency_access = -1;       /* Concurrency_Access */
258 static int hf_ftam_identity = -1;                 /* User_Identity */
259 static int hf_ftam_passwords = -1;                /* Access_Passwords */
260 static int hf_ftam_location = -1;                 /* Application_Entity_Title */
261 static int hf_ftam_read_key = -1;                 /* Concurrency_Key */
262 static int hf_ftam_insert_key = -1;               /* Concurrency_Key */
263 static int hf_ftam_replace_key = -1;              /* Concurrency_Key */
264 static int hf_ftam_extend_key = -1;               /* Concurrency_Key */
265 static int hf_ftam_erase_key = -1;                /* Concurrency_Key */
266 static int hf_ftam_read_attribute_key = -1;       /* Concurrency_Key */
267 static int hf_ftam_change_attribute_key = -1;     /* Concurrency_Key */
268 static int hf_ftam_delete_Object_key = -1;        /* Concurrency_Key */
269 static int hf_ftam_actual_values2 = -1;           /* Account */
270 static int hf_ftam_document_type = -1;            /* T_document_type */
271 static int hf_ftam_parameter = -1;                /* T_parameter */
272 static int hf_ftam_constraint_set_and_abstract_Syntax = -1;  /* T_constraint_set_and_abstract_Syntax */
273 static int hf_ftam_constraint_set_name = -1;      /* Constraint_Set_Name */
274 static int hf_ftam_actual_values5 = -1;           /* GeneralizedTime */
275 static int hf_ftam_actual_values8 = -1;           /* T_actual_values8 */
276 static int hf_ftam_incomplete_pathname = -1;      /* Pathname */
277 static int hf_ftam_complete_pathname = -1;        /* Pathname */
278 static int hf_ftam_actual_values7 = -1;           /* INTEGER */
279 static int hf_ftam_actual_values9 = -1;           /* GraphicString */
280 static int hf_ftam_abstract_Syntax_not_supported = -1;  /* NULL */
281 static int hf_ftam_actual_values4 = -1;           /* EXTERNAL */
282 static int hf_ftam_actual_values6 = -1;           /* User_Identity */
283 static int hf_ftam_Child_Objects_Attribute_item = -1;  /* GraphicString */
284 static int hf_ftam_f_Change_prefix_request = -1;  /* F_CHANGE_PREFIX_request */
285 static int hf_ftam_f_Change_prefix_response = -1;  /* F_CHANGE_PREFIX_response */
286 static int hf_ftam_f_list_request = -1;           /* F_LIST_request */
287 static int hf_ftam_f_list_response = -1;          /* F_LIST_response */
288 static int hf_ftam_f_group_select_request = -1;   /* F_GROUP_SELECT_request */
289 static int hf_ftam_f_group_select_response = -1;  /* F_GROUP_SELECT_response */
290 static int hf_ftam_f_group_delete_request = -1;   /* F_GROUP_DELETE_request */
291 static int hf_ftam_f_group_delete_response = -1;  /* F_GROUP_DELETE_response */
292 static int hf_ftam_f_group_move_request = -1;     /* F_GROUP_MOVE_request */
293 static int hf_ftam_f_group_move_response = -1;    /* F_GROUP_MOVE_response */
294 static int hf_ftam_f_group_copy_request = -1;     /* F_GROUP_COPY_request */
295 static int hf_ftam_f_group_copy_response = -1;    /* F_GROUP_COPY_response */
296 static int hf_ftam_f_group_list_request = -1;     /* F_GROUP_LIST_request */
297 static int hf_ftam_f_group_list_response = -1;    /* F_GROUP_LIST_response */
298 static int hf_ftam_f_group_Change_attrib_request = -1;  /* F_GROUP_CHANGE_ATTRIB_request */
299 static int hf_ftam_f_group_Change_attrib_response = -1;  /* F_GROUP_CHANGE_ATTRIB_response */
300 static int hf_ftam_f_select_another_request = -1;  /* F_SELECT_ANOTHER_request */
301 static int hf_ftam_f_select_another_response = -1;  /* F_SELECT_ANOTHER_response */
302 static int hf_ftam_f_create_directory_request = -1;  /* F_CREATE_DIRECTORY_request */
303 static int hf_ftam_f_create_directory_response = -1;  /* F_CREATE_DIRECTORY_response */
304 static int hf_ftam_f_link_request = -1;           /* F_LINK_request */
305 static int hf_ftam_f_link_response = -1;          /* F_LINK_response */
306 static int hf_ftam_f_unlink_request = -1;         /* F_UNLINK_request */
307 static int hf_ftam_f_unlink_response = -1;        /* F_UNLINK_response */
308 static int hf_ftam_f_read_link_attrib_request = -1;  /* F_READ_LINK_ATTRIB_request */
309 static int hf_ftam_f_read_link_attrib_response = -1;  /* F_READ_LINK_ATTRIB_response */
310 static int hf_ftam_f_Change_link_attrib_request = -1;  /* F_CHANGE_LINK_ATTRIB_request */
311 static int hf_ftam_f_Change_Iink_attrib_response = -1;  /* F_CHANGE_LINK_ATTRIB_response */
312 static int hf_ftam_f_move_request = -1;           /* F_MOVE_request */
313 static int hf_ftam_f_move_response = -1;          /* F_MOVE_response */
314 static int hf_ftam_f_copy_request = -1;           /* F_COPY_request */
315 static int hf_ftam_f_copy_response = -1;          /* F_COPY_response */
316 static int hf_ftam_reset = -1;                    /* BOOLEAN */
317 static int hf_ftam_destination_file_directory = -1;  /* Destination_File_Directory */
318 static int hf_ftam_attribute_value_asset_tions = -1;  /* Attribute_Value_Assertions */
319 static int hf_ftam_scope = -1;                    /* Scope */
320 static int hf_ftam_objects_attributes_list = -1;  /* Objects_Attributes_List */
321 static int hf_ftam_attribute_value_assertions = -1;  /* Attribute_Value_Assertions */
322 static int hf_ftam_maximum_set_size = -1;         /* INTEGER */
323 static int hf_ftam_request_Operation_result = -1;  /* Request_Operation_Result */
324 static int hf_ftam_operation_result = -1;         /* Operation_Result */
325 static int hf_ftam_error_action = -1;             /* Error_Action */
326 static int hf_ftam_last_member_indicator = -1;    /* BOOLEAN */
327 static int hf_ftam_shared_ASE_infonnation = -1;   /* Shared_ASE_Information */
328 static int hf_ftam_target_object = -1;            /* Pathname_Attribute */
329 static int hf_ftam_target_Object = -1;            /* Pathname_Attribute */
330 static int hf_ftam_read_link_attributes = -1;     /* Read_Attributes */
331 static int hf_ftam_Attribute_Extension_Names_item = -1;  /* Attribute_Extension_Set_Name */
332 static int hf_ftam_extension_set_identifier = -1;  /* Extension_Set_Identifier */
333 static int hf_ftam_extension_attribute_names = -1;  /* SEQUENCE_OF_Extension_Attribute_identifier */
334 static int hf_ftam_extension_attribute_names_item = -1;  /* Extension_Attribute_identifier */
335 static int hf_ftam_Attribute_Extensions_item = -1;  /* Attribute_Extension_Set */
336 static int hf_ftam_extension_set_attributes = -1;  /* SEQUENCE_OF_Extension_Attribute */
337 static int hf_ftam_extension_set_attributes_item = -1;  /* Extension_Attribute */
338 static int hf_ftam_extension_attribute_identifier = -1;  /* T_extension_attribute_identifier */
339 static int hf_ftam_extension_attribute = -1;      /* T_extension_attribute */
340 static int hf_ftam__untag_item_03 = -1;           /* T__untag_item */
341 static int hf_ftam_root_directory = -1;           /* Pathname_Attribute */
342 static int hf_ftam_retrieval_scope = -1;          /* T_retrieval_scope */
343 static int hf_ftam_OR_Set_item = -1;              /* AND_Set */
344 static int hf_ftam_AND_Set_item = -1;             /* AND_Set_item */
345 static int hf_ftam_pathname_Pattern = -1;         /* Pathname_Pattern */
346 static int hf_ftam_object_type_Pattern = -1;      /* Integer_Pattern */
347 static int hf_ftam_permitted_actions_Pattern = -1;  /* Bitstring_Pattern */
348 static int hf_ftam_contents_type_Pattern = -1;    /* Contents_Type_Pattern */
349 static int hf_ftam_linked_Object_Pattern = -1;    /* Pathname_Pattern */
350 static int hf_ftam_child_objects_Pattern = -1;    /* Pathname_Pattern */
351 static int hf_ftam_primaty_pathname_Pattern = -1;  /* Pathname_Pattern */
352 static int hf_ftam_storage_account_Pattern = -1;  /* String_Pattern */
353 static int hf_ftam_date_and_time_of_creation_Pattern = -1;  /* Date_and_Time_Pattern */
354 static int hf_ftam_date_and_time_of_last_modification_Pattern = -1;  /* Date_and_Time_Pattern */
355 static int hf_ftam_date_and_time_of_last_read_access_Pattern = -1;  /* Date_and_Time_Pattern */
356 static int hf_ftam_date_and_time_of_last_attribute_modification_Pattern = -1;  /* Date_and_Time_Pattern */
357 static int hf_ftam_identity_of_creator_Pattern = -1;  /* User_Identity_Pattern */
358 static int hf_ftam_identity_of_last_modifier_Pattern = -1;  /* User_Identity_Pattern */
359 static int hf_ftam_identity_of_last_reader_Pattern = -1;  /* User_Identity_Pattern */
360 static int hf_ftam_identity_of_last_attribute_modifier_Pattern = -1;  /* User_Identity_Pattern */
361 static int hf_ftam_object_availabiiity_Pattern = -1;  /* Boolean_Pattern */
362 static int hf_ftam_object_size_Pattern = -1;      /* Integer_Pattern */
363 static int hf_ftam_future_object_size_Pattern = -1;  /* Integer_Pattern */
364 static int hf_ftam_legal_quailfication_Pattern = -1;  /* String_Pattern */
365 static int hf_ftam_attribute_extensions_pattern = -1;  /* Attribute_Extensions_Pattern */
366 static int hf_ftam_equality_comparision = -1;     /* Equality_Comparision */
367 static int hf_ftam_pathname_value = -1;           /* T_pathname_value */
368 static int hf_ftam_pathname_value_item = -1;      /* T_pathname_value_item */
369 static int hf_ftam_string_match = -1;             /* String_Pattern */
370 static int hf_ftam_any_match = -1;                /* NULL */
371 static int hf_ftam_string_value = -1;             /* T_string_value */
372 static int hf_ftam_string_value_item = -1;        /* T_string_value_item */
373 static int hf_ftam_substring_match = -1;          /* GraphicString */
374 static int hf_ftam_number_of_characters_match = -1;  /* INTEGER */
375 static int hf_ftam_match_bitstring = -1;          /* BIT_STRING */
376 static int hf_ftam_significance_bitstring = -1;   /* BIT_STRING */
377 static int hf_ftam_relational_camparision = -1;   /* Equality_Comparision */
378 static int hf_ftam_time_and_date_value = -1;      /* GeneralizedTime */
379 static int hf_ftam_relational_comparision = -1;   /* Relational_Comparision */
380 static int hf_ftam_integer_value = -1;            /* INTEGER */
381 static int hf_ftam_object_identifier_value = -1;  /* OBJECT_IDENTIFIER */
382 static int hf_ftam_boolean_value = -1;            /* BOOLEAN */
383 static int hf_ftam_document_type_Pattern = -1;    /* Object_Identifier_Pattern */
384 static int hf_ftam_constraint_set_abstract_Syntax_Pattern = -1;  /* T_constraint_set_abstract_Syntax_Pattern */
385 static int hf_ftam_constraint_Set_Pattern = -1;   /* Object_Identifier_Pattern */
386 static int hf_ftam_abstract_Syntax_Pattern = -1;  /* Object_Identifier_Pattern */
387 static int hf_ftam_Attribute_Extensions_Pattern_item = -1;  /* Attribute_Extensions_Pattern_item */
388 static int hf_ftam_extension_set_attribute_Patterns = -1;  /* T_extension_set_attribute_Patterns */
389 static int hf_ftam_extension_set_attribute_Patterns_item = -1;  /* T_extension_set_attribute_Patterns_item */
390 static int hf_ftam_attribute_extension_attribute_identifier = -1;  /* T_attribute_extension_attribute_identifier */
391 static int hf_ftam_extension_attribute_Pattern = -1;  /* T_extension_attribute_Pattern */
392 static int hf_ftam__untag_item_04 = -1;           /* Read_Attributes */
393 static int hf_ftam_success_Object_count = -1;     /* INTEGER */
394 static int hf_ftam_success_Object_names = -1;     /* SEQUENCE_OF_Pathname */
395 static int hf_ftam_success_Object_names_item = -1;  /* Pathname */
396 static int hf_ftam_Pathname_item = -1;            /* GraphicString */
397 static int hf_ftam_Pass_Passwords_item = -1;      /* Password */
398 static int hf_ftam__untag_item_05 = -1;           /* Path_Access_Passwords_item */
399 static int hf_ftam_ap = -1;                       /* AP_title */
400 static int hf_ftam_ae = -1;                       /* AE_qualifier */
401 /* named bits */
402 static int hf_ftam_Protocol_Version_U_version_1 = -1;
403 static int hf_ftam_Protocol_Version_U_version_2 = -1;
404 static int hf_ftam_Service_Class_U_unconstrained_class = -1;
405 static int hf_ftam_Service_Class_U_management_class = -1;
406 static int hf_ftam_Service_Class_U_transfer_class = -1;
407 static int hf_ftam_Service_Class_U_transfer_and_management_class = -1;
408 static int hf_ftam_Service_Class_U_access_class = -1;
409 static int hf_ftam_Functional_Units_U_read = -1;
410 static int hf_ftam_Functional_Units_U_write = -1;
411 static int hf_ftam_Functional_Units_U_file_access = -1;
412 static int hf_ftam_Functional_Units_U_limited_file_management = -1;
413 static int hf_ftam_Functional_Units_U_enhanced_file_management = -1;
414 static int hf_ftam_Functional_Units_U_grouping = -1;
415 static int hf_ftam_Functional_Units_U_fadu_locking = -1;
416 static int hf_ftam_Functional_Units_U_recovery = -1;
417 static int hf_ftam_Functional_Units_U_restart_data_transfer = -1;
418 static int hf_ftam_Functional_Units_U_limited_filestore_management = -1;
419 static int hf_ftam_Functional_Units_U_enhanced_filestore_management = -1;
420 static int hf_ftam_Functional_Units_U_object_manipulation = -1;
421 static int hf_ftam_Functional_Units_U_group_manipulation = -1;
422 static int hf_ftam_Functional_Units_U_consecutive_access = -1;
423 static int hf_ftam_Functional_Units_U_concurrent_access = -1;
424 static int hf_ftam_Attribute_Groups_U_storage = -1;
425 static int hf_ftam_Attribute_Groups_U_security = -1;
426 static int hf_ftam_Attribute_Groups_U_private = -1;
427 static int hf_ftam_Attribute_Groups_U_extension = -1;
428 static int hf_ftam_T_processing_mode_f_read = -1;
429 static int hf_ftam_T_processing_mode_f_insert = -1;
430 static int hf_ftam_T_processing_mode_f_replace = -1;
431 static int hf_ftam_T_processing_mode_f_extend = -1;
432 static int hf_ftam_T_processing_mode_f_erase = -1;
433 static int hf_ftam_Access_Request_U_read = -1;
434 static int hf_ftam_Access_Request_U_insert = -1;
435 static int hf_ftam_Access_Request_U_replace = -1;
436 static int hf_ftam_Access_Request_U_extend = -1;
437 static int hf_ftam_Access_Request_U_erase = -1;
438 static int hf_ftam_Access_Request_U_read_attribute = -1;
439 static int hf_ftam_Access_Request_U_change_attribute = -1;
440 static int hf_ftam_Access_Request_U_delete_Object = -1;
441 static int hf_ftam_Concurrency_Key_not_required = -1;
442 static int hf_ftam_Concurrency_Key_shared = -1;
443 static int hf_ftam_Concurrency_Key_exclusive = -1;
444 static int hf_ftam_Concurrency_Key_no_access = -1;
445 static int hf_ftam_Permitted_Actions_Attribute_read = -1;
446 static int hf_ftam_Permitted_Actions_Attribute_insert = -1;
447 static int hf_ftam_Permitted_Actions_Attribute_replace = -1;
448 static int hf_ftam_Permitted_Actions_Attribute_extend = -1;
449 static int hf_ftam_Permitted_Actions_Attribute_erase = -1;
450 static int hf_ftam_Permitted_Actions_Attribute_read_attribute = -1;
451 static int hf_ftam_Permitted_Actions_Attribute_change_attribute = -1;
452 static int hf_ftam_Permitted_Actions_Attribute_delete_Object = -1;
453 static int hf_ftam_Permitted_Actions_Attribute_pass = -1;
454 static int hf_ftam_Permitted_Actions_Attribute_link = -1;
455 static int hf_ftam_Permitted_Actions_Attribute_traversal = -1;
456 static int hf_ftam_Permitted_Actions_Attribute_reverse_traversal = -1;
457 static int hf_ftam_Permitted_Actions_Attribute_random_Order = -1;
458 static int hf_ftam_Equality_Comparision_no_value_available_matches = -1;
459 static int hf_ftam_Equality_Comparision_equals_matches = -1;
460 static int hf_ftam_Relational_Comparision_no_value_available_matches = -1;
461 static int hf_ftam_Relational_Comparision_equals_matches = -1;
462 static int hf_ftam_Relational_Comparision_less_than_matches = -1;
463 static int hf_ftam_Relational_Comparision_greater_than_matches = -1;
464 static int hf_ftam_Attribute_Names_read_pathname = -1;
465 static int hf_ftam_Attribute_Names_read_Object_type = -1;
466 static int hf_ftam_Attribute_Names_read_permitted_actions = -1;
467 static int hf_ftam_Attribute_Names_read_contents_type = -1;
468 static int hf_ftam_Attribute_Names_read_linked_Object = -1;
469 static int hf_ftam_Attribute_Names_read_Child_objects = -1;
470 static int hf_ftam_Attribute_Names_read_primary_pathname = -1;
471 static int hf_ftam_Attribute_Names_read_storage_account = -1;
472 static int hf_ftam_Attribute_Names_read_date_and_time_of_creation = -1;
473 static int hf_ftam_Attribute_Names_read_date_and_time_of_last_modification = -1;
474 static int hf_ftam_Attribute_Names_read_date_and_time_of_last_read_access = -1;
475 static int hf_ftam_Attribute_Names_read_date_and_time_of_last_attribute_modification = -1;
476 static int hf_ftam_Attribute_Names_read_identity_of_creator = -1;
477 static int hf_ftam_Attribute_Names_read_identity_of_last_modifier = -1;
478 static int hf_ftam_Attribute_Names_read_identity_of_last_reader = -1;
479 static int hf_ftam_Attribute_Names_read_identity_of_last_attribute_modifier = -1;
480 static int hf_ftam_Attribute_Names_read_Object_availability = -1;
481 static int hf_ftam_Attribute_Names_read_Object_size = -1;
482 static int hf_ftam_Attribute_Names_read_future_Object_size = -1;
483 static int hf_ftam_Attribute_Names_read_access_control = -1;
484 static int hf_ftam_Attribute_Names_read_path_access_control = -1;
485 static int hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS = -1;
486 static int hf_ftam_Attribute_Names_read_private_use = -1;
487
488 /*--- End of included file: packet-ftam-hf.c ---*/
489 #line 62 "packet-ftam-template.c"
490
491 /* Initialize the subtree pointers */
492 static gint ett_ftam = -1;
493
494 /*--- Included file: packet-ftam-ett.c ---*/
495 #line 1 "packet-ftam-ett.c"
496 static gint ett_ftam_PDU = -1;
497 static gint ett_ftam_FTAM_Regime_PDU = -1;
498 static gint ett_ftam_F_INITIALIZE_request = -1;
499 static gint ett_ftam_F_INITIALIZE_response = -1;
500 static gint ett_ftam_Protocol_Version_U = -1;
501 static gint ett_ftam_Service_Class_U = -1;
502 static gint ett_ftam_Functional_Units_U = -1;
503 static gint ett_ftam_Attribute_Groups_U = -1;
504 static gint ett_ftam_Contents_Type_List_U = -1;
505 static gint ett_ftam_Contents_Type_List_item = -1;
506 static gint ett_ftam_F_TERMINATE_request = -1;
507 static gint ett_ftam_F_TERMINATE_response = -1;
508 static gint ett_ftam_F_U_ABORT_request = -1;
509 static gint ett_ftam_F_P_ABORT_request = -1;
510 static gint ett_ftam_File_PDU = -1;
511 static gint ett_ftam_F_SELECT_request = -1;
512 static gint ett_ftam_F_SELECT_response = -1;
513 static gint ett_ftam_F_DESELECT_request = -1;
514 static gint ett_ftam_F_DESELECT_response = -1;
515 static gint ett_ftam_F_CREATE_request = -1;
516 static gint ett_ftam_F_CREATE_response = -1;
517 static gint ett_ftam_F_DELETE_request = -1;
518 static gint ett_ftam_F_DELETE_response = -1;
519 static gint ett_ftam_F_READ_ATTRIB_request = -1;
520 static gint ett_ftam_F_READ_ATTRIB_response = -1;
521 static gint ett_ftam_F_CHANGE_ATTRIB_request = -1;
522 static gint ett_ftam_F_CHANGE_ATTRIB_response = -1;
523 static gint ett_ftam_F_OPEN_request = -1;
524 static gint ett_ftam_T_processing_mode = -1;
525 static gint ett_ftam_T_open_contents_type = -1;
526 static gint ett_ftam_SET_OF_Abstract_Syntax_Name = -1;
527 static gint ett_ftam_F_OPEN_response = -1;
528 static gint ett_ftam_F_CLOSE_request = -1;
529 static gint ett_ftam_F_CLOSE_response = -1;
530 static gint ett_ftam_F_BEGIN_GROUP_request = -1;
531 static gint ett_ftam_F_BEGIN_GROUP_response = -1;
532 static gint ett_ftam_F_END_GROUP_request = -1;
533 static gint ett_ftam_F_END_GROUP_response = -1;
534 static gint ett_ftam_F_RECOVER_request = -1;
535 static gint ett_ftam_F_RECOVER_response = -1;
536 static gint ett_ftam_F_LOCATE_request = -1;
537 static gint ett_ftam_F_LOCATE_response = -1;
538 static gint ett_ftam_F_ERASE_request = -1;
539 static gint ett_ftam_F_ERASE_response = -1;
540 static gint ett_ftam_Bulk_Data_PDU = -1;
541 static gint ett_ftam_F_READ_request = -1;
542 static gint ett_ftam_F_WRITE_request = -1;
543 static gint ett_ftam_F_DATA_END_request = -1;
544 static gint ett_ftam_F_TRANSFER_END_request = -1;
545 static gint ett_ftam_F_TRANSFER_END_response = -1;
546 static gint ett_ftam_F_CANCEL_request = -1;
547 static gint ett_ftam_F_CANCEL_response = -1;
548 static gint ett_ftam_F_RESTART_request = -1;
549 static gint ett_ftam_F_RESTART_response = -1;
550 static gint ett_ftam_Access_Context_U = -1;
551 static gint ett_ftam_Access_Passwords_U = -1;
552 static gint ett_ftam_Access_Request_U = -1;
553 static gint ett_ftam_Change_Attributes_U = -1;
554 static gint ett_ftam_Charging_U = -1;
555 static gint ett_ftam_Charging_item = -1;
556 static gint ett_ftam_Concurrency_Control_U = -1;
557 static gint ett_ftam_Create_Attributes_U = -1;
558 static gint ett_ftam_Diagnostic_U = -1;
559 static gint ett_ftam_Diagnostic_item = -1;
560 static gint ett_ftam_FADU_Identity_U = -1;
561 static gint ett_ftam_SEQUENCE_OF_Node_Name = -1;
562 static gint ett_ftam_Password_U = -1;
563 static gint ett_ftam_Read_Attributes_U = -1;
564 static gint ett_ftam_Select_Attributes_U = -1;
565 static gint ett_ftam_Access_Control_Attribute = -1;
566 static gint ett_ftam_SET_OF_Access_Control_Element = -1;
567 static gint ett_ftam_Access_Control_Change_Attribute = -1;
568 static gint ett_ftam_T_actual_values1 = -1;
569 static gint ett_ftam_Access_Control_Element = -1;
570 static gint ett_ftam_Concurrency_Access = -1;
571 static gint ett_ftam_Concurrency_Key = -1;
572 static gint ett_ftam_Account_Attribute = -1;
573 static gint ett_ftam_Contents_Type_Attribute = -1;
574 static gint ett_ftam_T_document_type = -1;
575 static gint ett_ftam_T_constraint_set_and_abstract_Syntax = -1;
576 static gint ett_ftam_Date_and_Time_Attribute = -1;
577 static gint ett_ftam_Object_Availability_Attribute = -1;
578 static gint ett_ftam_Pathname_Attribute = -1;
579 static gint ett_ftam_Object_Size_Attribute = -1;
580 static gint ett_ftam_Legal_Qualification_Attribute = -1;
581 static gint ett_ftam_Permitted_Actions_Attribute = -1;
582 static gint ett_ftam_Private_Use_Attribute = -1;
583 static gint ett_ftam_User_Identity_Attribute = -1;
584 static gint ett_ftam_Child_Objects_Attribute = -1;
585 static gint ett_ftam_FSM_PDU = -1;
586 static gint ett_ftam_F_CHANGE_PREFIX_request = -1;
587 static gint ett_ftam_F_CHANGE_PREFIX_response = -1;
588 static gint ett_ftam_F_LIST_request = -1;
589 static gint ett_ftam_F_LIST_response = -1;
590 static gint ett_ftam_F_GROUP_SELECT_request = -1;
591 static gint ett_ftam_F_GROUP_SELECT_response = -1;
592 static gint ett_ftam_F_GROUP_DELETE_request = -1;
593 static gint ett_ftam_F_GROUP_DELETE_response = -1;
594 static gint ett_ftam_F_GROUP_MOVE_request = -1;
595 static gint ett_ftam_F_GROUP_MOVE_response = -1;
596 static gint ett_ftam_F_GROUP_COPY_request = -1;
597 static gint ett_ftam_F_GROUP_COPY_response = -1;
598 static gint ett_ftam_F_GROUP_LIST_request = -1;
599 static gint ett_ftam_F_GROUP_LIST_response = -1;
600 static gint ett_ftam_F_GROUP_CHANGE_ATTRIB_request = -1;
601 static gint ett_ftam_F_GROUP_CHANGE_ATTRIB_response = -1;
602 static gint ett_ftam_F_SELECT_ANOTHER_request = -1;
603 static gint ett_ftam_F_SELECT_ANOTHER_response = -1;
604 static gint ett_ftam_F_CREATE_DIRECTORY_request = -1;
605 static gint ett_ftam_F_CREATE_DIRECTORY_response = -1;
606 static gint ett_ftam_F_LINK_request = -1;
607 static gint ett_ftam_F_LINK_response = -1;
608 static gint ett_ftam_F_UNLINK_request = -1;
609 static gint ett_ftam_F_UNLINK_response = -1;
610 static gint ett_ftam_F_READ_LINK_ATTRIB_request = -1;
611 static gint ett_ftam_F_READ_LINK_ATTRIB_response = -1;
612 static gint ett_ftam_F_CHANGE_LINK_ATTRIB_request = -1;
613 static gint ett_ftam_F_CHANGE_LINK_ATTRIB_response = -1;
614 static gint ett_ftam_F_MOVE_request = -1;
615 static gint ett_ftam_F_MOVE_response = -1;
616 static gint ett_ftam_F_COPY_request = -1;
617 static gint ett_ftam_F_COPY_response = -1;
618 static gint ett_ftam_Attribute_Extension_Names = -1;
619 static gint ett_ftam_Attribute_Extension_Set_Name = -1;
620 static gint ett_ftam_SEQUENCE_OF_Extension_Attribute_identifier = -1;
621 static gint ett_ftam_Attribute_Extensions = -1;
622 static gint ett_ftam_Attribute_Extension_Set = -1;
623 static gint ett_ftam_SEQUENCE_OF_Extension_Attribute = -1;
624 static gint ett_ftam_Extension_Attribute = -1;
625 static gint ett_ftam_Scope_U = -1;
626 static gint ett_ftam_T__untag_item = -1;
627 static gint ett_ftam_OR_Set = -1;
628 static gint ett_ftam_AND_Set = -1;
629 static gint ett_ftam_AND_Set_item = -1;
630 static gint ett_ftam_Equality_Comparision = -1;
631 static gint ett_ftam_Relational_Comparision = -1;
632 static gint ett_ftam_Pathname_Pattern = -1;
633 static gint ett_ftam_T_pathname_value = -1;
634 static gint ett_ftam_T_pathname_value_item = -1;
635 static gint ett_ftam_String_Pattern = -1;
636 static gint ett_ftam_T_string_value = -1;
637 static gint ett_ftam_T_string_value_item = -1;
638 static gint ett_ftam_Bitstring_Pattern = -1;
639 static gint ett_ftam_Date_and_Time_Pattern = -1;
640 static gint ett_ftam_Integer_Pattern = -1;
641 static gint ett_ftam_Object_Identifier_Pattern = -1;
642 static gint ett_ftam_Boolean_Pattern = -1;
643 static gint ett_ftam_Contents_Type_Pattern = -1;
644 static gint ett_ftam_T_constraint_set_abstract_Syntax_Pattern = -1;
645 static gint ett_ftam_Attribute_Extensions_Pattern = -1;
646 static gint ett_ftam_Attribute_Extensions_Pattern_item = -1;
647 static gint ett_ftam_T_extension_set_attribute_Patterns = -1;
648 static gint ett_ftam_T_extension_set_attribute_Patterns_item = -1;
649 static gint ett_ftam_SEQUENCE_OF_Read_Attributes = -1;
650 static gint ett_ftam_Operation_Result_U = -1;
651 static gint ett_ftam_SEQUENCE_OF_Pathname = -1;
652 static gint ett_ftam_Pathname = -1;
653 static gint ett_ftam_Pass_Passwords = -1;
654 static gint ett_ftam_Path_Access_Passwords_U = -1;
655 static gint ett_ftam_Path_Access_Passwords_item = -1;
656 static gint ett_ftam_Attribute_Names = -1;
657 static gint ett_ftam_AE_title = -1;
658
659 /*--- End of included file: packet-ftam-ett.c ---*/
660 #line 66 "packet-ftam-template.c"
661
662
663 /*--- Included file: packet-ftam-fn.c ---*/
664 #line 1 "packet-ftam-fn.c"
665
666 static const asn_namedbit Protocol_Version_U_bits[] = {
667   {  0, &hf_ftam_Protocol_Version_U_version_1, -1, -1, "version-1", NULL },
668   {  1, &hf_ftam_Protocol_Version_U_version_2, -1, -1, "version-2", NULL },
669   { 0, NULL, 0, 0, NULL, NULL }
670 };
671
672 static int
673 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_) {
674   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
675                                     Protocol_Version_U_bits, hf_index, ett_ftam_Protocol_Version_U,
676                                     NULL);
677
678   return offset;
679 }
680
681
682
683 static int
684 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_) {
685   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
686                                       hf_index, BER_CLASS_CON, 0, TRUE, dissect_ftam_Protocol_Version_U);
687
688   return offset;
689 }
690
691
692
693 static int
694 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_) {
695   offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
696                                             actx, tree, tvb, offset, hf_index,
697                                             NULL);
698
699   return offset;
700 }
701
702
703
704 static int
705 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_) {
706   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
707                                       hf_index, BER_CLASS_CON, 1, TRUE, dissect_ftam_GraphicString);
708
709   return offset;
710 }
711
712
713
714 static int
715 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_) {
716   offset = dissect_ber_boolean(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
717
718   return offset;
719 }
720
721
722 static const asn_namedbit Service_Class_U_bits[] = {
723   {  0, &hf_ftam_Service_Class_U_unconstrained_class, -1, -1, "unconstrained-class", NULL },
724   {  1, &hf_ftam_Service_Class_U_management_class, -1, -1, "management-class", NULL },
725   {  2, &hf_ftam_Service_Class_U_transfer_class, -1, -1, "transfer-class", NULL },
726   {  3, &hf_ftam_Service_Class_U_transfer_and_management_class, -1, -1, "transfer-and-management-class", NULL },
727   {  4, &hf_ftam_Service_Class_U_access_class, -1, -1, "access-class", NULL },
728   { 0, NULL, 0, 0, NULL, NULL }
729 };
730
731 static int
732 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_) {
733   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
734                                     Service_Class_U_bits, hf_index, ett_ftam_Service_Class_U,
735                                     NULL);
736
737   return offset;
738 }
739
740
741
742 static int
743 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_) {
744   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
745                                       hf_index, BER_CLASS_CON, 3, TRUE, dissect_ftam_Service_Class_U);
746
747   return offset;
748 }
749
750
751 static const asn_namedbit Functional_Units_U_bits[] = {
752   {  2, &hf_ftam_Functional_Units_U_read, -1, -1, "read", NULL },
753   {  3, &hf_ftam_Functional_Units_U_write, -1, -1, "write", NULL },
754   {  4, &hf_ftam_Functional_Units_U_file_access, -1, -1, "file-access", NULL },
755   {  5, &hf_ftam_Functional_Units_U_limited_file_management, -1, -1, "limited-file-management", NULL },
756   {  6, &hf_ftam_Functional_Units_U_enhanced_file_management, -1, -1, "enhanced-file-management", NULL },
757   {  7, &hf_ftam_Functional_Units_U_grouping, -1, -1, "grouping", NULL },
758   {  8, &hf_ftam_Functional_Units_U_fadu_locking, -1, -1, "fadu-locking", NULL },
759   {  9, &hf_ftam_Functional_Units_U_recovery, -1, -1, "recovery", NULL },
760   { 10, &hf_ftam_Functional_Units_U_restart_data_transfer, -1, -1, "restart-data-transfer", NULL },
761   { 11, &hf_ftam_Functional_Units_U_limited_filestore_management, -1, -1, "limited-filestore-management", NULL },
762   { 12, &hf_ftam_Functional_Units_U_enhanced_filestore_management, -1, -1, "enhanced-filestore-management", NULL },
763   { 13, &hf_ftam_Functional_Units_U_object_manipulation, -1, -1, "object-manipulation", NULL },
764   { 14, &hf_ftam_Functional_Units_U_group_manipulation, -1, -1, "group-manipulation", NULL },
765   { 15, &hf_ftam_Functional_Units_U_consecutive_access, -1, -1, "consecutive-access", NULL },
766   { 16, &hf_ftam_Functional_Units_U_concurrent_access, -1, -1, "concurrent-access", NULL },
767   { 0, NULL, 0, 0, NULL, NULL }
768 };
769
770 static int
771 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_) {
772   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
773                                     Functional_Units_U_bits, hf_index, ett_ftam_Functional_Units_U,
774                                     NULL);
775
776   return offset;
777 }
778
779
780
781 static int
782 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_) {
783   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
784                                       hf_index, BER_CLASS_CON, 4, TRUE, dissect_ftam_Functional_Units_U);
785
786   return offset;
787 }
788
789
790 static const asn_namedbit Attribute_Groups_U_bits[] = {
791   {  0, &hf_ftam_Attribute_Groups_U_storage, -1, -1, "storage", NULL },
792   {  1, &hf_ftam_Attribute_Groups_U_security, -1, -1, "security", NULL },
793   {  2, &hf_ftam_Attribute_Groups_U_private, -1, -1, "private", NULL },
794   {  3, &hf_ftam_Attribute_Groups_U_extension, -1, -1, "extension", NULL },
795   { 0, NULL, 0, 0, NULL, NULL }
796 };
797
798 static int
799 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_) {
800   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
801                                     Attribute_Groups_U_bits, hf_index, ett_ftam_Attribute_Groups_U,
802                                     NULL);
803
804   return offset;
805 }
806
807
808
809 static int
810 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_) {
811   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
812                                       hf_index, BER_CLASS_CON, 5, TRUE, dissect_ftam_Attribute_Groups_U);
813
814   return offset;
815 }
816
817
818
819 static int
820 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_) {
821   offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
822
823   return offset;
824 }
825
826
827
828 static int
829 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_) {
830   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
831                                       hf_index, BER_CLASS_APP, 20, TRUE, dissect_ftam_EXTERNAL);
832
833   return offset;
834 }
835
836
837 static const value_string ftam_FTAM_Quality_of_Service_U_vals[] = {
838   {   0, "no-recovery" },
839   {   1, "class-1-recovery" },
840   {   2, "class-2-recovery" },
841   {   3, "class-3-recovery" },
842   { 0, NULL }
843 };
844
845
846 static int
847 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_) {
848   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
849                                                 NULL);
850
851   return offset;
852 }
853
854
855
856 static int
857 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_) {
858   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
859                                       hf_index, BER_CLASS_CON, 6, TRUE, dissect_ftam_FTAM_Quality_of_Service_U);
860
861   return offset;
862 }
863
864
865
866 static int
867 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_) {
868   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
869
870   return offset;
871 }
872
873
874
875 static int
876 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_) {
877   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
878                                       hf_index, BER_CLASS_APP, 14, TRUE, dissect_ftam_OBJECT_IDENTIFIER);
879
880   return offset;
881 }
882
883
884
885 static int
886 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_) {
887   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
888                                       hf_index, BER_CLASS_APP, 0, TRUE, dissect_ftam_OBJECT_IDENTIFIER);
889
890   return offset;
891 }
892
893
894 static const value_string ftam_Contents_Type_List_item_vals[] = {
895   {  14, "document-type-name" },
896   {   0, "abstract-Syntax-name" },
897   { 0, NULL }
898 };
899
900 static const ber_choice_t Contents_Type_List_item_choice[] = {
901   {  14, &hf_ftam_document_type_name, BER_CLASS_APP, 14, BER_FLAGS_NOOWNTAG, dissect_ftam_Document_Type_Name },
902   {   0, &hf_ftam_abstract_Syntax_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_Abstract_Syntax_Name },
903   { 0, NULL, 0, 0, 0, NULL }
904 };
905
906 static int
907 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_) {
908   offset = dissect_ber_choice(actx, tree, tvb, offset,
909                                  Contents_Type_List_item_choice, hf_index, ett_ftam_Contents_Type_List_item,
910                                  NULL);
911
912   return offset;
913 }
914
915
916 static const ber_sequence_t Contents_Type_List_U_sequence_of[1] = {
917   { &hf_ftam__untag_item    , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_List_item },
918 };
919
920 static int
921 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_) {
922   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
923                                       Contents_Type_List_U_sequence_of, hf_index, ett_ftam_Contents_Type_List_U);
924
925   return offset;
926 }
927
928
929
930 static int
931 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_) {
932   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
933                                       hf_index, BER_CLASS_CON, 7, TRUE, dissect_ftam_Contents_Type_List_U);
934
935   return offset;
936 }
937
938
939
940 static int
941 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_) {
942   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
943                                       hf_index, BER_CLASS_APP, 22, TRUE, dissect_ftam_GraphicString);
944
945   return offset;
946 }
947
948
949
950 static int
951 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_) {
952   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
953                                       hf_index, BER_CLASS_APP, 4, TRUE, dissect_ftam_GraphicString);
954
955   return offset;
956 }
957
958
959
960 static int
961 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_) {
962   offset = dissect_ber_octet_string(implicit_tag, actx, tree, tvb, offset, hf_index,
963                                        NULL);
964
965   return offset;
966 }
967
968
969 static const value_string ftam_Password_U_vals[] = {
970   {   0, "graphicString" },
971   {   1, "octetString" },
972   { 0, NULL }
973 };
974
975 static const ber_choice_t Password_U_choice[] = {
976   {   0, &hf_ftam_graphicString  , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftam_GraphicString },
977   {   1, &hf_ftam_octetString    , BER_CLASS_UNI, BER_UNI_TAG_OCTETSTRING, BER_FLAGS_NOOWNTAG, dissect_ftam_OCTET_STRING },
978   { 0, NULL, 0, 0, 0, NULL }
979 };
980
981 static int
982 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_) {
983   offset = dissect_ber_choice(actx, tree, tvb, offset,
984                                  Password_U_choice, hf_index, ett_ftam_Password_U,
985                                  NULL);
986
987   return offset;
988 }
989
990
991
992 static int
993 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_) {
994   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
995                                       hf_index, BER_CLASS_APP, 17, FALSE, dissect_ftam_Password_U);
996
997   return offset;
998 }
999
1000
1001
1002 static int
1003 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_) {
1004   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1005                                                 NULL);
1006
1007   return offset;
1008 }
1009
1010
1011 static const ber_sequence_t F_INITIALIZE_request_sequence[] = {
1012   { &hf_ftam_protocol_Version, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Protocol_Version },
1013   { &hf_ftam_implementation_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Implementation_Information },
1014   { &hf_ftam_presentation_tontext_management, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
1015   { &hf_ftam_service_class  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Service_Class },
1016   { &hf_ftam_functional_units, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_ftam_Functional_Units },
1017   { &hf_ftam_attribute_groups, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Groups },
1018   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1019   { &hf_ftam_ftam_quality_of_Service, BER_CLASS_CON, 6, BER_FLAGS_NOOWNTAG, dissect_ftam_FTAM_Quality_of_Service },
1020   { &hf_ftam_contents_type_list, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Contents_Type_List },
1021   { &hf_ftam_initiator_identity, BER_CLASS_APP, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_User_Identity },
1022   { &hf_ftam_account        , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
1023   { &hf_ftam_filestore_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
1024   { &hf_ftam_checkpoint_window, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1025   { NULL, 0, 0, 0, NULL }
1026 };
1027
1028 static int
1029 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_) {
1030   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1031                                    F_INITIALIZE_request_sequence, hf_index, ett_ftam_F_INITIALIZE_request);
1032
1033   return offset;
1034 }
1035
1036
1037 static const value_string ftam_State_Result_U_vals[] = {
1038   {   0, "success" },
1039   {   1, "failure" },
1040   { 0, NULL }
1041 };
1042
1043
1044 static int
1045 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_) {
1046   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1047                                                 NULL);
1048
1049   return offset;
1050 }
1051
1052
1053
1054 static int
1055 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_) {
1056   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1057                                       hf_index, BER_CLASS_APP, 21, TRUE, dissect_ftam_State_Result_U);
1058
1059   return offset;
1060 }
1061
1062
1063 static const value_string ftam_Action_Result_U_vals[] = {
1064   {   0, "success" },
1065   {   1, "transient-error" },
1066   {   2, "permanent-error" },
1067   { 0, NULL }
1068 };
1069
1070
1071 static int
1072 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_) {
1073   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1074                                                 NULL);
1075
1076   return offset;
1077 }
1078
1079
1080
1081 static int
1082 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_) {
1083   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1084                                       hf_index, BER_CLASS_APP, 5, TRUE, dissect_ftam_Action_Result_U);
1085
1086   return offset;
1087 }
1088
1089
1090 static const value_string ftam_T_diagnostic_type_vals[] = {
1091   {   0, "informative" },
1092   {   1, "transient" },
1093   {   2, "permanent" },
1094   { 0, NULL }
1095 };
1096
1097
1098 static int
1099 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_) {
1100   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1101                                                 NULL);
1102
1103   return offset;
1104 }
1105
1106
1107 static const value_string ftam_Entity_Reference_vals[] = {
1108   {   0, "no-categorization-possible" },
1109   {   1, "initiating-file-service-user" },
1110   {   2, "initiating-file-protocol-machine" },
1111   {   3, "service-supporting-the-file-protocol-machine" },
1112   {   4, "responding-file-protocol-machine" },
1113   {   5, "responding-file-service-user" },
1114   { 0, NULL }
1115 };
1116
1117
1118 static int
1119 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_) {
1120   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1121                                                 NULL);
1122
1123   return offset;
1124 }
1125
1126
1127 static const ber_sequence_t Diagnostic_item_sequence[] = {
1128   { &hf_ftam_diagnostic_type, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_diagnostic_type },
1129   { &hf_ftam_error_identifier, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1130   { &hf_ftam_error_observer , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_Entity_Reference },
1131   { &hf_ftam_error_Source   , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_Entity_Reference },
1132   { &hf_ftam_suggested_delay, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1133   { &hf_ftam_further_details, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
1134   { NULL, 0, 0, 0, NULL }
1135 };
1136
1137 static int
1138 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_) {
1139   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1140                                    Diagnostic_item_sequence, hf_index, ett_ftam_Diagnostic_item);
1141
1142   return offset;
1143 }
1144
1145
1146 static const ber_sequence_t Diagnostic_U_sequence_of[1] = {
1147   { &hf_ftam__untag_item_02 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic_item },
1148 };
1149
1150 static int
1151 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_) {
1152   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1153                                       Diagnostic_U_sequence_of, hf_index, ett_ftam_Diagnostic_U);
1154
1155   return offset;
1156 }
1157
1158
1159
1160 static int
1161 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_) {
1162   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1163                                       hf_index, BER_CLASS_APP, 13, TRUE, dissect_ftam_Diagnostic_U);
1164
1165   return offset;
1166 }
1167
1168
1169 static const ber_sequence_t F_INITIALIZE_response_sequence[] = {
1170   { &hf_ftam_state_result   , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
1171   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1172   { &hf_ftam_protocol_Version, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Protocol_Version },
1173   { &hf_ftam_implementation_information, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Implementation_Information },
1174   { &hf_ftam_presentation_tontext_management, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
1175   { &hf_ftam_service_class  , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Service_Class },
1176   { &hf_ftam_functional_units, BER_CLASS_CON, 4, BER_FLAGS_NOOWNTAG, dissect_ftam_Functional_Units },
1177   { &hf_ftam_attribute_groups, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Groups },
1178   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1179   { &hf_ftam_ftam_quality_of_Service, BER_CLASS_CON, 6, BER_FLAGS_NOOWNTAG, dissect_ftam_FTAM_Quality_of_Service },
1180   { &hf_ftam_contents_type_list, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Contents_Type_List },
1181   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1182   { &hf_ftam_checkpoint_window, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1183   { NULL, 0, 0, 0, NULL }
1184 };
1185
1186 static int
1187 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_) {
1188   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1189                                    F_INITIALIZE_response_sequence, hf_index, ett_ftam_F_INITIALIZE_response);
1190
1191   return offset;
1192 }
1193
1194
1195 static const ber_sequence_t F_TERMINATE_request_sequence[] = {
1196   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1197   { NULL, 0, 0, 0, NULL }
1198 };
1199
1200 static int
1201 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_) {
1202   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1203                                    F_TERMINATE_request_sequence, hf_index, ett_ftam_F_TERMINATE_request);
1204
1205   return offset;
1206 }
1207
1208
1209 static const ber_sequence_t Charging_item_sequence[] = {
1210   { &hf_ftam_resource_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
1211   { &hf_ftam_charging_unit  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
1212   { &hf_ftam_charging_value , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1213   { NULL, 0, 0, 0, NULL }
1214 };
1215
1216 static int
1217 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_) {
1218   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1219                                    Charging_item_sequence, hf_index, ett_ftam_Charging_item);
1220
1221   return offset;
1222 }
1223
1224
1225 static const ber_sequence_t Charging_U_sequence_of[1] = {
1226   { &hf_ftam__untag_item_01 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Charging_item },
1227 };
1228
1229 static int
1230 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_) {
1231   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1232                                       Charging_U_sequence_of, hf_index, ett_ftam_Charging_U);
1233
1234   return offset;
1235 }
1236
1237
1238
1239 static int
1240 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_) {
1241   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1242                                       hf_index, BER_CLASS_APP, 9, TRUE, dissect_ftam_Charging_U);
1243
1244   return offset;
1245 }
1246
1247
1248 static const ber_sequence_t F_TERMINATE_response_sequence[] = {
1249   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1250   { &hf_ftam_charging       , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
1251   { NULL, 0, 0, 0, NULL }
1252 };
1253
1254 static int
1255 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_) {
1256   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1257                                    F_TERMINATE_response_sequence, hf_index, ett_ftam_F_TERMINATE_response);
1258
1259   return offset;
1260 }
1261
1262
1263 static const ber_sequence_t F_U_ABORT_request_sequence[] = {
1264   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1265   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1266   { NULL, 0, 0, 0, NULL }
1267 };
1268
1269 static int
1270 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_) {
1271   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1272                                    F_U_ABORT_request_sequence, hf_index, ett_ftam_F_U_ABORT_request);
1273
1274   return offset;
1275 }
1276
1277
1278 static const ber_sequence_t F_P_ABORT_request_sequence[] = {
1279   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1280   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1281   { NULL, 0, 0, 0, NULL }
1282 };
1283
1284 static int
1285 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_) {
1286   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1287                                    F_P_ABORT_request_sequence, hf_index, ett_ftam_F_P_ABORT_request);
1288
1289   return offset;
1290 }
1291
1292
1293 static const value_string ftam_FTAM_Regime_PDU_vals[] = {
1294   {   0, "f-initialize-request" },
1295   {   1, "f-initialize-response" },
1296   {   2, "f-terminate-request" },
1297   {   3, "f-terminate-response" },
1298   {   4, "f-u-abort-request" },
1299   {   5, "f-p-abort-request" },
1300   { 0, NULL }
1301 };
1302
1303 static const ber_choice_t FTAM_Regime_PDU_choice[] = {
1304   {   0, &hf_ftam_f_initialize_request, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_F_INITIALIZE_request },
1305   {   1, &hf_ftam_f_initialize_response, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_F_INITIALIZE_response },
1306   {   2, &hf_ftam_f_terminate_request, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_F_TERMINATE_request },
1307   {   3, &hf_ftam_f_terminate_response, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_F_TERMINATE_response },
1308   {   4, &hf_ftam_f_u_abort_request, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_F_U_ABORT_request },
1309   {   5, &hf_ftam_f_p_abort_request, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_F_P_ABORT_request },
1310   { 0, NULL, 0, 0, 0, NULL }
1311 };
1312
1313 static int
1314 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_) {
1315 #line 90 "ftam.cnf"
1316   gint branch_taken;
1317
1318     offset = dissect_ber_choice(actx, tree, tvb, offset,
1319                                  FTAM_Regime_PDU_choice, hf_index, ett_ftam_FTAM_Regime_PDU,
1320                                  &branch_taken);
1321
1322   
1323   if( (branch_taken!=-1) && ftam_FTAM_Regime_PDU_vals[branch_taken].strptr ){
1324         if (check_col(actx->pinfo->cinfo, COL_INFO)) {
1325                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s:", ftam_FTAM_Regime_PDU_vals[branch_taken].strptr);
1326         }
1327   }
1328
1329
1330
1331   return offset;
1332 }
1333
1334
1335 static const ber_sequence_t Pathname_sequence_of[1] = {
1336   { &hf_ftam_Pathname_item  , BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftam_GraphicString },
1337 };
1338
1339 int
1340 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_) {
1341   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1342                                       Pathname_sequence_of, hf_index, ett_ftam_Pathname);
1343
1344   return offset;
1345 }
1346
1347
1348 static const value_string ftam_Pathname_Attribute_vals[] = {
1349   {   0, "incomplete-pathname" },
1350   {   1, "complete-pathname" },
1351   { 0, NULL }
1352 };
1353
1354 static const ber_choice_t Pathname_Attribute_choice[] = {
1355   {   0, &hf_ftam_incomplete_pathname, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
1356   {   1, &hf_ftam_complete_pathname, BER_CLASS_APP, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname },
1357   { 0, NULL, 0, 0, 0, NULL }
1358 };
1359
1360 static int
1361 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_) {
1362   offset = dissect_ber_choice(actx, tree, tvb, offset,
1363                                  Pathname_Attribute_choice, hf_index, ett_ftam_Pathname_Attribute,
1364                                  NULL);
1365
1366   return offset;
1367 }
1368
1369
1370 static const ber_sequence_t Select_Attributes_U_sequence[] = {
1371   { &hf_ftam_pathname       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
1372   { NULL, 0, 0, 0, NULL }
1373 };
1374
1375 static int
1376 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_) {
1377   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1378                                    Select_Attributes_U_sequence, hf_index, ett_ftam_Select_Attributes_U);
1379
1380   return offset;
1381 }
1382
1383
1384
1385 static int
1386 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_) {
1387   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1388                                       hf_index, BER_CLASS_APP, 19, TRUE, dissect_ftam_Select_Attributes_U);
1389
1390   return offset;
1391 }
1392
1393
1394 static const asn_namedbit Access_Request_U_bits[] = {
1395   {  0, &hf_ftam_Access_Request_U_read, -1, -1, "read", NULL },
1396   {  1, &hf_ftam_Access_Request_U_insert, -1, -1, "insert", NULL },
1397   {  2, &hf_ftam_Access_Request_U_replace, -1, -1, "replace", NULL },
1398   {  3, &hf_ftam_Access_Request_U_extend, -1, -1, "extend", NULL },
1399   {  4, &hf_ftam_Access_Request_U_erase, -1, -1, "erase", NULL },
1400   {  5, &hf_ftam_Access_Request_U_read_attribute, -1, -1, "read-attribute", NULL },
1401   {  6, &hf_ftam_Access_Request_U_change_attribute, -1, -1, "change-attribute", NULL },
1402   {  7, &hf_ftam_Access_Request_U_delete_Object, -1, -1, "delete-Object", NULL },
1403   { 0, NULL, 0, 0, NULL, NULL }
1404 };
1405
1406 static int
1407 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_) {
1408   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1409                                     Access_Request_U_bits, hf_index, ett_ftam_Access_Request_U,
1410                                     NULL);
1411
1412   return offset;
1413 }
1414
1415
1416
1417 static int
1418 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_) {
1419   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1420                                       hf_index, BER_CLASS_APP, 3, TRUE, dissect_ftam_Access_Request_U);
1421
1422   return offset;
1423 }
1424
1425
1426 static const ber_sequence_t Pass_Passwords_sequence_of[1] = {
1427   { &hf_ftam_Pass_Passwords_item, BER_CLASS_APP, 17, BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
1428 };
1429
1430 static int
1431 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_) {
1432   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1433                                       Pass_Passwords_sequence_of, hf_index, ett_ftam_Pass_Passwords);
1434
1435   return offset;
1436 }
1437
1438
1439 static const ber_sequence_t Access_Passwords_U_sequence[] = {
1440   { &hf_ftam_read_password  , BER_CLASS_CON, 0, 0, dissect_ftam_Password },
1441   { &hf_ftam_insert_password, BER_CLASS_CON, 1, 0, dissect_ftam_Password },
1442   { &hf_ftam_replace_password, BER_CLASS_CON, 2, 0, dissect_ftam_Password },
1443   { &hf_ftam_extend_password, BER_CLASS_CON, 3, 0, dissect_ftam_Password },
1444   { &hf_ftam_erase_password , BER_CLASS_CON, 4, 0, dissect_ftam_Password },
1445   { &hf_ftam_read_attribute_password, BER_CLASS_CON, 5, 0, dissect_ftam_Password },
1446   { &hf_ftam_change_attribute_password, BER_CLASS_CON, 6, 0, dissect_ftam_Password },
1447   { &hf_ftam_delete_password, BER_CLASS_CON, 7, 0, dissect_ftam_Password },
1448   { &hf_ftam_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Pass_Passwords },
1449   { &hf_ftam_link_password  , BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL, dissect_ftam_Password },
1450   { NULL, 0, 0, 0, NULL }
1451 };
1452
1453 static int
1454 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_) {
1455   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1456                                    Access_Passwords_U_sequence, hf_index, ett_ftam_Access_Passwords_U);
1457
1458   return offset;
1459 }
1460
1461
1462
1463 static int
1464 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_) {
1465   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1466                                       hf_index, BER_CLASS_APP, 2, TRUE, dissect_ftam_Access_Passwords_U);
1467
1468   return offset;
1469 }
1470
1471
1472 static const ber_sequence_t Path_Access_Passwords_item_sequence[] = {
1473   { &hf_ftam_read_password  , BER_CLASS_CON, 0, 0, dissect_ftam_Password },
1474   { &hf_ftam_insert_password, BER_CLASS_CON, 1, 0, dissect_ftam_Password },
1475   { &hf_ftam_replace_password, BER_CLASS_CON, 2, 0, dissect_ftam_Password },
1476   { &hf_ftam_extend_password, BER_CLASS_CON, 3, 0, dissect_ftam_Password },
1477   { &hf_ftam_erase_password , BER_CLASS_CON, 4, 0, dissect_ftam_Password },
1478   { &hf_ftam_read_attribute_password, BER_CLASS_CON, 5, 0, dissect_ftam_Password },
1479   { &hf_ftam_change_attribute_password, BER_CLASS_CON, 6, 0, dissect_ftam_Password },
1480   { &hf_ftam_delete_password, BER_CLASS_CON, 7, 0, dissect_ftam_Password },
1481   { &hf_ftam_pass_passwords , BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ftam_Pass_Passwords },
1482   { &hf_ftam_link_password  , BER_CLASS_CON, 9, 0, dissect_ftam_Password },
1483   { NULL, 0, 0, 0, NULL }
1484 };
1485
1486 static int
1487 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_) {
1488   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1489                                    Path_Access_Passwords_item_sequence, hf_index, ett_ftam_Path_Access_Passwords_item);
1490
1491   return offset;
1492 }
1493
1494
1495 static const ber_sequence_t Path_Access_Passwords_U_sequence_of[1] = {
1496   { &hf_ftam__untag_item_05 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords_item },
1497 };
1498
1499 static int
1500 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_) {
1501   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
1502                                       Path_Access_Passwords_U_sequence_of, hf_index, ett_ftam_Path_Access_Passwords_U);
1503
1504   return offset;
1505 }
1506
1507
1508
1509 static int
1510 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_) {
1511   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1512                                       hf_index, BER_CLASS_APP, 27, TRUE, dissect_ftam_Path_Access_Passwords_U);
1513
1514   return offset;
1515 }
1516
1517
1518 static const value_string ftam_Lock_vals[] = {
1519   {   0, "not-required" },
1520   {   1, "shared" },
1521   {   2, "exclusive" },
1522   {   3, "no-access" },
1523   { 0, NULL }
1524 };
1525
1526
1527 static int
1528 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_) {
1529   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1530                                                 NULL);
1531
1532   return offset;
1533 }
1534
1535
1536 static const ber_sequence_t Concurrency_Control_U_sequence[] = {
1537   { &hf_ftam_read           , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1538   { &hf_ftam_insert         , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1539   { &hf_ftam_replace        , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1540   { &hf_ftam_extend         , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1541   { &hf_ftam_erase          , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1542   { &hf_ftam_read_attribute , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1543   { &hf_ftam_change_attribute, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1544   { &hf_ftam_delete_Object  , BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ftam_Lock },
1545   { NULL, 0, 0, 0, NULL }
1546 };
1547
1548 static int
1549 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_) {
1550   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1551                                    Concurrency_Control_U_sequence, hf_index, ett_ftam_Concurrency_Control_U);
1552
1553   return offset;
1554 }
1555
1556
1557
1558 static int
1559 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_) {
1560   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1561                                       hf_index, BER_CLASS_APP, 10, TRUE, dissect_ftam_Concurrency_Control_U);
1562
1563   return offset;
1564 }
1565
1566
1567 static const ber_sequence_t F_SELECT_request_sequence[] = {
1568   { &hf_ftam_select_attributes, BER_CLASS_APP, 19, BER_FLAGS_NOOWNTAG, dissect_ftam_Select_Attributes },
1569   { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
1570   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
1571   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
1572   { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
1573   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1574   { &hf_ftam_account        , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
1575   { NULL, 0, 0, 0, NULL }
1576 };
1577
1578 static int
1579 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_) {
1580   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1581                                    F_SELECT_request_sequence, hf_index, ett_ftam_F_SELECT_request);
1582
1583   return offset;
1584 }
1585
1586
1587
1588 static int
1589 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_) {
1590   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1591                                       hf_index, BER_CLASS_APP, 29, TRUE, dissect_ftam_BOOLEAN);
1592
1593   return offset;
1594 }
1595
1596
1597 static const ber_sequence_t F_SELECT_response_sequence[] = {
1598   { &hf_ftam_state_result   , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
1599   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1600   { &hf_ftam_select_attributes, BER_CLASS_APP, 19, BER_FLAGS_NOOWNTAG, dissect_ftam_Select_Attributes },
1601   { &hf_ftam_referent_indicator, BER_CLASS_APP, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Referent_Indicator },
1602   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1603   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1604   { NULL, 0, 0, 0, NULL }
1605 };
1606
1607 static int
1608 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_) {
1609   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1610                                    F_SELECT_response_sequence, hf_index, ett_ftam_F_SELECT_response);
1611
1612   return offset;
1613 }
1614
1615
1616 static const ber_sequence_t F_DESELECT_request_sequence[] = {
1617   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1618   { NULL, 0, 0, 0, NULL }
1619 };
1620
1621 static int
1622 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_) {
1623   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1624                                    F_DESELECT_request_sequence, hf_index, ett_ftam_F_DESELECT_request);
1625
1626   return offset;
1627 }
1628
1629
1630 static const ber_sequence_t F_DESELECT_response_sequence[] = {
1631   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
1632   { &hf_ftam_charging       , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
1633   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
1634   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
1635   { NULL, 0, 0, 0, NULL }
1636 };
1637
1638 static int
1639 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_) {
1640   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1641                                    F_DESELECT_response_sequence, hf_index, ett_ftam_F_DESELECT_response);
1642
1643   return offset;
1644 }
1645
1646
1647 static const value_string ftam_Override_vals[] = {
1648   {   0, "create-failure" },
1649   {   1, "select-old-Object" },
1650   {   2, "delete-and-create-with-old-attributes" },
1651   {   3, "delete-and-create-with-new-attributes" },
1652   { 0, NULL }
1653 };
1654
1655
1656 static int
1657 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_) {
1658   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1659                                                 NULL);
1660
1661   return offset;
1662 }
1663
1664
1665 static const value_string ftam_Object_Type_Attribute_vals[] = {
1666   {   0, "file" },
1667   {   1, "file-directory" },
1668   {   2, "reference" },
1669   { 0, NULL }
1670 };
1671
1672
1673 static int
1674 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_) {
1675   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1676                                                 NULL);
1677
1678   return offset;
1679 }
1680
1681
1682 static const asn_namedbit Permitted_Actions_Attribute_bits[] = {
1683   {  0, &hf_ftam_Permitted_Actions_Attribute_read, -1, -1, "read", NULL },
1684   {  1, &hf_ftam_Permitted_Actions_Attribute_insert, -1, -1, "insert", NULL },
1685   {  2, &hf_ftam_Permitted_Actions_Attribute_replace, -1, -1, "replace", NULL },
1686   {  3, &hf_ftam_Permitted_Actions_Attribute_extend, -1, -1, "extend", NULL },
1687   {  4, &hf_ftam_Permitted_Actions_Attribute_erase, -1, -1, "erase", NULL },
1688   {  5, &hf_ftam_Permitted_Actions_Attribute_read_attribute, -1, -1, "read-attribute", NULL },
1689   {  6, &hf_ftam_Permitted_Actions_Attribute_change_attribute, -1, -1, "change-attribute", NULL },
1690   {  7, &hf_ftam_Permitted_Actions_Attribute_delete_Object, -1, -1, "delete-Object", NULL },
1691   { 11, &hf_ftam_Permitted_Actions_Attribute_pass, -1, -1, "pass", NULL },
1692   { 12, &hf_ftam_Permitted_Actions_Attribute_link, -1, -1, "link", NULL },
1693   {  8, &hf_ftam_Permitted_Actions_Attribute_traversal, -1, -1, "traversal", NULL },
1694   {  9, &hf_ftam_Permitted_Actions_Attribute_reverse_traversal, -1, -1, "reverse-traversal", NULL },
1695   { 10, &hf_ftam_Permitted_Actions_Attribute_random_Order, -1, -1, "random-Order", NULL },
1696   { 0, NULL, 0, 0, NULL, NULL }
1697 };
1698
1699 int
1700 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_) {
1701   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1702                                     Permitted_Actions_Attribute_bits, hf_index, ett_ftam_Permitted_Actions_Attribute,
1703                                     NULL);
1704
1705   return offset;
1706 }
1707
1708
1709
1710 static int
1711 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_) {
1712 #line 73 "ftam.cnf"
1713   offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
1714
1715
1716
1717   return offset;
1718 }
1719
1720
1721 static const ber_sequence_t T_document_type_sequence[] = {
1722   { &hf_ftam_document_type_name, BER_CLASS_APP, 14, BER_FLAGS_NOOWNTAG, dissect_ftam_Document_Type_Name },
1723   { &hf_ftam_parameter      , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_ftam_T_parameter },
1724   { NULL, 0, 0, 0, NULL }
1725 };
1726
1727 static int
1728 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_) {
1729   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1730                                    T_document_type_sequence, hf_index, ett_ftam_T_document_type);
1731
1732   return offset;
1733 }
1734
1735
1736
1737 static int
1738 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_) {
1739   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1740                                       hf_index, BER_CLASS_APP, 11, TRUE, dissect_ftam_OBJECT_IDENTIFIER);
1741
1742   return offset;
1743 }
1744
1745
1746 static const ber_sequence_t T_constraint_set_and_abstract_Syntax_sequence[] = {
1747   { &hf_ftam_constraint_set_name, BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_ftam_Constraint_Set_Name },
1748   { &hf_ftam_abstract_Syntax_name, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_Abstract_Syntax_Name },
1749   { NULL, 0, 0, 0, NULL }
1750 };
1751
1752 static int
1753 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_) {
1754   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1755                                    T_constraint_set_and_abstract_Syntax_sequence, hf_index, ett_ftam_T_constraint_set_and_abstract_Syntax);
1756
1757   return offset;
1758 }
1759
1760
1761 static const value_string ftam_Contents_Type_Attribute_vals[] = {
1762   {   0, "document-type" },
1763   {   1, "constraint-set-and-abstract-Syntax" },
1764   { 0, NULL }
1765 };
1766
1767 static const ber_choice_t Contents_Type_Attribute_choice[] = {
1768   {   0, &hf_ftam_document_type  , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_document_type },
1769   {   1, &hf_ftam_constraint_set_and_abstract_Syntax, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_constraint_set_and_abstract_Syntax },
1770   { 0, NULL, 0, 0, 0, NULL }
1771 };
1772
1773 static int
1774 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_) {
1775   offset = dissect_ber_choice(actx, tree, tvb, offset,
1776                                  Contents_Type_Attribute_choice, hf_index, ett_ftam_Contents_Type_Attribute,
1777                                  NULL);
1778
1779   return offset;
1780 }
1781
1782
1783
1784 static int
1785 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_) {
1786   offset = dissect_ber_null(implicit_tag, actx, tree, tvb, offset, hf_index);
1787
1788   return offset;
1789 }
1790
1791
1792 static const value_string ftam_Account_Attribute_vals[] = {
1793   {   0, "no-value-available" },
1794   {   1, "actual-values" },
1795   { 0, NULL }
1796 };
1797
1798 static const ber_choice_t Account_Attribute_choice[] = {
1799   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
1800   {   1, &hf_ftam_actual_values2 , BER_CLASS_APP, 4, BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
1801   { 0, NULL, 0, 0, 0, NULL }
1802 };
1803
1804 static int
1805 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_) {
1806   offset = dissect_ber_choice(actx, tree, tvb, offset,
1807                                  Account_Attribute_choice, hf_index, ett_ftam_Account_Attribute,
1808                                  NULL);
1809
1810   return offset;
1811 }
1812
1813
1814 static const value_string ftam_T_actual_values8_vals[] = {
1815   {   0, "immediate-availability" },
1816   {   1, "deferred-availability" },
1817   { 0, NULL }
1818 };
1819
1820
1821 static int
1822 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_) {
1823   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
1824                                                 NULL);
1825
1826   return offset;
1827 }
1828
1829
1830 const value_string ftam_Object_Availability_Attribute_vals[] = {
1831   {   0, "no-value-available" },
1832   {   1, "actual-values" },
1833   { 0, NULL }
1834 };
1835
1836 static const ber_choice_t Object_Availability_Attribute_choice[] = {
1837   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
1838   {   1, &hf_ftam_actual_values8 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_actual_values8 },
1839   { 0, NULL, 0, 0, 0, NULL }
1840 };
1841
1842 int
1843 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_) {
1844   offset = dissect_ber_choice(actx, tree, tvb, offset,
1845                                  Object_Availability_Attribute_choice, hf_index, ett_ftam_Object_Availability_Attribute,
1846                                  NULL);
1847
1848   return offset;
1849 }
1850
1851
1852 const value_string ftam_Object_Size_Attribute_vals[] = {
1853   {   0, "no-value-available" },
1854   {   1, "actual-values" },
1855   { 0, NULL }
1856 };
1857
1858 static const ber_choice_t Object_Size_Attribute_choice[] = {
1859   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
1860   {   1, &hf_ftam_actual_values7 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
1861   { 0, NULL, 0, 0, 0, NULL }
1862 };
1863
1864 int
1865 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_) {
1866   offset = dissect_ber_choice(actx, tree, tvb, offset,
1867                                  Object_Size_Attribute_choice, hf_index, ett_ftam_Object_Size_Attribute,
1868                                  NULL);
1869
1870   return offset;
1871 }
1872
1873
1874 static const asn_namedbit Concurrency_Key_bits[] = {
1875   {  0, &hf_ftam_Concurrency_Key_not_required, -1, -1, "not-required", NULL },
1876   {  1, &hf_ftam_Concurrency_Key_shared, -1, -1, "shared", NULL },
1877   {  2, &hf_ftam_Concurrency_Key_exclusive, -1, -1, "exclusive", NULL },
1878   {  3, &hf_ftam_Concurrency_Key_no_access, -1, -1, "no-access", NULL },
1879   { 0, NULL, 0, 0, NULL, NULL }
1880 };
1881
1882 static int
1883 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_) {
1884   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
1885                                     Concurrency_Key_bits, hf_index, ett_ftam_Concurrency_Key,
1886                                     NULL);
1887
1888   return offset;
1889 }
1890
1891
1892 static const ber_sequence_t Concurrency_Access_sequence[] = {
1893   { &hf_ftam_read_key       , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1894   { &hf_ftam_insert_key     , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1895   { &hf_ftam_replace_key    , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1896   { &hf_ftam_extend_key     , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1897   { &hf_ftam_erase_key      , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1898   { &hf_ftam_read_attribute_key, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1899   { &hf_ftam_change_attribute_key, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1900   { &hf_ftam_delete_Object_key, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Key },
1901   { NULL, 0, 0, 0, NULL }
1902 };
1903
1904 int
1905 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_) {
1906   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1907                                    Concurrency_Access_sequence, hf_index, ett_ftam_Concurrency_Access);
1908
1909   return offset;
1910 }
1911
1912
1913
1914 static int
1915 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_) {
1916 #line 85 "ftam.cnf"
1917         /* XXX have no idea about this one */
1918
1919
1920   return offset;
1921 }
1922
1923
1924
1925 static int
1926 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_) {
1927 #line 87 "ftam.cnf"
1928         /* XXX have no idea about this one */
1929
1930
1931
1932   return offset;
1933 }
1934
1935
1936 static const ber_sequence_t AE_title_sequence[] = {
1937   { &hf_ftam_ap             , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_AP_title },
1938   { &hf_ftam_ae             , BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_AE_qualifier },
1939   { NULL, 0, 0, 0, NULL }
1940 };
1941
1942 static int
1943 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_) {
1944   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1945                                    AE_title_sequence, hf_index, ett_ftam_AE_title);
1946
1947   return offset;
1948 }
1949
1950
1951
1952 static int
1953 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_) {
1954   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
1955                                       hf_index, BER_CLASS_APP, 7, FALSE, dissect_ftam_AE_title);
1956
1957   return offset;
1958 }
1959
1960
1961 static const ber_sequence_t Access_Control_Element_sequence[] = {
1962   { &hf_ftam_action_list    , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Access_Request },
1963   { &hf_ftam_concurrency_access, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Concurrency_Access },
1964   { &hf_ftam_identity       , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity },
1965   { &hf_ftam_passwords      , BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Access_Passwords },
1966   { &hf_ftam_location       , BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Application_Entity_Title },
1967   { NULL, 0, 0, 0, NULL }
1968 };
1969
1970 static int
1971 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_) {
1972   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
1973                                    Access_Control_Element_sequence, hf_index, ett_ftam_Access_Control_Element);
1974
1975   return offset;
1976 }
1977
1978
1979 static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = {
1980   { &hf_ftam_actual_values3_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Control_Element },
1981 };
1982
1983 static int
1984 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_) {
1985   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
1986                                  SET_OF_Access_Control_Element_set_of, hf_index, ett_ftam_SET_OF_Access_Control_Element);
1987
1988   return offset;
1989 }
1990
1991
1992 static const value_string ftam_Access_Control_Attribute_vals[] = {
1993   {   0, "no-value-available" },
1994   {   1, "actual-values" },
1995   { 0, NULL }
1996 };
1997
1998 static const ber_choice_t Access_Control_Attribute_choice[] = {
1999   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2000   {   1, &hf_ftam_actual_values3 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Access_Control_Element },
2001   { 0, NULL, 0, 0, 0, NULL }
2002 };
2003
2004 static int
2005 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_) {
2006   offset = dissect_ber_choice(actx, tree, tvb, offset,
2007                                  Access_Control_Attribute_choice, hf_index, ett_ftam_Access_Control_Attribute,
2008                                  NULL);
2009
2010   return offset;
2011 }
2012
2013
2014 const value_string ftam_Legal_Qualification_Attribute_vals[] = {
2015   {   0, "no-value-available" },
2016   {   1, "actual-values" },
2017   { 0, NULL }
2018 };
2019
2020 static const ber_choice_t Legal_Qualification_Attribute_choice[] = {
2021   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2022   {   1, &hf_ftam_actual_values9 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
2023   { 0, NULL, 0, 0, 0, NULL }
2024 };
2025
2026 int
2027 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_) {
2028   offset = dissect_ber_choice(actx, tree, tvb, offset,
2029                                  Legal_Qualification_Attribute_choice, hf_index, ett_ftam_Legal_Qualification_Attribute,
2030                                  NULL);
2031
2032   return offset;
2033 }
2034
2035
2036 const value_string ftam_Private_Use_Attribute_vals[] = {
2037   {   0, "no-value-available" },
2038   {   1, "abstract-Syntax-not-supported" },
2039   {   2, "actual-values" },
2040   { 0, NULL }
2041 };
2042
2043 static const ber_choice_t Private_Use_Attribute_choice[] = {
2044   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2045   {   1, &hf_ftam_abstract_Syntax_not_supported, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2046   {   2, &hf_ftam_actual_values4 , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_EXTERNAL },
2047   { 0, NULL, 0, 0, 0, NULL }
2048 };
2049
2050 int
2051 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_) {
2052   offset = dissect_ber_choice(actx, tree, tvb, offset,
2053                                  Private_Use_Attribute_choice, hf_index, ett_ftam_Private_Use_Attribute,
2054                                  NULL);
2055
2056   return offset;
2057 }
2058
2059
2060
2061 static int
2062 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_) {
2063   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2064
2065   return offset;
2066 }
2067
2068
2069
2070 static int
2071 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_) {
2072   offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
2073
2074   return offset;
2075 }
2076
2077
2078
2079 static int
2080 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_) {
2081 #line 76 "ftam.cnf"
2082   offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
2083
2084
2085
2086   return offset;
2087 }
2088
2089
2090 static const ber_sequence_t Extension_Attribute_sequence[] = {
2091   { &hf_ftam_extension_attribute_identifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftam_T_extension_attribute_identifier },
2092   { &hf_ftam_extension_attribute, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_T_extension_attribute },
2093   { NULL, 0, 0, 0, NULL }
2094 };
2095
2096 static int
2097 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_) {
2098   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2099                                    Extension_Attribute_sequence, hf_index, ett_ftam_Extension_Attribute);
2100
2101   return offset;
2102 }
2103
2104
2105 static const ber_sequence_t SEQUENCE_OF_Extension_Attribute_sequence_of[1] = {
2106   { &hf_ftam_extension_set_attributes_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Extension_Attribute },
2107 };
2108
2109 static int
2110 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_) {
2111   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2112                                       SEQUENCE_OF_Extension_Attribute_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Extension_Attribute);
2113
2114   return offset;
2115 }
2116
2117
2118 static const ber_sequence_t Attribute_Extension_Set_sequence[] = {
2119   { &hf_ftam_extension_set_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Extension_Set_Identifier },
2120   { &hf_ftam_extension_set_attributes, BER_CLASS_CON, 1, 0, dissect_ftam_SEQUENCE_OF_Extension_Attribute },
2121   { NULL, 0, 0, 0, NULL }
2122 };
2123
2124 static int
2125 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_) {
2126   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2127                                    Attribute_Extension_Set_sequence, hf_index, ett_ftam_Attribute_Extension_Set);
2128
2129   return offset;
2130 }
2131
2132
2133 static const ber_sequence_t Attribute_Extensions_sequence_of[1] = {
2134   { &hf_ftam_Attribute_Extensions_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Extension_Set },
2135 };
2136
2137 int
2138 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_) {
2139   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2140                                       Attribute_Extensions_sequence_of, hf_index, ett_ftam_Attribute_Extensions);
2141
2142   return offset;
2143 }
2144
2145
2146 static const ber_sequence_t Create_Attributes_U_sequence[] = {
2147   { &hf_ftam_pathname       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2148   { &hf_ftam_object_type    , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Type_Attribute },
2149   { &hf_ftam_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute },
2150   { &hf_ftam_contents_type  , BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_Attribute },
2151   { &hf_ftam_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Account_Attribute },
2152   { &hf_ftam_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Availability_Attribute },
2153   { &hf_ftam_future_Object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Size_Attribute },
2154   { &hf_ftam_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Attribute },
2155   { &hf_ftam_path_access_control, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Attribute },
2156   { &hf_ftam_legal_qualification, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Legal_Qualification_Attribute },
2157   { &hf_ftam_private_use    , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Private_Use_Attribute },
2158   { &hf_ftam_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
2159   { NULL, 0, 0, 0, NULL }
2160 };
2161
2162 static int
2163 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_) {
2164   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2165                                    Create_Attributes_U_sequence, hf_index, ett_ftam_Create_Attributes_U);
2166
2167   return offset;
2168 }
2169
2170
2171
2172 static int
2173 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_) {
2174   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2175                                       hf_index, BER_CLASS_APP, 12, TRUE, dissect_ftam_Create_Attributes_U);
2176
2177   return offset;
2178 }
2179
2180
2181 static const ber_sequence_t F_CREATE_request_sequence[] = {
2182   { &hf_ftam_override       , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
2183   { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
2184   { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
2185   { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
2186   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
2187   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
2188   { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
2189   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2190   { &hf_ftam_account        , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
2191   { NULL, 0, 0, 0, NULL }
2192 };
2193
2194 static int
2195 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_) {
2196   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2197                                    F_CREATE_request_sequence, hf_index, ett_ftam_F_CREATE_request);
2198
2199   return offset;
2200 }
2201
2202
2203 static const ber_sequence_t F_CREATE_response_sequence[] = {
2204   { &hf_ftam_state_result   , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
2205   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2206   { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
2207   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2208   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2209   { NULL, 0, 0, 0, NULL }
2210 };
2211
2212 static int
2213 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_) {
2214   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2215                                    F_CREATE_response_sequence, hf_index, ett_ftam_F_CREATE_response);
2216
2217   return offset;
2218 }
2219
2220
2221 static const ber_sequence_t F_DELETE_request_sequence[] = {
2222   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2223   { NULL, 0, 0, 0, NULL }
2224 };
2225
2226 static int
2227 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_) {
2228   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2229                                    F_DELETE_request_sequence, hf_index, ett_ftam_F_DELETE_request);
2230
2231   return offset;
2232 }
2233
2234
2235 static const ber_sequence_t F_DELETE_response_sequence[] = {
2236   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2237   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2238   { &hf_ftam_charging       , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
2239   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2240   { NULL, 0, 0, 0, NULL }
2241 };
2242
2243 static int
2244 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_) {
2245   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2246                                    F_DELETE_response_sequence, hf_index, ett_ftam_F_DELETE_response);
2247
2248   return offset;
2249 }
2250
2251
2252 static const asn_namedbit Attribute_Names_bits[] = {
2253   {  0, &hf_ftam_Attribute_Names_read_pathname, -1, -1, "read-pathname", NULL },
2254   { 18, &hf_ftam_Attribute_Names_read_Object_type, -1, -1, "read-Object-type", NULL },
2255   {  1, &hf_ftam_Attribute_Names_read_permitted_actions, -1, -1, "read-permitted-actions", NULL },
2256   {  2, &hf_ftam_Attribute_Names_read_contents_type, -1, -1, "read-contents-type", NULL },
2257   { 19, &hf_ftam_Attribute_Names_read_linked_Object, -1, -1, "read-linked-Object", NULL },
2258   { 23, &hf_ftam_Attribute_Names_read_Child_objects, -1, -1, "read-Child-objects", NULL },
2259   { 20, &hf_ftam_Attribute_Names_read_primary_pathname, -1, -1, "read-primary-pathname", NULL },
2260   {  3, &hf_ftam_Attribute_Names_read_storage_account, -1, -1, "read-storage-account", NULL },
2261   {  4, &hf_ftam_Attribute_Names_read_date_and_time_of_creation, -1, -1, "read-date-and-time-of-creation", NULL },
2262   {  5, &hf_ftam_Attribute_Names_read_date_and_time_of_last_modification, -1, -1, "read-date-and-time-of-last-modification", NULL },
2263   {  6, &hf_ftam_Attribute_Names_read_date_and_time_of_last_read_access, -1, -1, "read-date-and-time-of-last-read-access", NULL },
2264   {  7, &hf_ftam_Attribute_Names_read_date_and_time_of_last_attribute_modification, -1, -1, "read-date-and-time-of-last-attribute-modification", NULL },
2265   {  8, &hf_ftam_Attribute_Names_read_identity_of_creator, -1, -1, "read-identity-of-creator", NULL },
2266   {  9, &hf_ftam_Attribute_Names_read_identity_of_last_modifier, -1, -1, "read-identity-of-last-modifier", NULL },
2267   { 10, &hf_ftam_Attribute_Names_read_identity_of_last_reader, -1, -1, "read-identity-of-last-reader", NULL },
2268   { 11, &hf_ftam_Attribute_Names_read_identity_of_last_attribute_modifier, -1, -1, "read-identity-of-last-attribute-modifier", NULL },
2269   { 12, &hf_ftam_Attribute_Names_read_Object_availability, -1, -1, "read-Object-availability", NULL },
2270   { 13, &hf_ftam_Attribute_Names_read_Object_size, -1, -1, "read-Object-size", NULL },
2271   { 14, &hf_ftam_Attribute_Names_read_future_Object_size, -1, -1, "read-future-Object-size", NULL },
2272   { 15, &hf_ftam_Attribute_Names_read_access_control, -1, -1, "read-access-control", NULL },
2273   { 21, &hf_ftam_Attribute_Names_read_path_access_control, -1, -1, "read-path-access-control", NULL },
2274   { 16, &hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS, -1, -1, "read-l8gal-qualifiCatiOnS", NULL },
2275   { 17, &hf_ftam_Attribute_Names_read_private_use, -1, -1, "read-private-use", NULL },
2276   { 0, NULL, 0, 0, NULL, NULL }
2277 };
2278
2279 static int
2280 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_) {
2281   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2282                                     Attribute_Names_bits, hf_index, ett_ftam_Attribute_Names,
2283                                     NULL);
2284
2285   return offset;
2286 }
2287
2288
2289
2290 static int
2291 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_) {
2292   offset = dissect_ber_object_identifier(implicit_tag, actx, tree, tvb, offset, hf_index, NULL);
2293
2294   return offset;
2295 }
2296
2297
2298 static const ber_sequence_t SEQUENCE_OF_Extension_Attribute_identifier_sequence_of[1] = {
2299   { &hf_ftam_extension_attribute_names_item, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftam_Extension_Attribute_identifier },
2300 };
2301
2302 static int
2303 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_) {
2304   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2305                                       SEQUENCE_OF_Extension_Attribute_identifier_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Extension_Attribute_identifier);
2306
2307   return offset;
2308 }
2309
2310
2311 static const ber_sequence_t Attribute_Extension_Set_Name_sequence[] = {
2312   { &hf_ftam_extension_set_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Extension_Set_Identifier },
2313   { &hf_ftam_extension_attribute_names, BER_CLASS_CON, 1, 0, dissect_ftam_SEQUENCE_OF_Extension_Attribute_identifier },
2314   { NULL, 0, 0, 0, NULL }
2315 };
2316
2317 static int
2318 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_) {
2319   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2320                                    Attribute_Extension_Set_Name_sequence, hf_index, ett_ftam_Attribute_Extension_Set_Name);
2321
2322   return offset;
2323 }
2324
2325
2326 static const ber_sequence_t Attribute_Extension_Names_sequence_of[1] = {
2327   { &hf_ftam_Attribute_Extension_Names_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Extension_Set_Name },
2328 };
2329
2330 static int
2331 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_) {
2332   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2333                                       Attribute_Extension_Names_sequence_of, hf_index, ett_ftam_Attribute_Extension_Names);
2334
2335   return offset;
2336 }
2337
2338
2339 static const ber_sequence_t F_READ_ATTRIB_request_sequence[] = {
2340   { &hf_ftam_attribute_names, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Names },
2341   { &hf_ftam_attribute_extension_names, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extension_Names },
2342   { NULL, 0, 0, 0, NULL }
2343 };
2344
2345 static int
2346 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_) {
2347   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2348                                    F_READ_ATTRIB_request_sequence, hf_index, ett_ftam_F_READ_ATTRIB_request);
2349
2350   return offset;
2351 }
2352
2353
2354 static const ber_sequence_t Child_Objects_Attribute_set_of[1] = {
2355   { &hf_ftam_Child_Objects_Attribute_item, BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_ftam_GraphicString },
2356 };
2357
2358 static int
2359 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_) {
2360   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2361                                  Child_Objects_Attribute_set_of, hf_index, ett_ftam_Child_Objects_Attribute);
2362
2363   return offset;
2364 }
2365
2366
2367
2368 static int
2369 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_) {
2370   offset = dissect_ber_GeneralizedTime(implicit_tag, actx, tree, tvb, offset, hf_index);
2371
2372   return offset;
2373 }
2374
2375
2376 const value_string ftam_Date_and_Time_Attribute_vals[] = {
2377   {   0, "no-value-available" },
2378   {   1, "actual-values" },
2379   { 0, NULL }
2380 };
2381
2382 static const ber_choice_t Date_and_Time_Attribute_choice[] = {
2383   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2384   {   1, &hf_ftam_actual_values5 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_GeneralizedTime },
2385   { 0, NULL, 0, 0, 0, NULL }
2386 };
2387
2388 int
2389 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_) {
2390   offset = dissect_ber_choice(actx, tree, tvb, offset,
2391                                  Date_and_Time_Attribute_choice, hf_index, ett_ftam_Date_and_Time_Attribute,
2392                                  NULL);
2393
2394   return offset;
2395 }
2396
2397
2398 static const value_string ftam_User_Identity_Attribute_vals[] = {
2399   {   0, "no-value-available" },
2400   {   1, "actual-values" },
2401   { 0, NULL }
2402 };
2403
2404 static const ber_choice_t User_Identity_Attribute_choice[] = {
2405   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2406   {   1, &hf_ftam_actual_values6 , BER_CLASS_APP, 22, BER_FLAGS_NOOWNTAG, dissect_ftam_User_Identity },
2407   { 0, NULL, 0, 0, 0, NULL }
2408 };
2409
2410 static int
2411 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_) {
2412   offset = dissect_ber_choice(actx, tree, tvb, offset,
2413                                  User_Identity_Attribute_choice, hf_index, ett_ftam_User_Identity_Attribute,
2414                                  NULL);
2415
2416   return offset;
2417 }
2418
2419
2420 static const ber_sequence_t Read_Attributes_U_sequence[] = {
2421   { &hf_ftam_pathname       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2422   { &hf_ftam_object_type    , BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Type_Attribute },
2423   { &hf_ftam_permitted_actions, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Permitted_Actions_Attribute },
2424   { &hf_ftam_contents_type  , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_Attribute },
2425   { &hf_ftam_linked_Object  , BER_CLASS_CON, 19, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2426   { &hf_ftam_child_objects  , BER_CLASS_CON, 23, BER_FLAGS_OPTIONAL, dissect_ftam_Child_Objects_Attribute },
2427   { &hf_ftam_primaty_pathname, BER_CLASS_CON, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2428   { &hf_ftam_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Account_Attribute },
2429   { &hf_ftam_date_and_time_of_creation, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Date_and_Time_Attribute },
2430   { &hf_ftam_date_and_time_of_last_modification, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Date_and_Time_Attribute },
2431   { &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 },
2432   { &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 },
2433   { &hf_ftam_identity_of_creator, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_User_Identity_Attribute },
2434   { &hf_ftam_identity_of_last_modifier, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_User_Identity_Attribute },
2435   { &hf_ftam_identity_of_last_reader, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_User_Identity_Attribute },
2436   { &hf_ftam_identity_last_attribute_modifier, BER_CLASS_CON, 11, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_User_Identity_Attribute },
2437   { &hf_ftam_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Availability_Attribute },
2438   { &hf_ftam_object_size    , BER_CLASS_CON, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Size_Attribute },
2439   { &hf_ftam_future_Object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Size_Attribute },
2440   { &hf_ftam_access_control , BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Attribute },
2441   { &hf_ftam_path_access_control, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Attribute },
2442   { &hf_ftam_legal_qualification, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Legal_Qualification_Attribute },
2443   { &hf_ftam_private_use    , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Private_Use_Attribute },
2444   { &hf_ftam_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
2445   { NULL, 0, 0, 0, NULL }
2446 };
2447
2448 static int
2449 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_) {
2450   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2451                                    Read_Attributes_U_sequence, hf_index, ett_ftam_Read_Attributes_U);
2452
2453   return offset;
2454 }
2455
2456
2457
2458 static int
2459 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_) {
2460   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2461                                       hf_index, BER_CLASS_APP, 18, TRUE, dissect_ftam_Read_Attributes_U);
2462
2463   return offset;
2464 }
2465
2466
2467 static const ber_sequence_t F_READ_ATTRIB_response_sequence[] = {
2468   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2469   { &hf_ftam_read_attributes, BER_CLASS_APP, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Read_Attributes },
2470   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2471   { NULL, 0, 0, 0, NULL }
2472 };
2473
2474 static int
2475 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_) {
2476   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2477                                    F_READ_ATTRIB_response_sequence, hf_index, ett_ftam_F_READ_ATTRIB_response);
2478
2479   return offset;
2480 }
2481
2482
2483 static const ber_sequence_t T_actual_values1_sequence[] = {
2484   { &hf_ftam_insert_values  , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Access_Control_Element },
2485   { &hf_ftam_delete_values  , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Access_Control_Element },
2486   { NULL, 0, 0, 0, NULL }
2487 };
2488
2489 static int
2490 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_) {
2491   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2492                                    T_actual_values1_sequence, hf_index, ett_ftam_T_actual_values1);
2493
2494   return offset;
2495 }
2496
2497
2498 static const value_string ftam_Access_Control_Change_Attribute_vals[] = {
2499   {   0, "no-value-available" },
2500   {   1, "actual-values" },
2501   { 0, NULL }
2502 };
2503
2504 static const ber_choice_t Access_Control_Change_Attribute_choice[] = {
2505   {   0, &hf_ftam_no_value_available, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2506   {   1, &hf_ftam_actual_values1 , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_actual_values1 },
2507   { 0, NULL, 0, 0, 0, NULL }
2508 };
2509
2510 static int
2511 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_) {
2512   offset = dissect_ber_choice(actx, tree, tvb, offset,
2513                                  Access_Control_Change_Attribute_choice, hf_index, ett_ftam_Access_Control_Change_Attribute,
2514                                  NULL);
2515
2516   return offset;
2517 }
2518
2519
2520 static const ber_sequence_t Change_Attributes_U_sequence[] = {
2521   { &hf_ftam_pathname       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
2522   { &hf_ftam_storage_account, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Account_Attribute },
2523   { &hf_ftam_object_availability, BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Availability_Attribute },
2524   { &hf_ftam_future_Object_size, BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Object_Size_Attribute },
2525   { &hf_ftam_change_attributes_access_control, BER_CLASS_CON, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Change_Attribute },
2526   { &hf_ftam_change_path_access_control, BER_CLASS_CON, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Access_Control_Change_Attribute },
2527   { &hf_ftam_legal_qualification, BER_CLASS_CON, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Legal_Qualification_Attribute },
2528   { &hf_ftam_private_use    , BER_CLASS_CON, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Private_Use_Attribute },
2529   { &hf_ftam_attribute_extensions, BER_CLASS_CON, 22, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions },
2530   { NULL, 0, 0, 0, NULL }
2531 };
2532
2533 static int
2534 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_) {
2535   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2536                                    Change_Attributes_U_sequence, hf_index, ett_ftam_Change_Attributes_U);
2537
2538   return offset;
2539 }
2540
2541
2542
2543 static int
2544 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_) {
2545   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2546                                       hf_index, BER_CLASS_APP, 8, TRUE, dissect_ftam_Change_Attributes_U);
2547
2548   return offset;
2549 }
2550
2551
2552 static const ber_sequence_t F_CHANGE_ATTRIB_request_sequence[] = {
2553   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
2554   { NULL, 0, 0, 0, NULL }
2555 };
2556
2557 static int
2558 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_) {
2559   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2560                                    F_CHANGE_ATTRIB_request_sequence, hf_index, ett_ftam_F_CHANGE_ATTRIB_request);
2561
2562   return offset;
2563 }
2564
2565
2566 static const ber_sequence_t F_CHANGE_ATTRIB_response_sequence[] = {
2567   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2568   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
2569   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2570   { NULL, 0, 0, 0, NULL }
2571 };
2572
2573 static int
2574 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_) {
2575   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2576                                    F_CHANGE_ATTRIB_response_sequence, hf_index, ett_ftam_F_CHANGE_ATTRIB_response);
2577
2578   return offset;
2579 }
2580
2581
2582 static const asn_namedbit T_processing_mode_bits[] = {
2583   {  0, &hf_ftam_T_processing_mode_f_read, -1, -1, "f-read", NULL },
2584   {  1, &hf_ftam_T_processing_mode_f_insert, -1, -1, "f-insert", NULL },
2585   {  2, &hf_ftam_T_processing_mode_f_replace, -1, -1, "f-replace", NULL },
2586   {  3, &hf_ftam_T_processing_mode_f_extend, -1, -1, "f-extend", NULL },
2587   {  4, &hf_ftam_T_processing_mode_f_erase, -1, -1, "f-erase", NULL },
2588   { 0, NULL, 0, 0, NULL, NULL }
2589 };
2590
2591 static int
2592 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_) {
2593   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
2594                                     T_processing_mode_bits, hf_index, ett_ftam_T_processing_mode,
2595                                     NULL);
2596
2597   return offset;
2598 }
2599
2600
2601 static const value_string ftam_T_open_contents_type_vals[] = {
2602   {   0, "unknown" },
2603   {   1, "proposed" },
2604   { 0, NULL }
2605 };
2606
2607 static const ber_choice_t T_open_contents_type_choice[] = {
2608   {   0, &hf_ftam_unknown        , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
2609   {   1, &hf_ftam_proposed       , BER_CLASS_CON, 1, 0, dissect_ftam_Contents_Type_Attribute },
2610   { 0, NULL, 0, 0, 0, NULL }
2611 };
2612
2613 static int
2614 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_) {
2615   offset = dissect_ber_choice(actx, tree, tvb, offset,
2616                                  T_open_contents_type_choice, hf_index, ett_ftam_T_open_contents_type,
2617                                  NULL);
2618
2619   return offset;
2620 }
2621
2622
2623
2624 static int
2625 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_) {
2626   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2627                                       hf_index, BER_CLASS_APP, 6, TRUE, dissect_ftam_INTEGER);
2628
2629   return offset;
2630 }
2631
2632
2633 static const value_string ftam_T_request_recovery_mode_vals[] = {
2634   {   0, "none" },
2635   {   1, "at-start-of-file" },
2636   {   2, "at-any-active-Checkpoint" },
2637   { 0, NULL }
2638 };
2639
2640
2641 static int
2642 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_) {
2643   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2644                                                 NULL);
2645
2646   return offset;
2647 }
2648
2649
2650 static const ber_sequence_t SET_OF_Abstract_Syntax_Name_set_of[1] = {
2651   { &hf_ftam_remove_contexts_item, BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_Abstract_Syntax_Name },
2652 };
2653
2654 static int
2655 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_) {
2656   offset = dissect_ber_set_of(implicit_tag, actx, tree, tvb, offset,
2657                                  SET_OF_Abstract_Syntax_Name_set_of, hf_index, ett_ftam_SET_OF_Abstract_Syntax_Name);
2658
2659   return offset;
2660 }
2661
2662
2663 static const value_string ftam_Degree_Of_Overlap_U_vals[] = {
2664   {   0, "normal" },
2665   {   1, "consecutive" },
2666   {   2, "concurrent" },
2667   { 0, NULL }
2668 };
2669
2670
2671 static int
2672 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_) {
2673   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2674                                                 NULL);
2675
2676   return offset;
2677 }
2678
2679
2680
2681 static int
2682 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_) {
2683   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2684                                       hf_index, BER_CLASS_APP, 30, TRUE, dissect_ftam_Degree_Of_Overlap_U);
2685
2686   return offset;
2687 }
2688
2689
2690 static const ber_sequence_t F_OPEN_request_sequence[] = {
2691   { &hf_ftam_processing_mode, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_T_processing_mode },
2692   { &hf_ftam_open_contents_type, BER_CLASS_CON, 1, 0, dissect_ftam_T_open_contents_type },
2693   { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
2694   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2695   { &hf_ftam_enable_fadu_locking, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
2696   { &hf_ftam_activity_identifier, BER_CLASS_APP, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Activity_Identifier },
2697   { &hf_ftam_request_recovery_mode, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_T_request_recovery_mode },
2698   { &hf_ftam_remove_contexts, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Abstract_Syntax_Name },
2699   { &hf_ftam_define_contexts, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Abstract_Syntax_Name },
2700   { &hf_ftam_degree_of_overlap, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Degree_Of_Overlap },
2701   { &hf_ftam_transfer_window, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2702   { NULL, 0, 0, 0, NULL }
2703 };
2704
2705 static int
2706 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_) {
2707   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2708                                    F_OPEN_request_sequence, hf_index, ett_ftam_F_OPEN_request);
2709
2710   return offset;
2711 }
2712
2713
2714 static const value_string ftam_T_response_recovery_mode_vals[] = {
2715   {   0, "none" },
2716   {   1, "at-start-of-file" },
2717   {   2, "at-any-active-Checkpoint" },
2718   { 0, NULL }
2719 };
2720
2721
2722 static int
2723 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_) {
2724   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2725                                                 NULL);
2726
2727   return offset;
2728 }
2729
2730
2731 static const ber_sequence_t F_OPEN_response_sequence[] = {
2732   { &hf_ftam_state_result   , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
2733   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2734   { &hf_ftam_contents_type  , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_Attribute },
2735   { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
2736   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2737   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2738   { &hf_ftam_response_recovery_mode, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_T_response_recovery_mode },
2739   { &hf_ftam_presentation_action, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
2740   { &hf_ftam_degree_of_overlap, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Degree_Of_Overlap },
2741   { &hf_ftam_transfer_window, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2742   { NULL, 0, 0, 0, NULL }
2743 };
2744
2745 static int
2746 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_) {
2747   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2748                                    F_OPEN_response_sequence, hf_index, ett_ftam_F_OPEN_response);
2749
2750   return offset;
2751 }
2752
2753
2754 static const ber_sequence_t F_CLOSE_request_sequence[] = {
2755   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2756   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2757   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2758   { NULL, 0, 0, 0, NULL }
2759 };
2760
2761 static int
2762 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_) {
2763   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2764                                    F_CLOSE_request_sequence, hf_index, ett_ftam_F_CLOSE_request);
2765
2766   return offset;
2767 }
2768
2769
2770 static const ber_sequence_t F_CLOSE_response_sequence[] = {
2771   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2772   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
2773   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2774   { NULL, 0, 0, 0, NULL }
2775 };
2776
2777 static int
2778 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_) {
2779   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2780                                    F_CLOSE_response_sequence, hf_index, ett_ftam_F_CLOSE_response);
2781
2782   return offset;
2783 }
2784
2785
2786 static const ber_sequence_t F_BEGIN_GROUP_request_sequence[] = {
2787   { &hf_ftam_threshold      , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2788   { NULL, 0, 0, 0, NULL }
2789 };
2790
2791 static int
2792 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_) {
2793   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2794                                    F_BEGIN_GROUP_request_sequence, hf_index, ett_ftam_F_BEGIN_GROUP_request);
2795
2796   return offset;
2797 }
2798
2799
2800 static const ber_sequence_t F_BEGIN_GROUP_response_sequence[] = {
2801   { NULL, 0, 0, 0, NULL }
2802 };
2803
2804 static int
2805 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_) {
2806   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2807                                    F_BEGIN_GROUP_response_sequence, hf_index, ett_ftam_F_BEGIN_GROUP_response);
2808
2809   return offset;
2810 }
2811
2812
2813 static const ber_sequence_t F_END_GROUP_request_sequence[] = {
2814   { NULL, 0, 0, 0, NULL }
2815 };
2816
2817 static int
2818 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_) {
2819   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2820                                    F_END_GROUP_request_sequence, hf_index, ett_ftam_F_END_GROUP_request);
2821
2822   return offset;
2823 }
2824
2825
2826 static const ber_sequence_t F_END_GROUP_response_sequence[] = {
2827   { NULL, 0, 0, 0, NULL }
2828 };
2829
2830 static int
2831 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_) {
2832   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2833                                    F_END_GROUP_response_sequence, hf_index, ett_ftam_F_END_GROUP_response);
2834
2835   return offset;
2836 }
2837
2838
2839 static const ber_sequence_t F_RECOVER_request_sequence[] = {
2840   { &hf_ftam_activity_identifier, BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_ftam_Activity_Identifier },
2841   { &hf_ftam_bulk_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2842   { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
2843   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
2844   { &hf_ftam_recovefy_Point , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2845   { &hf_ftam_remove_contexts, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Abstract_Syntax_Name },
2846   { &hf_ftam_define_contexts, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_SET_OF_Abstract_Syntax_Name },
2847   { &hf_ftam_concurrent_bulk_transfer_number, BER_CLASS_CON, 7, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2848   { &hf_ftam_concurrent_recovery_point, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2849   { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2850   { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2851   { NULL, 0, 0, 0, NULL }
2852 };
2853
2854 static int
2855 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_) {
2856   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2857                                    F_RECOVER_request_sequence, hf_index, ett_ftam_F_RECOVER_request);
2858
2859   return offset;
2860 }
2861
2862
2863 static const ber_sequence_t F_RECOVER_response_sequence[] = {
2864   { &hf_ftam_state_result   , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
2865   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
2866   { &hf_ftam_contents_type  , BER_CLASS_CON, 1, BER_FLAGS_NOTCHKTAG, dissect_ftam_Contents_Type_Attribute },
2867   { &hf_ftam_recovety_Point , BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2868   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
2869   { &hf_ftam_presentation_action, BER_CLASS_CON, 6, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
2870   { &hf_ftam_concurrent_recovery_point, BER_CLASS_CON, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2871   { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2872   { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2873   { NULL, 0, 0, 0, NULL }
2874 };
2875
2876 static int
2877 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_) {
2878   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
2879                                    F_RECOVER_response_sequence, hf_index, ett_ftam_F_RECOVER_response);
2880
2881   return offset;
2882 }
2883
2884
2885 static const value_string ftam_T_first_last_vals[] = {
2886   {   0, "first" },
2887   {   1, "last" },
2888   { 0, NULL }
2889 };
2890
2891
2892 static int
2893 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_) {
2894   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2895                                                 NULL);
2896
2897   return offset;
2898 }
2899
2900
2901 static const value_string ftam_T_relative_vals[] = {
2902   {   0, "previous" },
2903   {   1, "current" },
2904   {   2, "next" },
2905   { 0, NULL }
2906 };
2907
2908
2909 static int
2910 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_) {
2911   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2912                                                 NULL);
2913
2914   return offset;
2915 }
2916
2917
2918 static const value_string ftam_T_begin_end_vals[] = {
2919   {   0, "begin" },
2920   {   1, "end" },
2921   { 0, NULL }
2922 };
2923
2924
2925 static int
2926 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_) {
2927   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
2928                                                 NULL);
2929
2930   return offset;
2931 }
2932
2933
2934
2935 static int
2936 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_) {
2937   offset = dissect_ber_external_type(implicit_tag, tree, tvb, offset, actx, hf_index, NULL);
2938
2939   return offset;
2940 }
2941
2942
2943 static const ber_sequence_t SEQUENCE_OF_Node_Name_sequence_of[1] = {
2944   { &hf_ftam_name_list_item , BER_CLASS_UNI, BER_UNI_TAG_EXTERNAL, BER_FLAGS_NOOWNTAG, dissect_ftam_Node_Name },
2945 };
2946
2947 static int
2948 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_) {
2949   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
2950                                       SEQUENCE_OF_Node_Name_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Node_Name);
2951
2952   return offset;
2953 }
2954
2955
2956 static const value_string ftam_FADU_Identity_U_vals[] = {
2957   {   0, "first-last" },
2958   {   1, "relative" },
2959   {   2, "begin-end" },
2960   {   3, "single-name" },
2961   {   4, "name-list" },
2962   {   5, "fadu-number" },
2963   { 0, NULL }
2964 };
2965
2966 static const ber_choice_t FADU_Identity_U_choice[] = {
2967   {   0, &hf_ftam_first_last     , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_first_last },
2968   {   1, &hf_ftam_relative       , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_relative },
2969   {   2, &hf_ftam_begin_end      , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_T_begin_end },
2970   {   3, &hf_ftam_single_name    , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_Node_Name },
2971   {   4, &hf_ftam_name_list      , BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_SEQUENCE_OF_Node_Name },
2972   {   5, &hf_ftam_fadu_number    , BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
2973   { 0, NULL, 0, 0, 0, NULL }
2974 };
2975
2976 static int
2977 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_) {
2978   offset = dissect_ber_choice(actx, tree, tvb, offset,
2979                                  FADU_Identity_U_choice, hf_index, ett_ftam_FADU_Identity_U,
2980                                  NULL);
2981
2982   return offset;
2983 }
2984
2985
2986
2987 static int
2988 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_) {
2989   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
2990                                       hf_index, BER_CLASS_APP, 15, FALSE, dissect_ftam_FADU_Identity_U);
2991
2992   return offset;
2993 }
2994
2995
2996 static const value_string ftam_FADU_Lock_U_vals[] = {
2997   {   0, "off" },
2998   {   1, "on" },
2999   { 0, NULL }
3000 };
3001
3002
3003 static int
3004 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_) {
3005   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3006                                                 NULL);
3007
3008   return offset;
3009 }
3010
3011
3012
3013 static int
3014 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_) {
3015   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3016                                       hf_index, BER_CLASS_APP, 16, TRUE, dissect_ftam_FADU_Lock_U);
3017
3018   return offset;
3019 }
3020
3021
3022 static const ber_sequence_t F_LOCATE_request_sequence[] = {
3023   { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3024   { &hf_ftam_fadu_lock      , BER_CLASS_APP, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Lock },
3025   { NULL, 0, 0, 0, NULL }
3026 };
3027
3028 static int
3029 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_) {
3030   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3031                                    F_LOCATE_request_sequence, hf_index, ett_ftam_F_LOCATE_request);
3032
3033   return offset;
3034 }
3035
3036
3037 static const ber_sequence_t F_LOCATE_response_sequence[] = {
3038   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3039   { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3040   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3041   { NULL, 0, 0, 0, NULL }
3042 };
3043
3044 static int
3045 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_) {
3046   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3047                                    F_LOCATE_response_sequence, hf_index, ett_ftam_F_LOCATE_response);
3048
3049   return offset;
3050 }
3051
3052
3053 static const ber_sequence_t F_ERASE_request_sequence[] = {
3054   { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3055   { NULL, 0, 0, 0, NULL }
3056 };
3057
3058 static int
3059 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_) {
3060   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3061                                    F_ERASE_request_sequence, hf_index, ett_ftam_F_ERASE_request);
3062
3063   return offset;
3064 }
3065
3066
3067 static const ber_sequence_t F_ERASE_response_sequence[] = {
3068   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3069   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3070   { NULL, 0, 0, 0, NULL }
3071 };
3072
3073 static int
3074 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_) {
3075   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3076                                    F_ERASE_response_sequence, hf_index, ett_ftam_F_ERASE_response);
3077
3078   return offset;
3079 }
3080
3081
3082 static const value_string ftam_File_PDU_vals[] = {
3083   {   6, "f-select-request" },
3084   {   7, "f-select-response" },
3085   {   8, "f-deselect-request" },
3086   {   9, "f-deselect-response" },
3087   {  10, "f-create-request" },
3088   {  11, "f-create-response" },
3089   {  12, "f-delete-request" },
3090   {  13, "f-delete-response" },
3091   {  14, "f-read-attrib-request" },
3092   {  15, "f-read-attrib-response" },
3093   {  16, "f-Change-attrib-reques" },
3094   {  17, "f-Change-attrib-respon" },
3095   {  18, "f-open-request" },
3096   {  19, "f-open-response" },
3097   {  20, "f-close-request" },
3098   {  21, "f-close-response" },
3099   {  22, "f-begin-group-request" },
3100   {  23, "f-begin-group-response" },
3101   {  24, "f-end-group-request" },
3102   {  25, "f-end-group-response" },
3103   {  26, "f-recover-request" },
3104   {  27, "f-recover-response" },
3105   {  28, "f-locate-request" },
3106   {  29, "f-locate-response" },
3107   {  30, "f-erase-request" },
3108   {  31, "f-erase-response" },
3109   { 0, NULL }
3110 };
3111
3112 static const ber_choice_t File_PDU_choice[] = {
3113   {   6, &hf_ftam_f_select_request, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ftam_F_SELECT_request },
3114   {   7, &hf_ftam_f_select_response, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ftam_F_SELECT_response },
3115   {   8, &hf_ftam_f_deselect_request, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ftam_F_DESELECT_request },
3116   {   9, &hf_ftam_f_deselect_response, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ftam_F_DESELECT_response },
3117   {  10, &hf_ftam_f_create_request, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ftam_F_CREATE_request },
3118   {  11, &hf_ftam_f_create_response, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ftam_F_CREATE_response },
3119   {  12, &hf_ftam_f_delete_request, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_ftam_F_DELETE_request },
3120   {  13, &hf_ftam_f_delete_response, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_ftam_F_DELETE_response },
3121   {  14, &hf_ftam_f_read_attrib_request, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_ATTRIB_request },
3122   {  15, &hf_ftam_f_read_attrib_response, BER_CLASS_CON, 15, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_ATTRIB_response },
3123   {  16, &hf_ftam_f_Change_attrib_reques, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_ATTRIB_request },
3124   {  17, &hf_ftam_f_Change_attrib_respon, BER_CLASS_CON, 17, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_ATTRIB_response },
3125   {  18, &hf_ftam_f_open_request , BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ftam_F_OPEN_request },
3126   {  19, &hf_ftam_f_open_response, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ftam_F_OPEN_response },
3127   {  20, &hf_ftam_f_close_request, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_ftam_F_CLOSE_request },
3128   {  21, &hf_ftam_f_close_response, BER_CLASS_CON, 21, BER_FLAGS_IMPLTAG, dissect_ftam_F_CLOSE_response },
3129   {  22, &hf_ftam_f_begin_group_request, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ftam_F_BEGIN_GROUP_request },
3130   {  23, &hf_ftam_f_begin_group_response, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_F_BEGIN_GROUP_response },
3131   {  24, &hf_ftam_f_end_group_request, BER_CLASS_CON, 24, BER_FLAGS_IMPLTAG, dissect_ftam_F_END_GROUP_request },
3132   {  25, &hf_ftam_f_end_group_response, BER_CLASS_CON, 25, BER_FLAGS_IMPLTAG, dissect_ftam_F_END_GROUP_response },
3133   {  26, &hf_ftam_f_recover_request, BER_CLASS_CON, 26, BER_FLAGS_IMPLTAG, dissect_ftam_F_RECOVER_request },
3134   {  27, &hf_ftam_f_recover_response, BER_CLASS_CON, 27, BER_FLAGS_IMPLTAG, dissect_ftam_F_RECOVER_response },
3135   {  28, &hf_ftam_f_locate_request, BER_CLASS_CON, 28, BER_FLAGS_IMPLTAG, dissect_ftam_F_LOCATE_request },
3136   {  29, &hf_ftam_f_locate_response, BER_CLASS_CON, 29, BER_FLAGS_IMPLTAG, dissect_ftam_F_LOCATE_response },
3137   {  30, &hf_ftam_f_erase_request, BER_CLASS_CON, 30, BER_FLAGS_IMPLTAG, dissect_ftam_F_ERASE_request },
3138   {  31, &hf_ftam_f_erase_response, BER_CLASS_CON, 31, BER_FLAGS_IMPLTAG, dissect_ftam_F_ERASE_response },
3139   { 0, NULL, 0, 0, 0, NULL }
3140 };
3141
3142 static int
3143 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_) {
3144 #line 101 "ftam.cnf"
3145   gint branch_taken;
3146
3147     offset = dissect_ber_choice(actx, tree, tvb, offset,
3148                                  File_PDU_choice, hf_index, ett_ftam_File_PDU,
3149                                  &branch_taken);
3150
3151
3152   if( (branch_taken!=-1) && ftam_File_PDU_vals[branch_taken].strptr ){
3153         if (check_col(actx->pinfo->cinfo, COL_INFO)) {
3154                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s:", ftam_File_PDU_vals[branch_taken].strptr);
3155         }
3156   }
3157
3158
3159
3160   return offset;
3161 }
3162
3163
3164 static const value_string ftam_T_access_context_vals[] = {
3165   {   0, "hierarchical-all-data-units" },
3166   {   1, "hierarchical-no-data-units" },
3167   {   2, "flat-all-data-units" },
3168   {   3, "flat-one-level-data-unit" },
3169   {   4, "flat-Single-data-unit" },
3170   {   5, "unstructured-all-data-units" },
3171   {   6, "unstructured-Single-data-unit" },
3172   { 0, NULL }
3173 };
3174
3175
3176 static int
3177 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_) {
3178   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3179                                                 NULL);
3180
3181   return offset;
3182 }
3183
3184
3185 static const ber_sequence_t Access_Context_U_sequence[] = {
3186   { &hf_ftam_access_context , BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_access_context },
3187   { &hf_ftam_level_number   , BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3188   { NULL, 0, 0, 0, NULL }
3189 };
3190
3191 static int
3192 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_) {
3193   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3194                                    Access_Context_U_sequence, hf_index, ett_ftam_Access_Context_U);
3195
3196   return offset;
3197 }
3198
3199
3200
3201 static int
3202 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_) {
3203   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3204                                       hf_index, BER_CLASS_APP, 1, TRUE, dissect_ftam_Access_Context_U);
3205
3206   return offset;
3207 }
3208
3209
3210 static const ber_sequence_t F_READ_request_sequence[] = {
3211   { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3212   { &hf_ftam_read_access_context, BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Context },
3213   { &hf_ftam_fadu_lock      , BER_CLASS_APP, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Lock },
3214   { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3215   { NULL, 0, 0, 0, NULL }
3216 };
3217
3218 static int
3219 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_) {
3220   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3221                                    F_READ_request_sequence, hf_index, ett_ftam_F_READ_request);
3222
3223   return offset;
3224 }
3225
3226
3227 static const value_string ftam_T_file_access_data_unit_Operation_vals[] = {
3228   {   0, "insert" },
3229   {   1, "replace" },
3230   {   2, "extend" },
3231   { 0, NULL }
3232 };
3233
3234
3235 static int
3236 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_) {
3237   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3238                                                 NULL);
3239
3240   return offset;
3241 }
3242
3243
3244 static const ber_sequence_t F_WRITE_request_sequence[] = {
3245   { &hf_ftam_file_access_data_unit_Operation, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_T_file_access_data_unit_Operation },
3246   { &hf_ftam_file_access_data_unit_identity, BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Identity },
3247   { &hf_ftam_fadu_lock      , BER_CLASS_APP, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_FADU_Lock },
3248   { &hf_ftam_transfer_number, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3249   { NULL, 0, 0, 0, NULL }
3250 };
3251
3252 static int
3253 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_) {
3254   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3255                                    F_WRITE_request_sequence, hf_index, ett_ftam_F_WRITE_request);
3256
3257   return offset;
3258 }
3259
3260
3261 static const ber_sequence_t F_DATA_END_request_sequence[] = {
3262   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3263   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3264   { NULL, 0, 0, 0, NULL }
3265 };
3266
3267 static int
3268 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_) {
3269   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3270                                    F_DATA_END_request_sequence, hf_index, ett_ftam_F_DATA_END_request);
3271
3272   return offset;
3273 }
3274
3275
3276 static const value_string ftam_Request_Type_U_vals[] = {
3277   {   0, "read" },
3278   {   1, "write" },
3279   { 0, NULL }
3280 };
3281
3282
3283 static int
3284 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_) {
3285   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3286                                                 NULL);
3287
3288   return offset;
3289 }
3290
3291
3292
3293 static int
3294 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_) {
3295   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3296                                       hf_index, BER_CLASS_APP, 31, TRUE, dissect_ftam_Request_Type_U);
3297
3298   return offset;
3299 }
3300
3301
3302 static const ber_sequence_t F_TRANSFER_END_request_sequence[] = {
3303   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
3304   { &hf_ftam_request_type   , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3305   { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3306   { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3307   { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3308   { NULL, 0, 0, 0, NULL }
3309 };
3310
3311 static int
3312 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_) {
3313   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3314                                    F_TRANSFER_END_request_sequence, hf_index, ett_ftam_F_TRANSFER_END_request);
3315
3316   return offset;
3317 }
3318
3319
3320 static const ber_sequence_t F_TRANSFER_END_response_sequence[] = {
3321   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3322   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
3323   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3324   { &hf_ftam_request_type   , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3325   { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3326   { NULL, 0, 0, 0, NULL }
3327 };
3328
3329 static int
3330 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_) {
3331   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3332                                    F_TRANSFER_END_response_sequence, hf_index, ett_ftam_F_TRANSFER_END_response);
3333
3334   return offset;
3335 }
3336
3337
3338 static const ber_sequence_t F_CANCEL_request_sequence[] = {
3339   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3340   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
3341   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3342   { &hf_ftam_request_type   , BER_CLASS_APP, 31, BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3343   { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3344   { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3345   { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3346   { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3347   { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3348   { NULL, 0, 0, 0, NULL }
3349 };
3350
3351 static int
3352 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_) {
3353   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3354                                    F_CANCEL_request_sequence, hf_index, ett_ftam_F_CANCEL_request);
3355
3356   return offset;
3357 }
3358
3359
3360 static const ber_sequence_t F_CANCEL_response_sequence[] = {
3361   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3362   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
3363   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3364   { &hf_ftam_request_type   , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3365   { &hf_ftam_transfer_number, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3366   { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3367   { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3368   { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3369   { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3370   { NULL, 0, 0, 0, NULL }
3371 };
3372
3373 static int
3374 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_) {
3375   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3376                                    F_CANCEL_response_sequence, hf_index, ett_ftam_F_CANCEL_response);
3377
3378   return offset;
3379 }
3380
3381
3382 static const ber_sequence_t F_RESTART_request_sequence[] = {
3383   { &hf_ftam_checkpoint_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3384   { &hf_ftam_request_type   , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3385   { &hf_ftam_transfer_number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3386   { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3387   { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3388   { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3389   { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3390   { NULL, 0, 0, 0, NULL }
3391 };
3392
3393 static int
3394 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_) {
3395   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3396                                    F_RESTART_request_sequence, hf_index, ett_ftam_F_RESTART_request);
3397
3398   return offset;
3399 }
3400
3401
3402 static const ber_sequence_t F_RESTART_response_sequence[] = {
3403   { &hf_ftam_checkpoint_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3404   { &hf_ftam_request_type   , BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Type },
3405   { &hf_ftam_transfer_number, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3406   { &hf_ftam_last_transfer_end_read_request, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3407   { &hf_ftam_last_transfer_end_read_response, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3408   { &hf_ftam_last_transfer_end_write_request, BER_CLASS_CON, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3409   { &hf_ftam_last_transfer_end_write_response, BER_CLASS_CON, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3410   { NULL, 0, 0, 0, NULL }
3411 };
3412
3413 static int
3414 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_) {
3415   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3416                                    F_RESTART_response_sequence, hf_index, ett_ftam_F_RESTART_response);
3417
3418   return offset;
3419 }
3420
3421
3422 static const value_string ftam_Bulk_Data_PDU_vals[] = {
3423   {  32, "f-read-request" },
3424   {  33, "f-write-request" },
3425   {  34, "f-data-end-request" },
3426   {  35, "f-transfer-end-request" },
3427   {  36, "f-transfer-end-response" },
3428   {  37, "f-cancel-request" },
3429   {  38, "f-cancel-response" },
3430   {  39, "f-restart-request" },
3431   {  40, "f-restart-response" },
3432   { 0, NULL }
3433 };
3434
3435 static const ber_choice_t Bulk_Data_PDU_choice[] = {
3436   {  32, &hf_ftam_f_read_request , BER_CLASS_CON, 32, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_request },
3437   {  33, &hf_ftam_f_write_request, BER_CLASS_CON, 33, BER_FLAGS_IMPLTAG, dissect_ftam_F_WRITE_request },
3438   {  34, &hf_ftam_f_data_end_request, BER_CLASS_CON, 34, BER_FLAGS_IMPLTAG, dissect_ftam_F_DATA_END_request },
3439   {  35, &hf_ftam_f_transfer_end_request, BER_CLASS_CON, 35, BER_FLAGS_IMPLTAG, dissect_ftam_F_TRANSFER_END_request },
3440   {  36, &hf_ftam_f_transfer_end_response, BER_CLASS_CON, 36, BER_FLAGS_IMPLTAG, dissect_ftam_F_TRANSFER_END_response },
3441   {  37, &hf_ftam_f_cancel_request, BER_CLASS_CON, 37, BER_FLAGS_IMPLTAG, dissect_ftam_F_CANCEL_request },
3442   {  38, &hf_ftam_f_cancel_response, BER_CLASS_CON, 38, BER_FLAGS_IMPLTAG, dissect_ftam_F_CANCEL_response },
3443   {  39, &hf_ftam_f_restart_request, BER_CLASS_CON, 39, BER_FLAGS_IMPLTAG, dissect_ftam_F_RESTART_request },
3444   {  40, &hf_ftam_f_restart_response, BER_CLASS_CON, 40, BER_FLAGS_IMPLTAG, dissect_ftam_F_RESTART_response },
3445   { 0, NULL, 0, 0, 0, NULL }
3446 };
3447
3448 static int
3449 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_) {
3450 #line 112 "ftam.cnf"
3451   gint branch_taken;
3452
3453     offset = dissect_ber_choice(actx, tree, tvb, offset,
3454                                  Bulk_Data_PDU_choice, hf_index, ett_ftam_Bulk_Data_PDU,
3455                                  &branch_taken);
3456
3457
3458   if( (branch_taken!=-1) && ftam_Bulk_Data_PDU_vals[branch_taken].strptr ){
3459         if (check_col(actx->pinfo->cinfo, COL_INFO)) {
3460                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s:", ftam_Bulk_Data_PDU_vals[branch_taken].strptr);
3461         }
3462   }
3463
3464
3465
3466   return offset;
3467 }
3468
3469
3470
3471 static int
3472 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_) {
3473   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3474                                       hf_index, BER_CLASS_APP, 24, FALSE, dissect_ftam_Pathname_Attribute);
3475
3476   return offset;
3477 }
3478
3479
3480 static const ber_sequence_t F_CHANGE_PREFIX_request_sequence[] = {
3481   { &hf_ftam_reset          , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
3482   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
3483   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
3484   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
3485   { NULL, 0, 0, 0, NULL }
3486 };
3487
3488 static int
3489 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_) {
3490   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3491                                    F_CHANGE_PREFIX_request_sequence, hf_index, ett_ftam_F_CHANGE_PREFIX_request);
3492
3493   return offset;
3494 }
3495
3496
3497 static const ber_sequence_t F_CHANGE_PREFIX_response_sequence[] = {
3498   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
3499   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
3500   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
3501   { NULL, 0, 0, 0, NULL }
3502 };
3503
3504 static int
3505 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_) {
3506   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3507                                    F_CHANGE_PREFIX_response_sequence, hf_index, ett_ftam_F_CHANGE_PREFIX_response);
3508
3509   return offset;
3510 }
3511
3512
3513 static const asn_namedbit Equality_Comparision_bits[] = {
3514   {  0, &hf_ftam_Equality_Comparision_no_value_available_matches, -1, -1, "no-value-available-matches", NULL },
3515   {  1, &hf_ftam_Equality_Comparision_equals_matches, -1, -1, "equals-matches", NULL },
3516   { 0, NULL, 0, 0, NULL, NULL }
3517 };
3518
3519 static int
3520 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_) {
3521   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3522                                     Equality_Comparision_bits, hf_index, ett_ftam_Equality_Comparision,
3523                                     NULL);
3524
3525   return offset;
3526 }
3527
3528
3529 static const value_string ftam_T_string_value_item_vals[] = {
3530   {   2, "substring-match" },
3531   {   3, "any-match" },
3532   {   4, "number-of-characters-match" },
3533   { 0, NULL }
3534 };
3535
3536 static const ber_choice_t T_string_value_item_choice[] = {
3537   {   2, &hf_ftam_substring_match, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_GraphicString },
3538   {   3, &hf_ftam_any_match      , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
3539   {   4, &hf_ftam_number_of_characters_match, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3540   { 0, NULL, 0, 0, 0, NULL }
3541 };
3542
3543 static int
3544 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_) {
3545   offset = dissect_ber_choice(actx, tree, tvb, offset,
3546                                  T_string_value_item_choice, hf_index, ett_ftam_T_string_value_item,
3547                                  NULL);
3548
3549   return offset;
3550 }
3551
3552
3553 static const ber_sequence_t T_string_value_sequence_of[1] = {
3554   { &hf_ftam_string_value_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_T_string_value_item },
3555 };
3556
3557 static int
3558 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_) {
3559   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3560                                       T_string_value_sequence_of, hf_index, ett_ftam_T_string_value);
3561
3562   return offset;
3563 }
3564
3565
3566 static const ber_sequence_t String_Pattern_sequence[] = {
3567   { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3568   { &hf_ftam_string_value   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_string_value },
3569   { NULL, 0, 0, 0, NULL }
3570 };
3571
3572 static int
3573 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_) {
3574   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3575                                    String_Pattern_sequence, hf_index, ett_ftam_String_Pattern);
3576
3577   return offset;
3578 }
3579
3580
3581 static const value_string ftam_T_pathname_value_item_vals[] = {
3582   {   2, "string-match" },
3583   {   3, "any-match" },
3584   { 0, NULL }
3585 };
3586
3587 static const ber_choice_t T_pathname_value_item_choice[] = {
3588   {   2, &hf_ftam_string_match   , BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_String_Pattern },
3589   {   3, &hf_ftam_any_match      , BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_NULL },
3590   { 0, NULL, 0, 0, 0, NULL }
3591 };
3592
3593 static int
3594 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_) {
3595   offset = dissect_ber_choice(actx, tree, tvb, offset,
3596                                  T_pathname_value_item_choice, hf_index, ett_ftam_T_pathname_value_item,
3597                                  NULL);
3598
3599   return offset;
3600 }
3601
3602
3603 static const ber_sequence_t T_pathname_value_sequence_of[1] = {
3604   { &hf_ftam_pathname_value_item, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_T_pathname_value_item },
3605 };
3606
3607 static int
3608 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_) {
3609   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3610                                       T_pathname_value_sequence_of, hf_index, ett_ftam_T_pathname_value);
3611
3612   return offset;
3613 }
3614
3615
3616 static const ber_sequence_t Pathname_Pattern_sequence[] = {
3617   { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3618   { &hf_ftam_pathname_value , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_pathname_value },
3619   { NULL, 0, 0, 0, NULL }
3620 };
3621
3622 static int
3623 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_) {
3624   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3625                                    Pathname_Pattern_sequence, hf_index, ett_ftam_Pathname_Pattern);
3626
3627   return offset;
3628 }
3629
3630
3631 static const asn_namedbit Relational_Comparision_bits[] = {
3632   {  0, &hf_ftam_Relational_Comparision_no_value_available_matches, -1, -1, "no-value-available-matches", NULL },
3633   {  1, &hf_ftam_Relational_Comparision_equals_matches, -1, -1, "equals-matches", NULL },
3634   {  2, &hf_ftam_Relational_Comparision_less_than_matches, -1, -1, "less-than-matches", NULL },
3635   {  3, &hf_ftam_Relational_Comparision_greater_than_matches, -1, -1, "greater-than-matches", NULL },
3636   { 0, NULL, 0, 0, NULL, NULL }
3637 };
3638
3639 static int
3640 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_) {
3641   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3642                                     Relational_Comparision_bits, hf_index, ett_ftam_Relational_Comparision,
3643                                     NULL);
3644
3645   return offset;
3646 }
3647
3648
3649 static const ber_sequence_t Integer_Pattern_sequence[] = {
3650   { &hf_ftam_relational_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Relational_Comparision },
3651   { &hf_ftam_integer_value  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
3652   { NULL, 0, 0, 0, NULL }
3653 };
3654
3655 static int
3656 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_) {
3657   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3658                                    Integer_Pattern_sequence, hf_index, ett_ftam_Integer_Pattern);
3659
3660   return offset;
3661 }
3662
3663
3664
3665 static int
3666 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_) {
3667   offset = dissect_ber_bitstring(implicit_tag, actx, tree, tvb, offset,
3668                                     NULL, hf_index, -1,
3669                                     NULL);
3670
3671   return offset;
3672 }
3673
3674
3675 static const ber_sequence_t Bitstring_Pattern_sequence[] = {
3676   { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3677   { &hf_ftam_match_bitstring, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_BIT_STRING },
3678   { &hf_ftam_significance_bitstring, BER_CLASS_CON, 2, BER_FLAGS_IMPLTAG, dissect_ftam_BIT_STRING },
3679   { NULL, 0, 0, 0, NULL }
3680 };
3681
3682 static int
3683 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_) {
3684   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3685                                    Bitstring_Pattern_sequence, hf_index, ett_ftam_Bitstring_Pattern);
3686
3687   return offset;
3688 }
3689
3690
3691 static const ber_sequence_t Object_Identifier_Pattern_sequence[] = {
3692   { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3693   { &hf_ftam_object_identifier_value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_OBJECT_IDENTIFIER },
3694   { NULL, 0, 0, 0, NULL }
3695 };
3696
3697 static int
3698 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_) {
3699   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3700                                    Object_Identifier_Pattern_sequence, hf_index, ett_ftam_Object_Identifier_Pattern);
3701
3702   return offset;
3703 }
3704
3705
3706 static const ber_sequence_t T_constraint_set_abstract_Syntax_Pattern_sequence[] = {
3707   { &hf_ftam_constraint_Set_Pattern, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Identifier_Pattern },
3708   { &hf_ftam_abstract_Syntax_Pattern, BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Object_Identifier_Pattern },
3709   { NULL, 0, 0, 0, NULL }
3710 };
3711
3712 static int
3713 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_) {
3714   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3715                                    T_constraint_set_abstract_Syntax_Pattern_sequence, hf_index, ett_ftam_T_constraint_set_abstract_Syntax_Pattern);
3716
3717   return offset;
3718 }
3719
3720
3721 static const value_string ftam_Contents_Type_Pattern_vals[] = {
3722   {   0, "document-type-Pattern" },
3723   {   1, "constraint-set-abstract-Syntax-Pattern" },
3724   { 0, NULL }
3725 };
3726
3727 static const ber_choice_t Contents_Type_Pattern_choice[] = {
3728   {   0, &hf_ftam_document_type_Pattern, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Object_Identifier_Pattern },
3729   {   1, &hf_ftam_constraint_set_abstract_Syntax_Pattern, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_constraint_set_abstract_Syntax_Pattern },
3730   { 0, NULL, 0, 0, 0, NULL }
3731 };
3732
3733 static int
3734 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_) {
3735   offset = dissect_ber_choice(actx, tree, tvb, offset,
3736                                  Contents_Type_Pattern_choice, hf_index, ett_ftam_Contents_Type_Pattern,
3737                                  NULL);
3738
3739   return offset;
3740 }
3741
3742
3743 static const ber_sequence_t Date_and_Time_Pattern_sequence[] = {
3744   { &hf_ftam_relational_camparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3745   { &hf_ftam_time_and_date_value, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_GeneralizedTime },
3746   { NULL, 0, 0, 0, NULL }
3747 };
3748
3749 static int
3750 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_) {
3751   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3752                                    Date_and_Time_Pattern_sequence, hf_index, ett_ftam_Date_and_Time_Pattern);
3753
3754   return offset;
3755 }
3756
3757
3758
3759 static int
3760 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_) {
3761   offset = dissect_ftam_String_Pattern(implicit_tag, tvb, offset, actx, tree, hf_index);
3762
3763   return offset;
3764 }
3765
3766
3767 static const ber_sequence_t Boolean_Pattern_sequence[] = {
3768   { &hf_ftam_equality_comparision, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Equality_Comparision },
3769   { &hf_ftam_boolean_value  , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
3770   { NULL, 0, 0, 0, NULL }
3771 };
3772
3773 static int
3774 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_) {
3775   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3776                                    Boolean_Pattern_sequence, hf_index, ett_ftam_Boolean_Pattern);
3777
3778   return offset;
3779 }
3780
3781
3782
3783 static int
3784 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_) {
3785   offset = dissect_ber_object_identifier_str(implicit_tag, actx, tree, tvb, offset, hf_index, &object_identifier_id);
3786
3787   return offset;
3788 }
3789
3790
3791
3792 static int
3793 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_) {
3794 #line 82 "ftam.cnf"
3795   offset=call_ber_oid_callback(object_identifier_id, tvb, offset, actx->pinfo, tree);
3796
3797
3798
3799   return offset;
3800 }
3801
3802
3803 static const ber_sequence_t T_extension_set_attribute_Patterns_item_sequence[] = {
3804   { &hf_ftam_attribute_extension_attribute_identifier, BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_ftam_T_attribute_extension_attribute_identifier },
3805   { &hf_ftam_extension_attribute_Pattern, BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ftam_T_extension_attribute_Pattern },
3806   { NULL, 0, 0, 0, NULL }
3807 };
3808
3809 static int
3810 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_) {
3811   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3812                                    T_extension_set_attribute_Patterns_item_sequence, hf_index, ett_ftam_T_extension_set_attribute_Patterns_item);
3813
3814   return offset;
3815 }
3816
3817
3818 static const ber_sequence_t T_extension_set_attribute_Patterns_sequence_of[1] = {
3819   { &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 },
3820 };
3821
3822 static int
3823 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_) {
3824   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3825                                       T_extension_set_attribute_Patterns_sequence_of, hf_index, ett_ftam_T_extension_set_attribute_Patterns);
3826
3827   return offset;
3828 }
3829
3830
3831 static const ber_sequence_t Attribute_Extensions_Pattern_item_sequence[] = {
3832   { &hf_ftam_extension_set_identifier, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Extension_Set_Identifier },
3833   { &hf_ftam_extension_set_attribute_Patterns, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_extension_set_attribute_Patterns },
3834   { NULL, 0, 0, 0, NULL }
3835 };
3836
3837 static int
3838 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_) {
3839   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3840                                    Attribute_Extensions_Pattern_item_sequence, hf_index, ett_ftam_Attribute_Extensions_Pattern_item);
3841
3842   return offset;
3843 }
3844
3845
3846 static const ber_sequence_t Attribute_Extensions_Pattern_sequence_of[1] = {
3847   { &hf_ftam_Attribute_Extensions_Pattern_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Extensions_Pattern_item },
3848 };
3849
3850 static int
3851 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_) {
3852   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3853                                       Attribute_Extensions_Pattern_sequence_of, hf_index, ett_ftam_Attribute_Extensions_Pattern);
3854
3855   return offset;
3856 }
3857
3858
3859 static const value_string ftam_AND_Set_item_vals[] = {
3860   {   0, "pathname-Pattern" },
3861   {  18, "object-type-Pattern" },
3862   {   1, "permitted-actions-Pattern" },
3863   {   2, "contents-type-Pattern" },
3864   {  19, "linked-Object-Pattern" },
3865   {  23, "child-objects-Pattern" },
3866   {  20, "primaty-pathname-Pattern" },
3867   {   3, "storage-account-Pattern" },
3868   {   4, "date-and-time-of-creation-Pattern" },
3869   {   5, "date-and-time-of-last-modification-Pattern" },
3870   {   6, "date-and-time-of-last-read-access-Pattern" },
3871   {   7, "date-and-time-of-last-attribute-modification-Pattern" },
3872   {   8, "identity-of-creator-Pattern" },
3873   {   9, "identity-of-last-modifier-Pattern" },
3874   {  10, "identity-of-last-reader-Pattern" },
3875   {  11, "identity-of-last-attribute-modifier-Pattern" },
3876   {  12, "object-availabiiity-Pattern" },
3877   {  13, "object-size-Pattern" },
3878   {  14, "future-object-size-Pattern" },
3879   {  16, "legal-quailfication-Pattern" },
3880   {  22, "attribute-extensions-pattern" },
3881   { 0, NULL }
3882 };
3883
3884 static const ber_choice_t AND_Set_item_choice[] = {
3885   {   0, &hf_ftam_pathname_Pattern, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname_Pattern },
3886   {  18, &hf_ftam_object_type_Pattern, BER_CLASS_CON, 18, BER_FLAGS_IMPLTAG, dissect_ftam_Integer_Pattern },
3887   {   1, &hf_ftam_permitted_actions_Pattern, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Bitstring_Pattern },
3888   {   2, &hf_ftam_contents_type_Pattern, BER_CLASS_CON, 2, 0, dissect_ftam_Contents_Type_Pattern },
3889   {  19, &hf_ftam_linked_Object_Pattern, BER_CLASS_CON, 19, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname_Pattern },
3890   {  23, &hf_ftam_child_objects_Pattern, BER_CLASS_CON, 23, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname_Pattern },
3891   {  20, &hf_ftam_primaty_pathname_Pattern, BER_CLASS_CON, 20, BER_FLAGS_IMPLTAG, dissect_ftam_Pathname_Pattern },
3892   {   3, &hf_ftam_storage_account_Pattern, BER_CLASS_CON, 3, BER_FLAGS_IMPLTAG, dissect_ftam_String_Pattern },
3893   {   4, &hf_ftam_date_and_time_of_creation_Pattern, BER_CLASS_CON, 4, BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Pattern },
3894   {   5, &hf_ftam_date_and_time_of_last_modification_Pattern, BER_CLASS_CON, 5, BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Pattern },
3895   {   6, &hf_ftam_date_and_time_of_last_read_access_Pattern, BER_CLASS_CON, 6, BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Pattern },
3896   {   7, &hf_ftam_date_and_time_of_last_attribute_modification_Pattern, BER_CLASS_CON, 7, BER_FLAGS_IMPLTAG, dissect_ftam_Date_and_Time_Pattern },
3897   {   8, &hf_ftam_identity_of_creator_Pattern, BER_CLASS_CON, 8, BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity_Pattern },
3898   {   9, &hf_ftam_identity_of_last_modifier_Pattern, BER_CLASS_CON, 9, BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity_Pattern },
3899   {  10, &hf_ftam_identity_of_last_reader_Pattern, BER_CLASS_CON, 10, BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity_Pattern },
3900   {  11, &hf_ftam_identity_of_last_attribute_modifier_Pattern, BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ftam_User_Identity_Pattern },
3901   {  12, &hf_ftam_object_availabiiity_Pattern, BER_CLASS_CON, 12, BER_FLAGS_IMPLTAG, dissect_ftam_Boolean_Pattern },
3902   {  13, &hf_ftam_object_size_Pattern, BER_CLASS_CON, 13, BER_FLAGS_IMPLTAG, dissect_ftam_Integer_Pattern },
3903   {  14, &hf_ftam_future_object_size_Pattern, BER_CLASS_CON, 14, BER_FLAGS_IMPLTAG, dissect_ftam_Integer_Pattern },
3904   {  16, &hf_ftam_legal_quailfication_Pattern, BER_CLASS_CON, 16, BER_FLAGS_IMPLTAG, dissect_ftam_String_Pattern },
3905   {  22, &hf_ftam_attribute_extensions_pattern, BER_CLASS_CON, 22, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extensions_Pattern },
3906   { 0, NULL, 0, 0, 0, NULL }
3907 };
3908
3909 static int
3910 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_) {
3911   offset = dissect_ber_choice(actx, tree, tvb, offset,
3912                                  AND_Set_item_choice, hf_index, ett_ftam_AND_Set_item,
3913                                  NULL);
3914
3915   return offset;
3916 }
3917
3918
3919 static const ber_sequence_t AND_Set_sequence_of[1] = {
3920   { &hf_ftam_AND_Set_item   , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_AND_Set_item },
3921 };
3922
3923 static int
3924 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_) {
3925   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3926                                       AND_Set_sequence_of, hf_index, ett_ftam_AND_Set);
3927
3928   return offset;
3929 }
3930
3931
3932 static const ber_sequence_t OR_Set_sequence_of[1] = {
3933   { &hf_ftam_OR_Set_item    , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_AND_Set },
3934 };
3935
3936 static int
3937 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_) {
3938   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3939                                       OR_Set_sequence_of, hf_index, ett_ftam_OR_Set);
3940
3941   return offset;
3942 }
3943
3944
3945
3946 static int
3947 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_) {
3948   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
3949                                       hf_index, BER_CLASS_APP, 26, TRUE, dissect_ftam_OR_Set);
3950
3951   return offset;
3952 }
3953
3954
3955 static const value_string ftam_T_retrieval_scope_vals[] = {
3956   {   0, "child" },
3957   {   1, "all" },
3958   { 0, NULL }
3959 };
3960
3961
3962 static int
3963 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_) {
3964   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
3965                                                 NULL);
3966
3967   return offset;
3968 }
3969
3970
3971 static const ber_sequence_t T__untag_item_sequence[] = {
3972   { &hf_ftam_root_directory , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
3973   { &hf_ftam_retrieval_scope, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_T_retrieval_scope },
3974   { NULL, 0, 0, 0, NULL }
3975 };
3976
3977 static int
3978 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_) {
3979   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
3980                                    T__untag_item_sequence, hf_index, ett_ftam_T__untag_item);
3981
3982   return offset;
3983 }
3984
3985
3986 static const ber_sequence_t Scope_U_sequence_of[1] = {
3987   { &hf_ftam__untag_item_03 , BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_T__untag_item },
3988 };
3989
3990 static int
3991 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_) {
3992   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
3993                                       Scope_U_sequence_of, hf_index, ett_ftam_Scope_U);
3994
3995   return offset;
3996 }
3997
3998
3999
4000 static int
4001 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_) {
4002   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4003                                       hf_index, BER_CLASS_APP, 28, TRUE, dissect_ftam_Scope_U);
4004
4005   return offset;
4006 }
4007
4008
4009 static const ber_sequence_t F_LIST_request_sequence[] = {
4010   { &hf_ftam_attribute_value_asset_tions, BER_CLASS_APP, 26, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Value_Assertions },
4011   { &hf_ftam_scope          , BER_CLASS_APP, 28, BER_FLAGS_NOOWNTAG, dissect_ftam_Scope },
4012   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4013   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4014   { &hf_ftam_attribute_names, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Names },
4015   { &hf_ftam_attribute_extension_names, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extension_Names },
4016   { NULL, 0, 0, 0, NULL }
4017 };
4018
4019 static int
4020 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_) {
4021   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4022                                    F_LIST_request_sequence, hf_index, ett_ftam_F_LIST_request);
4023
4024   return offset;
4025 }
4026
4027
4028 static const ber_sequence_t SEQUENCE_OF_Read_Attributes_sequence_of[1] = {
4029   { &hf_ftam__untag_item_04 , BER_CLASS_APP, 18, BER_FLAGS_NOOWNTAG, dissect_ftam_Read_Attributes },
4030 };
4031
4032 static int
4033 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_) {
4034   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4035                                       SEQUENCE_OF_Read_Attributes_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Read_Attributes);
4036
4037   return offset;
4038 }
4039
4040
4041
4042 static int
4043 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_) {
4044   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4045                                       hf_index, BER_CLASS_APP, 25, TRUE, dissect_ftam_SEQUENCE_OF_Read_Attributes);
4046
4047   return offset;
4048 }
4049
4050
4051 static const ber_sequence_t F_LIST_response_sequence[] = {
4052   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4053   { &hf_ftam_objects_attributes_list, BER_CLASS_APP, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Objects_Attributes_List },
4054   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4055   { NULL, 0, 0, 0, NULL }
4056 };
4057
4058 static int
4059 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_) {
4060   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4061                                    F_LIST_response_sequence, hf_index, ett_ftam_F_LIST_response);
4062
4063   return offset;
4064 }
4065
4066
4067 static const ber_sequence_t F_GROUP_SELECT_request_sequence[] = {
4068   { &hf_ftam_attribute_value_assertions, BER_CLASS_APP, 26, BER_FLAGS_NOOWNTAG, dissect_ftam_Attribute_Value_Assertions },
4069   { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
4070   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4071   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4072   { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
4073   { &hf_ftam_maximum_set_size, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
4074   { &hf_ftam_scope          , BER_CLASS_APP, 28, BER_FLAGS_NOOWNTAG, dissect_ftam_Scope },
4075   { &hf_ftam_account        , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
4076   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4077   { NULL, 0, 0, 0, NULL }
4078 };
4079
4080 static int
4081 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_) {
4082   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4083                                    F_GROUP_SELECT_request_sequence, hf_index, ett_ftam_F_GROUP_SELECT_request);
4084
4085   return offset;
4086 }
4087
4088
4089 static const ber_sequence_t F_GROUP_SELECT_response_sequence[] = {
4090   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4091   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4092   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4093   { NULL, 0, 0, 0, NULL }
4094 };
4095
4096 static int
4097 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_) {
4098   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4099                                    F_GROUP_SELECT_response_sequence, hf_index, ett_ftam_F_GROUP_SELECT_response);
4100
4101   return offset;
4102 }
4103
4104
4105 static const value_string ftam_Request_Operation_Result_U_vals[] = {
4106   {   0, "summary" },
4107   {   1, "fiii-list" },
4108   { 0, NULL }
4109 };
4110
4111
4112 static int
4113 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_) {
4114   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4115                                                 NULL);
4116
4117   return offset;
4118 }
4119
4120
4121
4122 static int
4123 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_) {
4124   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4125                                       hf_index, BER_CLASS_APP, 31, TRUE, dissect_ftam_Request_Operation_Result_U);
4126
4127   return offset;
4128 }
4129
4130
4131 static const ber_sequence_t F_GROUP_DELETE_request_sequence[] = {
4132   { &hf_ftam_request_Operation_result, BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Operation_Result },
4133   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4134   { NULL, 0, 0, 0, NULL }
4135 };
4136
4137 static int
4138 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_) {
4139   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4140                                    F_GROUP_DELETE_request_sequence, hf_index, ett_ftam_F_GROUP_DELETE_request);
4141
4142   return offset;
4143 }
4144
4145
4146 static const ber_sequence_t SEQUENCE_OF_Pathname_sequence_of[1] = {
4147   { &hf_ftam_success_Object_names_item, BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_ftam_Pathname },
4148 };
4149
4150 static int
4151 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_) {
4152   offset = dissect_ber_sequence_of(implicit_tag, actx, tree, tvb, offset,
4153                                       SEQUENCE_OF_Pathname_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Pathname);
4154
4155   return offset;
4156 }
4157
4158
4159 static const value_string ftam_Operation_Result_U_vals[] = {
4160   {   0, "success-Object-count" },
4161   {   1, "success-Object-names" },
4162   { 0, NULL }
4163 };
4164
4165 static const ber_choice_t Operation_Result_U_choice[] = {
4166   {   0, &hf_ftam_success_Object_count, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_INTEGER },
4167   {   1, &hf_ftam_success_Object_names, BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_SEQUENCE_OF_Pathname },
4168   { 0, NULL, 0, 0, 0, NULL }
4169 };
4170
4171 static int
4172 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_) {
4173   offset = dissect_ber_choice(actx, tree, tvb, offset,
4174                                  Operation_Result_U_choice, hf_index, ett_ftam_Operation_Result_U,
4175                                  NULL);
4176
4177   return offset;
4178 }
4179
4180
4181
4182 static int
4183 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_) {
4184   offset = dissect_ber_tagged_type(implicit_tag, actx, tree, tvb, offset,
4185                                       hf_index, BER_CLASS_APP, 30, FALSE, dissect_ftam_Operation_Result_U);
4186
4187   return offset;
4188 }
4189
4190
4191 static const ber_sequence_t F_GROUP_DELETE_response_sequence[] = {
4192   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4193   { &hf_ftam_charging       , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
4194   { &hf_ftam_operation_result, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Operation_Result },
4195   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4196   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4197   { NULL, 0, 0, 0, NULL }
4198 };
4199
4200 static int
4201 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_) {
4202   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4203                                    F_GROUP_DELETE_response_sequence, hf_index, ett_ftam_F_GROUP_DELETE_response);
4204
4205   return offset;
4206 }
4207
4208
4209 static const value_string ftam_Error_Action_vals[] = {
4210   {   0, "terminate" },
4211   {   1, "continue" },
4212   { 0, NULL }
4213 };
4214
4215
4216 static int
4217 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_) {
4218   offset = dissect_ber_integer(implicit_tag, actx, tree, tvb, offset, hf_index,
4219                                                 NULL);
4220
4221   return offset;
4222 }
4223
4224
4225 static const ber_sequence_t F_GROUP_MOVE_request_sequence[] = {
4226   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4227   { &hf_ftam_override       , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
4228   { &hf_ftam_error_action   , BER_CLASS_CON, 11, BER_FLAGS_IMPLTAG, dissect_ftam_Error_Action },
4229   { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4230   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4231   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4232   { &hf_ftam_request_Operation_result, BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Operation_Result },
4233   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4234   { NULL, 0, 0, 0, NULL }
4235 };
4236
4237 static int
4238 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_) {
4239   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4240                                    F_GROUP_MOVE_request_sequence, hf_index, ett_ftam_F_GROUP_MOVE_request);
4241
4242   return offset;
4243 }
4244
4245
4246 static const ber_sequence_t F_GROUP_MOVE_response_sequence[] = {
4247   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4248   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4249   { &hf_ftam_operation_result, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Operation_Result },
4250   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4251   { NULL, 0, 0, 0, NULL }
4252 };
4253
4254 static int
4255 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_) {
4256   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4257                                    F_GROUP_MOVE_response_sequence, hf_index, ett_ftam_F_GROUP_MOVE_response);
4258
4259   return offset;
4260 }
4261
4262
4263 static const ber_sequence_t F_GROUP_COPY_request_sequence[] = {
4264   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4265   { &hf_ftam_override       , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
4266   { &hf_ftam_error_action   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Error_Action },
4267   { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4268   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4269   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4270   { &hf_ftam_request_Operation_result, BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Operation_Result },
4271   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4272   { NULL, 0, 0, 0, NULL }
4273 };
4274
4275 static int
4276 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_) {
4277   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4278                                    F_GROUP_COPY_request_sequence, hf_index, ett_ftam_F_GROUP_COPY_request);
4279
4280   return offset;
4281 }
4282
4283
4284 static const ber_sequence_t F_GROUP_COPY_response_sequence[] = {
4285   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4286   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4287   { &hf_ftam_operation_result, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Operation_Result },
4288   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4289   { NULL, 0, 0, 0, NULL }
4290 };
4291
4292 static int
4293 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_) {
4294   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4295                                    F_GROUP_COPY_response_sequence, hf_index, ett_ftam_F_GROUP_COPY_response);
4296
4297   return offset;
4298 }
4299
4300
4301 static const ber_sequence_t F_GROUP_LIST_request_sequence[] = {
4302   { &hf_ftam_attribute_names, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Names },
4303   { &hf_ftam_attribute_extension_names, BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extension_Names },
4304   { NULL, 0, 0, 0, NULL }
4305 };
4306
4307 static int
4308 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_) {
4309   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4310                                    F_GROUP_LIST_request_sequence, hf_index, ett_ftam_F_GROUP_LIST_request);
4311
4312   return offset;
4313 }
4314
4315
4316 static const ber_sequence_t F_GROUP_LIST_response_sequence[] = {
4317   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4318   { &hf_ftam_objects_attributes_list, BER_CLASS_APP, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Objects_Attributes_List },
4319   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4320   { NULL, 0, 0, 0, NULL }
4321 };
4322
4323 static int
4324 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_) {
4325   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4326                                    F_GROUP_LIST_response_sequence, hf_index, ett_ftam_F_GROUP_LIST_response);
4327
4328   return offset;
4329 }
4330
4331
4332 static const ber_sequence_t F_GROUP_CHANGE_ATTRIB_request_sequence[] = {
4333   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4334   { &hf_ftam_error_action   , BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_ftam_Error_Action },
4335   { &hf_ftam_request_Operation_result, BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Request_Operation_Result },
4336   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4337   { NULL, 0, 0, 0, NULL }
4338 };
4339
4340 static int
4341 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_) {
4342   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4343                                    F_GROUP_CHANGE_ATTRIB_request_sequence, hf_index, ett_ftam_F_GROUP_CHANGE_ATTRIB_request);
4344
4345   return offset;
4346 }
4347
4348
4349 static const ber_sequence_t F_GROUP_CHANGE_ATTRIB_response_sequence[] = {
4350   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4351   { &hf_ftam_operation_result, BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Operation_Result },
4352   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4353   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4354   { NULL, 0, 0, 0, NULL }
4355 };
4356
4357 static int
4358 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_) {
4359   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4360                                    F_GROUP_CHANGE_ATTRIB_response_sequence, hf_index, ett_ftam_F_GROUP_CHANGE_ATTRIB_response);
4361
4362   return offset;
4363 }
4364
4365
4366 static const ber_sequence_t F_SELECT_ANOTHER_request_sequence[] = {
4367   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4368   { NULL, 0, 0, 0, NULL }
4369 };
4370
4371 static int
4372 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_) {
4373   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4374                                    F_SELECT_ANOTHER_request_sequence, hf_index, ett_ftam_F_SELECT_ANOTHER_request);
4375
4376   return offset;
4377 }
4378
4379
4380 static const ber_sequence_t F_SELECT_ANOTHER_response_sequence[] = {
4381   { &hf_ftam_state_result   , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
4382   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4383   { &hf_ftam_last_member_indicator, BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_BOOLEAN },
4384   { &hf_ftam_referent_indicator, BER_CLASS_APP, 29, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Referent_Indicator },
4385   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4386   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4387   { NULL, 0, 0, 0, NULL }
4388 };
4389
4390 static int
4391 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_) {
4392   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4393                                    F_SELECT_ANOTHER_response_sequence, hf_index, ett_ftam_F_SELECT_ANOTHER_response);
4394
4395   return offset;
4396 }
4397
4398
4399 static const ber_sequence_t F_CREATE_DIRECTORY_request_sequence[] = {
4400   { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
4401   { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4402   { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
4403   { &hf_ftam_shared_ASE_infonnation, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4404   { &hf_ftam_account        , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
4405   { NULL, 0, 0, 0, NULL }
4406 };
4407
4408 static int
4409 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_) {
4410   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4411                                    F_CREATE_DIRECTORY_request_sequence, hf_index, ett_ftam_F_CREATE_DIRECTORY_request);
4412
4413   return offset;
4414 }
4415
4416
4417 static const ber_sequence_t F_CREATE_DIRECTORY_response_sequence[] = {
4418   { &hf_ftam_state_result   , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
4419   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4420   { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
4421   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4422   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4423   { NULL, 0, 0, 0, NULL }
4424 };
4425
4426 static int
4427 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_) {
4428   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4429                                    F_CREATE_DIRECTORY_response_sequence, hf_index, ett_ftam_F_CREATE_DIRECTORY_response);
4430
4431   return offset;
4432 }
4433
4434
4435 static const ber_sequence_t F_LINK_request_sequence[] = {
4436   { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
4437   { &hf_ftam_target_object  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
4438   { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4439   { &hf_ftam_requested_access, BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Request },
4440   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4441   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4442   { &hf_ftam_concurrency_control, BER_CLASS_APP, 10, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Concurrency_Control },
4443   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4444   { &hf_ftam_account        , BER_CLASS_APP, 4, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Account },
4445   { NULL, 0, 0, 0, NULL }
4446 };
4447
4448 static int
4449 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_) {
4450   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4451                                    F_LINK_request_sequence, hf_index, ett_ftam_F_LINK_request);
4452
4453   return offset;
4454 }
4455
4456
4457 static const ber_sequence_t F_LINK_response_sequence[] = {
4458   { &hf_ftam_state_result   , BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_State_Result },
4459   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4460   { &hf_ftam_initial_attributes, BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_ftam_Create_Attributes },
4461   { &hf_ftam_target_Object  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_ftam_Pathname_Attribute },
4462   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4463   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4464   { NULL, 0, 0, 0, NULL }
4465 };
4466
4467 static int
4468 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_) {
4469   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4470                                    F_LINK_response_sequence, hf_index, ett_ftam_F_LINK_response);
4471
4472   return offset;
4473 }
4474
4475
4476 static const ber_sequence_t F_UNLINK_request_sequence[] = {
4477   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4478   { NULL, 0, 0, 0, NULL }
4479 };
4480
4481 static int
4482 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_) {
4483   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4484                                    F_UNLINK_request_sequence, hf_index, ett_ftam_F_UNLINK_request);
4485
4486   return offset;
4487 }
4488
4489
4490 static const ber_sequence_t F_UNLINK_response_sequence[] = {
4491   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4492   { &hf_ftam_shared_ASE_information, BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Shared_ASE_Information },
4493   { &hf_ftam_charging       , BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Charging },
4494   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4495   { NULL, 0, 0, 0, NULL }
4496 };
4497
4498 static int
4499 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_) {
4500   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4501                                    F_UNLINK_response_sequence, hf_index, ett_ftam_F_UNLINK_response);
4502
4503   return offset;
4504 }
4505
4506
4507 static const ber_sequence_t F_READ_LINK_ATTRIB_request_sequence[] = {
4508   { &hf_ftam_attribute_names, BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Names },
4509   { &hf_ftam_attribute_extension_names, BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Attribute_Extension_Names },
4510   { NULL, 0, 0, 0, NULL }
4511 };
4512
4513 static int
4514 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_) {
4515   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4516                                    F_READ_LINK_ATTRIB_request_sequence, hf_index, ett_ftam_F_READ_LINK_ATTRIB_request);
4517
4518   return offset;
4519 }
4520
4521
4522 static const ber_sequence_t F_READ_LINK_ATTRIB_response_sequence[] = {
4523   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4524   { &hf_ftam_read_link_attributes, BER_CLASS_APP, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Read_Attributes },
4525   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4526   { NULL, 0, 0, 0, NULL }
4527 };
4528
4529 static int
4530 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_) {
4531   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4532                                    F_READ_LINK_ATTRIB_response_sequence, hf_index, ett_ftam_F_READ_LINK_ATTRIB_response);
4533
4534   return offset;
4535 }
4536
4537
4538 static const ber_sequence_t F_CHANGE_LINK_ATTRIB_request_sequence[] = {
4539   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4540   { NULL, 0, 0, 0, NULL }
4541 };
4542
4543 static int
4544 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_) {
4545   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4546                                    F_CHANGE_LINK_ATTRIB_request_sequence, hf_index, ett_ftam_F_CHANGE_LINK_ATTRIB_request);
4547
4548   return offset;
4549 }
4550
4551
4552 static const ber_sequence_t F_CHANGE_LINK_ATTRIB_response_sequence[] = {
4553   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4554   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4555   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4556   { NULL, 0, 0, 0, NULL }
4557 };
4558
4559 static int
4560 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_) {
4561   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4562                                    F_CHANGE_LINK_ATTRIB_response_sequence, hf_index, ett_ftam_F_CHANGE_LINK_ATTRIB_response);
4563
4564   return offset;
4565 }
4566
4567
4568 static const ber_sequence_t F_MOVE_request_sequence[] = {
4569   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4570   { &hf_ftam_override       , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
4571   { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4572   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4573   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4574   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4575   { NULL, 0, 0, 0, NULL }
4576 };
4577
4578 static int
4579 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_) {
4580   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4581                                    F_MOVE_request_sequence, hf_index, ett_ftam_F_MOVE_request);
4582
4583   return offset;
4584 }
4585
4586
4587 static const ber_sequence_t F_MOVE_response_sequence[] = {
4588   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4589   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4590   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4591   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4592   { NULL, 0, 0, 0, NULL }
4593 };
4594
4595 static int
4596 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_) {
4597   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4598                                    F_MOVE_response_sequence, hf_index, ett_ftam_F_MOVE_response);
4599
4600   return offset;
4601 }
4602
4603
4604 static const ber_sequence_t F_COPY_request_sequence[] = {
4605   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4606   { &hf_ftam_override       , BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_ftam_Override },
4607   { &hf_ftam_create_password, BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Password },
4608   { &hf_ftam_access_passwords, BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Access_Passwords },
4609   { &hf_ftam_path_access_passwords, BER_CLASS_APP, 27, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Path_Access_Passwords },
4610   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4611   { NULL, 0, 0, 0, NULL }
4612 };
4613
4614 static int
4615 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_) {
4616   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4617                                    F_COPY_request_sequence, hf_index, ett_ftam_F_COPY_request);
4618
4619   return offset;
4620 }
4621
4622
4623 static const ber_sequence_t F_COPY_response_sequence[] = {
4624   { &hf_ftam_action_result  , BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Action_Result },
4625   { &hf_ftam_destination_file_directory, BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Destination_File_Directory },
4626   { &hf_ftam_attributes     , BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Change_Attributes },
4627   { &hf_ftam_diagnostic     , BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_ftam_Diagnostic },
4628   { NULL, 0, 0, 0, NULL }
4629 };
4630
4631 static int
4632 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_) {
4633   offset = dissect_ber_sequence(implicit_tag, actx, tree, tvb, offset,
4634                                    F_COPY_response_sequence, hf_index, ett_ftam_F_COPY_response);
4635
4636   return offset;
4637 }
4638
4639
4640 static const value_string ftam_FSM_PDU_vals[] = {
4641   {  41, "f-Change-prefix-request" },
4642   {  42, "f-Change-prefix-response" },
4643   {  43, "f-list-request" },
4644   {  44, "f-list-response" },
4645   {  45, "f-group-select-request" },
4646   {  46, "f-group-select-response" },
4647   {  47, "f-group-delete-request" },
4648   {  48, "f-group-delete-response" },
4649   {  49, "f-group-move-request" },
4650   {  50, "f-group-move-response" },
4651   {  51, "f-group-copy-request" },
4652   {  52, "f-group-copy-response" },
4653   {  53, "f-group-list-request" },
4654   {  54, "f-group-list-response" },
4655   {  55, "f-group-Change-attrib-request" },
4656   {  56, "f-group-Change-attrib-response" },
4657   {  57, "f-select-another-request" },
4658   {  58, "f-select-another-response" },
4659   {  59, "f-create-directory-request" },
4660   {  60, "f-create-directory-response" },
4661   {  61, "f-link-request" },
4662   {  62, "f-link-response" },
4663   {  63, "f-unlink-request" },
4664   {  64, "f-unlink-response" },
4665   {  65, "f-read-link-attrib-request" },
4666   {  66, "f-read-link-attrib-response" },
4667   {  67, "f-Change-link-attrib-request" },
4668   {  68, "f-Change-Iink-attrib-response" },
4669   {  69, "f-move-request" },
4670   {  70, "f-move-response" },
4671   {  71, "f-copy-request" },
4672   {  72, "f-copy-response" },
4673   { 0, NULL }
4674 };
4675
4676 static const ber_choice_t FSM_PDU_choice[] = {
4677   {  41, &hf_ftam_f_Change_prefix_request, BER_CLASS_CON, 41, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_PREFIX_request },
4678   {  42, &hf_ftam_f_Change_prefix_response, BER_CLASS_CON, 42, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_PREFIX_response },
4679   {  43, &hf_ftam_f_list_request , BER_CLASS_CON, 43, BER_FLAGS_IMPLTAG, dissect_ftam_F_LIST_request },
4680   {  44, &hf_ftam_f_list_response, BER_CLASS_CON, 44, BER_FLAGS_IMPLTAG, dissect_ftam_F_LIST_response },
4681   {  45, &hf_ftam_f_group_select_request, BER_CLASS_CON, 45, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_SELECT_request },
4682   {  46, &hf_ftam_f_group_select_response, BER_CLASS_CON, 46, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_SELECT_response },
4683   {  47, &hf_ftam_f_group_delete_request, BER_CLASS_CON, 47, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_DELETE_request },
4684   {  48, &hf_ftam_f_group_delete_response, BER_CLASS_CON, 48, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_DELETE_response },
4685   {  49, &hf_ftam_f_group_move_request, BER_CLASS_CON, 49, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_MOVE_request },
4686   {  50, &hf_ftam_f_group_move_response, BER_CLASS_CON, 50, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_MOVE_response },
4687   {  51, &hf_ftam_f_group_copy_request, BER_CLASS_CON, 51, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_COPY_request },
4688   {  52, &hf_ftam_f_group_copy_response, BER_CLASS_CON, 52, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_COPY_response },
4689   {  53, &hf_ftam_f_group_list_request, BER_CLASS_CON, 53, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_LIST_request },
4690   {  54, &hf_ftam_f_group_list_response, BER_CLASS_CON, 54, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_LIST_response },
4691   {  55, &hf_ftam_f_group_Change_attrib_request, BER_CLASS_CON, 55, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_CHANGE_ATTRIB_request },
4692   {  56, &hf_ftam_f_group_Change_attrib_response, BER_CLASS_CON, 56, BER_FLAGS_IMPLTAG, dissect_ftam_F_GROUP_CHANGE_ATTRIB_response },
4693   {  57, &hf_ftam_f_select_another_request, BER_CLASS_CON, 57, BER_FLAGS_IMPLTAG, dissect_ftam_F_SELECT_ANOTHER_request },
4694   {  58, &hf_ftam_f_select_another_response, BER_CLASS_CON, 58, BER_FLAGS_IMPLTAG, dissect_ftam_F_SELECT_ANOTHER_response },
4695   {  59, &hf_ftam_f_create_directory_request, BER_CLASS_CON, 59, BER_FLAGS_IMPLTAG, dissect_ftam_F_CREATE_DIRECTORY_request },
4696   {  60, &hf_ftam_f_create_directory_response, BER_CLASS_CON, 60, BER_FLAGS_IMPLTAG, dissect_ftam_F_CREATE_DIRECTORY_response },
4697   {  61, &hf_ftam_f_link_request , BER_CLASS_CON, 61, BER_FLAGS_IMPLTAG, dissect_ftam_F_LINK_request },
4698   {  62, &hf_ftam_f_link_response, BER_CLASS_CON, 62, BER_FLAGS_IMPLTAG, dissect_ftam_F_LINK_response },
4699   {  63, &hf_ftam_f_unlink_request, BER_CLASS_CON, 63, BER_FLAGS_IMPLTAG, dissect_ftam_F_UNLINK_request },
4700   {  64, &hf_ftam_f_unlink_response, BER_CLASS_CON, 64, BER_FLAGS_IMPLTAG, dissect_ftam_F_UNLINK_response },
4701   {  65, &hf_ftam_f_read_link_attrib_request, BER_CLASS_CON, 65, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_LINK_ATTRIB_request },
4702   {  66, &hf_ftam_f_read_link_attrib_response, BER_CLASS_CON, 66, BER_FLAGS_IMPLTAG, dissect_ftam_F_READ_LINK_ATTRIB_response },
4703   {  67, &hf_ftam_f_Change_link_attrib_request, BER_CLASS_CON, 67, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_LINK_ATTRIB_request },
4704   {  68, &hf_ftam_f_Change_Iink_attrib_response, BER_CLASS_CON, 68, BER_FLAGS_IMPLTAG, dissect_ftam_F_CHANGE_LINK_ATTRIB_response },
4705   {  69, &hf_ftam_f_move_request , BER_CLASS_CON, 69, BER_FLAGS_IMPLTAG, dissect_ftam_F_MOVE_request },
4706   {  70, &hf_ftam_f_move_response, BER_CLASS_CON, 70, BER_FLAGS_IMPLTAG, dissect_ftam_F_MOVE_response },
4707   {  71, &hf_ftam_f_copy_request , BER_CLASS_CON, 71, BER_FLAGS_IMPLTAG, dissect_ftam_F_COPY_request },
4708   {  72, &hf_ftam_f_copy_response, BER_CLASS_CON, 72, BER_FLAGS_IMPLTAG, dissect_ftam_F_COPY_response },
4709   { 0, NULL, 0, 0, 0, NULL }
4710 };
4711
4712 static int
4713 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_) {
4714 #line 123 "ftam.cnf"
4715   gint branch_taken;
4716
4717     offset = dissect_ber_choice(actx, tree, tvb, offset,
4718                                  FSM_PDU_choice, hf_index, ett_ftam_FSM_PDU,
4719                                  &branch_taken);
4720
4721
4722   if( (branch_taken!=-1) && ftam_FSM_PDU_vals[branch_taken].strptr ){
4723         if (check_col(actx->pinfo->cinfo, COL_INFO)) {
4724                 col_append_fstr(actx->pinfo->cinfo, COL_INFO, " %s:", ftam_FSM_PDU_vals[branch_taken].strptr);
4725         }
4726   }
4727
4728
4729   return offset;
4730 }
4731
4732
4733 static const value_string ftam_PDU_vals[] = {
4734   { -1/*choice*/, "fTAM-Regime-PDU" },
4735   { -1/*choice*/, "file-PDU" },
4736   { -1/*choice*/, "bulk-Data-PDU" },
4737   { -1/*choice*/, "fSM-PDU" },
4738   { 0, NULL }
4739 };
4740
4741 static const ber_choice_t PDU_choice[] = {
4742   { -1/*choice*/, &hf_ftam_fTAM_Regime_PDU, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ftam_FTAM_Regime_PDU },
4743   { -1/*choice*/, &hf_ftam_file_PDU       , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ftam_File_PDU },
4744   { -1/*choice*/, &hf_ftam_bulk_Data_PDU  , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ftam_Bulk_Data_PDU },
4745   { -1/*choice*/, &hf_ftam_fSM_PDU        , BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_ftam_FSM_PDU },
4746   { 0, NULL, 0, 0, 0, NULL }
4747 };
4748
4749 static int
4750 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_) {
4751   offset = dissect_ber_choice(actx, tree, tvb, offset,
4752                                  PDU_choice, hf_index, ett_ftam_PDU,
4753                                  NULL);
4754
4755   return offset;
4756 }
4757
4758
4759 /*--- End of included file: packet-ftam-fn.c ---*/
4760 #line 68 "packet-ftam-template.c"
4761
4762 /*
4763 * Dissect FTAM unstructured text
4764 */
4765 static void
4766 dissect_ftam_unstructured_text(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
4767 {
4768         proto_tree_add_item (parent_tree, hf_ftam_unstructured_text, tvb, 0, tvb_length_remaining(tvb, 0), FALSE); 
4769 }
4770
4771 /*
4772 * Dissect FTAM unstructured binary
4773 */
4774 static void
4775 dissect_ftam_unstructured_binary(tvbuff_t *tvb, packet_info *pinfo _U_, proto_tree *parent_tree)
4776 {
4777         proto_tree_add_item (parent_tree, hf_ftam_unstructured_binary, tvb, 0, tvb_length_remaining(tvb, 0), FALSE); 
4778 }
4779
4780 /*
4781 * Dissect FTAM PDUs inside a PPDU.
4782 */
4783 static void
4784 dissect_ftam(tvbuff_t *tvb, packet_info *pinfo, proto_tree *parent_tree)
4785 {
4786         int offset = 0;
4787         int old_offset;
4788         proto_item *item=NULL;
4789         proto_tree *tree=NULL;
4790         asn1_ctx_t asn1_ctx;
4791
4792         asn1_ctx_init(&asn1_ctx, ASN1_ENC_BER, TRUE, pinfo);
4793
4794         if(parent_tree){
4795                 item = proto_tree_add_item(parent_tree, proto_ftam, tvb, 0, -1, FALSE);
4796                 tree = proto_item_add_subtree(item, ett_ftam);
4797         }
4798         if (check_col(pinfo->cinfo, COL_PROTOCOL))
4799                 col_set_str(pinfo->cinfo, COL_PROTOCOL, "FTAM");
4800         if (check_col(pinfo->cinfo, COL_INFO))
4801                 col_clear(pinfo->cinfo, COL_INFO);
4802
4803         while (tvb_reported_length_remaining(tvb, offset) > 0){
4804                 old_offset=offset;
4805                 offset=dissect_ftam_PDU(FALSE, tvb, offset, &asn1_ctx, tree, -1);
4806                 if(offset == old_offset){
4807                         proto_tree_add_text(tree, tvb, offset, -1,"Internal error, zero-byte FTAM PDU");
4808                         offset = tvb_length(tvb);
4809                         break;
4810                 }
4811         }
4812 }
4813
4814
4815 /*--- proto_register_ftam -------------------------------------------*/
4816 void proto_register_ftam(void) {
4817
4818   /* List of fields */
4819   static hf_register_info hf[] =
4820   {
4821      { &hf_ftam_unstructured_text,
4822        { "ISO FTAM unstructured text", "ftam.unstructured_text", FT_STRING,
4823           BASE_DEC, NULL, 0x0, "ISO FTAM unstructured text", HFILL } },
4824      { &hf_ftam_unstructured_binary,
4825        { "ISO FTAM unstructured binary", "ftam.unstructured_binary", FT_BYTES,
4826           BASE_DEC, NULL, 0x0, "ISO FTAM unstructured binary", HFILL } },
4827
4828 /*--- Included file: packet-ftam-hfarr.c ---*/
4829 #line 1 "packet-ftam-hfarr.c"
4830     { &hf_ftam_fTAM_Regime_PDU,
4831       { "fTAM-Regime-PDU", "ftam.fTAM_Regime_PDU",
4832         FT_UINT32, BASE_DEC, VALS(ftam_FTAM_Regime_PDU_vals), 0,
4833         "ftam.FTAM_Regime_PDU", HFILL }},
4834     { &hf_ftam_file_PDU,
4835       { "file-PDU", "ftam.file_PDU",
4836         FT_UINT32, BASE_DEC, VALS(ftam_File_PDU_vals), 0,
4837         "ftam.File_PDU", HFILL }},
4838     { &hf_ftam_bulk_Data_PDU,
4839       { "bulk-Data-PDU", "ftam.bulk_Data_PDU",
4840         FT_UINT32, BASE_DEC, VALS(ftam_Bulk_Data_PDU_vals), 0,
4841         "ftam.Bulk_Data_PDU", HFILL }},
4842     { &hf_ftam_fSM_PDU,
4843       { "fSM-PDU", "ftam.fSM_PDU",
4844         FT_UINT32, BASE_DEC, VALS(ftam_FSM_PDU_vals), 0,
4845         "ftam.FSM_PDU", HFILL }},
4846     { &hf_ftam_f_initialize_request,
4847       { "f-initialize-request", "ftam.f_initialize_request",
4848         FT_NONE, BASE_NONE, NULL, 0,
4849         "ftam.F_INITIALIZE_request", HFILL }},
4850     { &hf_ftam_f_initialize_response,
4851       { "f-initialize-response", "ftam.f_initialize_response",
4852         FT_NONE, BASE_NONE, NULL, 0,
4853         "ftam.F_INITIALIZE_response", HFILL }},
4854     { &hf_ftam_f_terminate_request,
4855       { "f-terminate-request", "ftam.f_terminate_request",
4856         FT_NONE, BASE_NONE, NULL, 0,
4857         "ftam.F_TERMINATE_request", HFILL }},
4858     { &hf_ftam_f_terminate_response,
4859       { "f-terminate-response", "ftam.f_terminate_response",
4860         FT_NONE, BASE_NONE, NULL, 0,
4861         "ftam.F_TERMINATE_response", HFILL }},
4862     { &hf_ftam_f_u_abort_request,
4863       { "f-u-abort-request", "ftam.f_u_abort_request",
4864         FT_NONE, BASE_NONE, NULL, 0,
4865         "ftam.F_U_ABORT_request", HFILL }},
4866     { &hf_ftam_f_p_abort_request,
4867       { "f-p-abort-request", "ftam.f_p_abort_request",
4868         FT_NONE, BASE_NONE, NULL, 0,
4869         "ftam.F_P_ABORT_request", HFILL }},
4870     { &hf_ftam_protocol_Version,
4871       { "protocol-Version", "ftam.protocol_Version",
4872         FT_BYTES, BASE_HEX, NULL, 0,
4873         "ftam.Protocol_Version", HFILL }},
4874     { &hf_ftam_implementation_information,
4875       { "implementation-information", "ftam.implementation_information",
4876         FT_STRING, BASE_NONE, NULL, 0,
4877         "ftam.Implementation_Information", HFILL }},
4878     { &hf_ftam_presentation_tontext_management,
4879       { "presentation-tontext-management", "ftam.presentation_tontext_management",
4880         FT_BOOLEAN, 8, NULL, 0,
4881         "ftam.BOOLEAN", HFILL }},
4882     { &hf_ftam_service_class,
4883       { "service-class", "ftam.service_class",
4884         FT_BYTES, BASE_HEX, NULL, 0,
4885         "ftam.Service_Class", HFILL }},
4886     { &hf_ftam_functional_units,
4887       { "functional-units", "ftam.functional_units",
4888         FT_BYTES, BASE_HEX, NULL, 0,
4889         "ftam.Functional_Units", HFILL }},
4890     { &hf_ftam_attribute_groups,
4891       { "attribute-groups", "ftam.attribute_groups",
4892         FT_BYTES, BASE_HEX, NULL, 0,
4893         "ftam.Attribute_Groups", HFILL }},
4894     { &hf_ftam_shared_ASE_information,
4895       { "shared-ASE-information", "ftam.shared_ASE_information",
4896         FT_NONE, BASE_NONE, NULL, 0,
4897         "ftam.Shared_ASE_Information", HFILL }},
4898     { &hf_ftam_ftam_quality_of_Service,
4899       { "ftam-quality-of-Service", "ftam.ftam_quality_of_Service",
4900         FT_INT32, BASE_DEC, VALS(ftam_FTAM_Quality_of_Service_U_vals), 0,
4901         "ftam.FTAM_Quality_of_Service", HFILL }},
4902     { &hf_ftam_contents_type_list,
4903       { "contents-type-list", "ftam.contents_type_list",
4904         FT_UINT32, BASE_DEC, NULL, 0,
4905         "ftam.Contents_Type_List", HFILL }},
4906     { &hf_ftam_initiator_identity,
4907       { "initiator-identity", "ftam.initiator_identity",
4908         FT_STRING, BASE_NONE, NULL, 0,
4909         "ftam.User_Identity", HFILL }},
4910     { &hf_ftam_account,
4911       { "account", "ftam.account",
4912         FT_STRING, BASE_NONE, NULL, 0,
4913         "ftam.Account", HFILL }},
4914     { &hf_ftam_filestore_password,
4915       { "filestore-password", "ftam.filestore_password",
4916         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
4917         "ftam.Password", HFILL }},
4918     { &hf_ftam_checkpoint_window,
4919       { "checkpoint-window", "ftam.checkpoint_window",
4920         FT_INT32, BASE_DEC, NULL, 0,
4921         "ftam.INTEGER", HFILL }},
4922     { &hf_ftam_state_result,
4923       { "state-result", "ftam.state_result",
4924         FT_INT32, BASE_DEC, VALS(ftam_State_Result_U_vals), 0,
4925         "ftam.State_Result", HFILL }},
4926     { &hf_ftam_action_result,
4927       { "action-result", "ftam.action_result",
4928         FT_INT32, BASE_DEC, VALS(ftam_Action_Result_U_vals), 0,
4929         "ftam.Action_Result", HFILL }},
4930     { &hf_ftam_diagnostic,
4931       { "diagnostic", "ftam.diagnostic",
4932         FT_UINT32, BASE_DEC, NULL, 0,
4933         "ftam.Diagnostic", HFILL }},
4934     { &hf_ftam__untag_item,
4935       { "_untag", "ftam._untag_item",
4936         FT_UINT32, BASE_DEC, VALS(ftam_Contents_Type_List_item_vals), 0,
4937         "ftam.Contents_Type_List_item", HFILL }},
4938     { &hf_ftam_document_type_name,
4939       { "document-type-name", "ftam.document_type_name",
4940         FT_OID, BASE_NONE, NULL, 0,
4941         "ftam.Document_Type_Name", HFILL }},
4942     { &hf_ftam_abstract_Syntax_name,
4943       { "abstract-Syntax-name", "ftam.abstract_Syntax_name",
4944         FT_OID, BASE_NONE, NULL, 0,
4945         "ftam.Abstract_Syntax_Name", HFILL }},
4946     { &hf_ftam_charging,
4947       { "charging", "ftam.charging",
4948         FT_UINT32, BASE_DEC, NULL, 0,
4949         "ftam.Charging", HFILL }},
4950     { &hf_ftam_f_select_request,
4951       { "f-select-request", "ftam.f_select_request",
4952         FT_NONE, BASE_NONE, NULL, 0,
4953         "ftam.F_SELECT_request", HFILL }},
4954     { &hf_ftam_f_select_response,
4955       { "f-select-response", "ftam.f_select_response",
4956         FT_NONE, BASE_NONE, NULL, 0,
4957         "ftam.F_SELECT_response", HFILL }},
4958     { &hf_ftam_f_deselect_request,
4959       { "f-deselect-request", "ftam.f_deselect_request",
4960         FT_NONE, BASE_NONE, NULL, 0,
4961         "ftam.F_DESELECT_request", HFILL }},
4962     { &hf_ftam_f_deselect_response,
4963       { "f-deselect-response", "ftam.f_deselect_response",
4964         FT_NONE, BASE_NONE, NULL, 0,
4965         "ftam.F_DESELECT_response", HFILL }},
4966     { &hf_ftam_f_create_request,
4967       { "f-create-request", "ftam.f_create_request",
4968         FT_NONE, BASE_NONE, NULL, 0,
4969         "ftam.F_CREATE_request", HFILL }},
4970     { &hf_ftam_f_create_response,
4971       { "f-create-response", "ftam.f_create_response",
4972         FT_NONE, BASE_NONE, NULL, 0,
4973         "ftam.F_CREATE_response", HFILL }},
4974     { &hf_ftam_f_delete_request,
4975       { "f-delete-request", "ftam.f_delete_request",
4976         FT_NONE, BASE_NONE, NULL, 0,
4977         "ftam.F_DELETE_request", HFILL }},
4978     { &hf_ftam_f_delete_response,
4979       { "f-delete-response", "ftam.f_delete_response",
4980         FT_NONE, BASE_NONE, NULL, 0,
4981         "ftam.F_DELETE_response", HFILL }},
4982     { &hf_ftam_f_read_attrib_request,
4983       { "f-read-attrib-request", "ftam.f_read_attrib_request",
4984         FT_NONE, BASE_NONE, NULL, 0,
4985         "ftam.F_READ_ATTRIB_request", HFILL }},
4986     { &hf_ftam_f_read_attrib_response,
4987       { "f-read-attrib-response", "ftam.f_read_attrib_response",
4988         FT_NONE, BASE_NONE, NULL, 0,
4989         "ftam.F_READ_ATTRIB_response", HFILL }},
4990     { &hf_ftam_f_Change_attrib_reques,
4991       { "f-Change-attrib-reques", "ftam.f_Change_attrib_reques",
4992         FT_NONE, BASE_NONE, NULL, 0,
4993         "ftam.F_CHANGE_ATTRIB_request", HFILL }},
4994     { &hf_ftam_f_Change_attrib_respon,
4995       { "f-Change-attrib-respon", "ftam.f_Change_attrib_respon",
4996         FT_NONE, BASE_NONE, NULL, 0,
4997         "ftam.F_CHANGE_ATTRIB_response", HFILL }},
4998     { &hf_ftam_f_open_request,
4999       { "f-open-request", "ftam.f_open_request",
5000         FT_NONE, BASE_NONE, NULL, 0,
5001         "ftam.F_OPEN_request", HFILL }},
5002     { &hf_ftam_f_open_response,
5003       { "f-open-response", "ftam.f_open_response",
5004         FT_NONE, BASE_NONE, NULL, 0,
5005         "ftam.F_OPEN_response", HFILL }},
5006     { &hf_ftam_f_close_request,
5007       { "f-close-request", "ftam.f_close_request",
5008         FT_NONE, BASE_NONE, NULL, 0,
5009         "ftam.F_CLOSE_request", HFILL }},
5010     { &hf_ftam_f_close_response,
5011       { "f-close-response", "ftam.f_close_response",
5012         FT_NONE, BASE_NONE, NULL, 0,
5013         "ftam.F_CLOSE_response", HFILL }},
5014     { &hf_ftam_f_begin_group_request,
5015       { "f-begin-group-request", "ftam.f_begin_group_request",
5016         FT_NONE, BASE_NONE, NULL, 0,
5017         "ftam.F_BEGIN_GROUP_request", HFILL }},
5018     { &hf_ftam_f_begin_group_response,
5019       { "f-begin-group-response", "ftam.f_begin_group_response",
5020         FT_NONE, BASE_NONE, NULL, 0,
5021         "ftam.F_BEGIN_GROUP_response", HFILL }},
5022     { &hf_ftam_f_end_group_request,
5023       { "f-end-group-request", "ftam.f_end_group_request",
5024         FT_NONE, BASE_NONE, NULL, 0,
5025         "ftam.F_END_GROUP_request", HFILL }},
5026     { &hf_ftam_f_end_group_response,
5027       { "f-end-group-response", "ftam.f_end_group_response",
5028         FT_NONE, BASE_NONE, NULL, 0,
5029         "ftam.F_END_GROUP_response", HFILL }},
5030     { &hf_ftam_f_recover_request,
5031       { "f-recover-request", "ftam.f_recover_request",
5032         FT_NONE, BASE_NONE, NULL, 0,
5033         "ftam.F_RECOVER_request", HFILL }},
5034     { &hf_ftam_f_recover_response,
5035       { "f-recover-response", "ftam.f_recover_response",
5036         FT_NONE, BASE_NONE, NULL, 0,
5037         "ftam.F_RECOVER_response", HFILL }},
5038     { &hf_ftam_f_locate_request,
5039       { "f-locate-request", "ftam.f_locate_request",
5040         FT_NONE, BASE_NONE, NULL, 0,
5041         "ftam.F_LOCATE_request", HFILL }},
5042     { &hf_ftam_f_locate_response,
5043       { "f-locate-response", "ftam.f_locate_response",
5044         FT_NONE, BASE_NONE, NULL, 0,
5045         "ftam.F_LOCATE_response", HFILL }},
5046     { &hf_ftam_f_erase_request,
5047       { "f-erase-request", "ftam.f_erase_request",
5048         FT_NONE, BASE_NONE, NULL, 0,
5049         "ftam.F_ERASE_request", HFILL }},
5050     { &hf_ftam_f_erase_response,
5051       { "f-erase-response", "ftam.f_erase_response",
5052         FT_NONE, BASE_NONE, NULL, 0,
5053         "ftam.F_ERASE_response", HFILL }},
5054     { &hf_ftam_select_attributes,
5055       { "attributes", "ftam.attributes",
5056         FT_NONE, BASE_NONE, NULL, 0,
5057         "ftam.Select_Attributes", HFILL }},
5058     { &hf_ftam_requested_access,
5059       { "requested-access", "ftam.requested_access",
5060         FT_BYTES, BASE_HEX, NULL, 0,
5061         "ftam.Access_Request", HFILL }},
5062     { &hf_ftam_access_passwords,
5063       { "access-passwords", "ftam.access_passwords",
5064         FT_NONE, BASE_NONE, NULL, 0,
5065         "ftam.Access_Passwords", HFILL }},
5066     { &hf_ftam_path_access_passwords,
5067       { "path-access-passwords", "ftam.path_access_passwords",
5068         FT_UINT32, BASE_DEC, NULL, 0,
5069         "ftam.Path_Access_Passwords", HFILL }},
5070     { &hf_ftam_concurrency_control,
5071       { "concurrency-control", "ftam.concurrency_control",
5072         FT_NONE, BASE_NONE, NULL, 0,
5073         "ftam.Concurrency_Control", HFILL }},
5074     { &hf_ftam_referent_indicator,
5075       { "referent-indicator", "ftam.referent_indicator",
5076         FT_BOOLEAN, 8, NULL, 0,
5077         "ftam.Referent_Indicator", HFILL }},
5078     { &hf_ftam_override,
5079       { "override", "ftam.override",
5080         FT_INT32, BASE_DEC, VALS(ftam_Override_vals), 0,
5081         "ftam.Override", HFILL }},
5082     { &hf_ftam_initial_attributes,
5083       { "initial-attributes", "ftam.initial_attributes",
5084         FT_NONE, BASE_NONE, NULL, 0,
5085         "ftam.Create_Attributes", HFILL }},
5086     { &hf_ftam_create_password,
5087       { "create-password", "ftam.create_password",
5088         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5089         "ftam.Password", HFILL }},
5090     { &hf_ftam_attribute_names,
5091       { "attribute-names", "ftam.attribute_names",
5092         FT_BYTES, BASE_HEX, NULL, 0,
5093         "ftam.Attribute_Names", HFILL }},
5094     { &hf_ftam_attribute_extension_names,
5095       { "attribute-extension-names", "ftam.attribute_extension_names",
5096         FT_UINT32, BASE_DEC, NULL, 0,
5097         "ftam.Attribute_Extension_Names", HFILL }},
5098     { &hf_ftam_read_attributes,
5099       { "attributes", "ftam.attributes",
5100         FT_NONE, BASE_NONE, NULL, 0,
5101         "ftam.Read_Attributes", HFILL }},
5102     { &hf_ftam_attributes,
5103       { "attributes", "ftam.attributes",
5104         FT_NONE, BASE_NONE, NULL, 0,
5105         "ftam.Change_Attributes", HFILL }},
5106     { &hf_ftam_processing_mode,
5107       { "processing-mode", "ftam.processing_mode",
5108         FT_BYTES, BASE_HEX, NULL, 0,
5109         "ftam.T_processing_mode", HFILL }},
5110     { &hf_ftam_open_contents_type,
5111       { "contents-type", "ftam.contents_type",
5112         FT_UINT32, BASE_DEC, VALS(ftam_T_open_contents_type_vals), 0,
5113         "ftam.T_open_contents_type", HFILL }},
5114     { &hf_ftam_unknown,
5115       { "unknown", "ftam.unknown",
5116         FT_NONE, BASE_NONE, NULL, 0,
5117         "ftam.NULL", HFILL }},
5118     { &hf_ftam_proposed,
5119       { "proposed", "ftam.proposed",
5120         FT_UINT32, BASE_DEC, VALS(ftam_Contents_Type_Attribute_vals), 0,
5121         "ftam.Contents_Type_Attribute", HFILL }},
5122     { &hf_ftam_enable_fadu_locking,
5123       { "enable-fadu-locking", "ftam.enable_fadu_locking",
5124         FT_BOOLEAN, 8, NULL, 0,
5125         "ftam.BOOLEAN", HFILL }},
5126     { &hf_ftam_activity_identifier,
5127       { "activity-identifier", "ftam.activity_identifier",
5128         FT_INT32, BASE_DEC, NULL, 0,
5129         "ftam.Activity_Identifier", HFILL }},
5130     { &hf_ftam_request_recovery_mode,
5131       { "recovery-mode", "ftam.recovery_mode",
5132         FT_INT32, BASE_DEC, VALS(ftam_T_request_recovery_mode_vals), 0,
5133         "ftam.T_request_recovery_mode", HFILL }},
5134     { &hf_ftam_remove_contexts,
5135       { "remove-contexts", "ftam.remove_contexts",
5136         FT_UINT32, BASE_DEC, NULL, 0,
5137         "ftam.SET_OF_Abstract_Syntax_Name", HFILL }},
5138     { &hf_ftam_remove_contexts_item,
5139       { "remove-contexts", "ftam.remove_contexts_item",
5140         FT_OID, BASE_NONE, NULL, 0,
5141         "ftam.Abstract_Syntax_Name", HFILL }},
5142     { &hf_ftam_define_contexts,
5143       { "define-contexts", "ftam.define_contexts",
5144         FT_UINT32, BASE_DEC, NULL, 0,
5145         "ftam.SET_OF_Abstract_Syntax_Name", HFILL }},
5146     { &hf_ftam_define_contexts_item,
5147       { "define-contexts", "ftam.define_contexts_item",
5148         FT_OID, BASE_NONE, NULL, 0,
5149         "ftam.Abstract_Syntax_Name", HFILL }},
5150     { &hf_ftam_degree_of_overlap,
5151       { "degree-of-overlap", "ftam.degree_of_overlap",
5152         FT_INT32, BASE_DEC, VALS(ftam_Degree_Of_Overlap_U_vals), 0,
5153         "ftam.Degree_Of_Overlap", HFILL }},
5154     { &hf_ftam_transfer_window,
5155       { "transfer-window", "ftam.transfer_window",
5156         FT_INT32, BASE_DEC, NULL, 0,
5157         "ftam.INTEGER", HFILL }},
5158     { &hf_ftam_contents_type,
5159       { "contents-type", "ftam.contents_type",
5160         FT_UINT32, BASE_DEC, VALS(ftam_Contents_Type_Attribute_vals), 0,
5161         "ftam.Contents_Type_Attribute", HFILL }},
5162     { &hf_ftam_response_recovery_mode,
5163       { "recovery-mode", "ftam.recovery_mode",
5164         FT_INT32, BASE_DEC, VALS(ftam_T_response_recovery_mode_vals), 0,
5165         "ftam.T_response_recovery_mode", HFILL }},
5166     { &hf_ftam_presentation_action,
5167       { "presentation-action", "ftam.presentation_action",
5168         FT_BOOLEAN, 8, NULL, 0,
5169         "ftam.BOOLEAN", HFILL }},
5170     { &hf_ftam_threshold,
5171       { "threshold", "ftam.threshold",
5172         FT_INT32, BASE_DEC, NULL, 0,
5173         "ftam.INTEGER", HFILL }},
5174     { &hf_ftam_bulk_transfer_number,
5175       { "bulk-transfer-number", "ftam.bulk_transfer_number",
5176         FT_INT32, BASE_DEC, NULL, 0,
5177         "ftam.INTEGER", HFILL }},
5178     { &hf_ftam_recovefy_Point,
5179       { "recovefy-Point", "ftam.recovefy_Point",
5180         FT_INT32, BASE_DEC, NULL, 0,
5181         "ftam.INTEGER", HFILL }},
5182     { &hf_ftam_concurrent_bulk_transfer_number,
5183       { "concurrent-bulk-transfer-number", "ftam.concurrent_bulk_transfer_number",
5184         FT_INT32, BASE_DEC, NULL, 0,
5185         "ftam.INTEGER", HFILL }},
5186     { &hf_ftam_concurrent_recovery_point,
5187       { "concurrent-recovery-point", "ftam.concurrent_recovery_point",
5188         FT_INT32, BASE_DEC, NULL, 0,
5189         "ftam.INTEGER", HFILL }},
5190     { &hf_ftam_last_transfer_end_read_response,
5191       { "last-transfer-end-read-response", "ftam.last_transfer_end_read_response",
5192         FT_INT32, BASE_DEC, NULL, 0,
5193         "ftam.INTEGER", HFILL }},
5194     { &hf_ftam_last_transfer_end_write_response,
5195       { "last-transfer-end-write-response", "ftam.last_transfer_end_write_response",
5196         FT_INT32, BASE_DEC, NULL, 0,
5197         "ftam.INTEGER", HFILL }},
5198     { &hf_ftam_recovety_Point,
5199       { "recovety-Point", "ftam.recovety_Point",
5200         FT_INT32, BASE_DEC, NULL, 0,
5201         "ftam.INTEGER", HFILL }},
5202     { &hf_ftam_last_transfer_end_read_request,
5203       { "last-transfer-end-read-request", "ftam.last_transfer_end_read_request",
5204         FT_INT32, BASE_DEC, NULL, 0,
5205         "ftam.INTEGER", HFILL }},
5206     { &hf_ftam_last_transfer_end_write_request,
5207       { "last-transfer-end-write-request", "ftam.last_transfer_end_write_request",
5208         FT_INT32, BASE_DEC, NULL, 0,
5209         "ftam.INTEGER", HFILL }},
5210     { &hf_ftam_file_access_data_unit_identity,
5211       { "file-access-data-unit-identity", "ftam.file_access_data_unit_identity",
5212         FT_UINT32, BASE_DEC, VALS(ftam_FADU_Identity_U_vals), 0,
5213         "ftam.FADU_Identity", HFILL }},
5214     { &hf_ftam_fadu_lock,
5215       { "fadu-lock", "ftam.fadu_lock",
5216         FT_INT32, BASE_DEC, VALS(ftam_FADU_Lock_U_vals), 0,
5217         "ftam.FADU_Lock", HFILL }},
5218     { &hf_ftam_f_read_request,
5219       { "f-read-request", "ftam.f_read_request",
5220         FT_NONE, BASE_NONE, NULL, 0,
5221         "ftam.F_READ_request", HFILL }},
5222     { &hf_ftam_f_write_request,
5223       { "f-write-request", "ftam.f_write_request",
5224         FT_NONE, BASE_NONE, NULL, 0,
5225         "ftam.F_WRITE_request", HFILL }},
5226     { &hf_ftam_f_data_end_request,
5227       { "f-data-end-request", "ftam.f_data_end_request",
5228         FT_NONE, BASE_NONE, NULL, 0,
5229         "ftam.F_DATA_END_request", HFILL }},
5230     { &hf_ftam_f_transfer_end_request,
5231       { "f-transfer-end-request", "ftam.f_transfer_end_request",
5232         FT_NONE, BASE_NONE, NULL, 0,
5233         "ftam.F_TRANSFER_END_request", HFILL }},
5234     { &hf_ftam_f_transfer_end_response,
5235       { "f-transfer-end-response", "ftam.f_transfer_end_response",
5236         FT_NONE, BASE_NONE, NULL, 0,
5237         "ftam.F_TRANSFER_END_response", HFILL }},
5238     { &hf_ftam_f_cancel_request,
5239       { "f-cancel-request", "ftam.f_cancel_request",
5240         FT_NONE, BASE_NONE, NULL, 0,
5241         "ftam.F_CANCEL_request", HFILL }},
5242     { &hf_ftam_f_cancel_response,
5243       { "f-cancel-response", "ftam.f_cancel_response",
5244         FT_NONE, BASE_NONE, NULL, 0,
5245         "ftam.F_CANCEL_response", HFILL }},
5246     { &hf_ftam_f_restart_request,
5247       { "f-restart-request", "ftam.f_restart_request",
5248         FT_NONE, BASE_NONE, NULL, 0,
5249         "ftam.F_RESTART_request", HFILL }},
5250     { &hf_ftam_f_restart_response,
5251       { "f-restart-response", "ftam.f_restart_response",
5252         FT_NONE, BASE_NONE, NULL, 0,
5253         "ftam.F_RESTART_response", HFILL }},
5254     { &hf_ftam_read_access_context,
5255       { "access-context", "ftam.access_context",
5256         FT_NONE, BASE_NONE, NULL, 0,
5257         "ftam.Access_Context", HFILL }},
5258     { &hf_ftam_transfer_number,
5259       { "transfer-number", "ftam.transfer_number",
5260         FT_INT32, BASE_DEC, NULL, 0,
5261         "ftam.INTEGER", HFILL }},
5262     { &hf_ftam_file_access_data_unit_Operation,
5263       { "file-access-data-unit-Operation", "ftam.file_access_data_unit_Operation",
5264         FT_INT32, BASE_DEC, VALS(ftam_T_file_access_data_unit_Operation_vals), 0,
5265         "ftam.T_file_access_data_unit_Operation", HFILL }},
5266     { &hf_ftam_request_type,
5267       { "request-type", "ftam.request_type",
5268         FT_INT32, BASE_DEC, VALS(ftam_Request_Type_U_vals), 0,
5269         "ftam.Request_Type", HFILL }},
5270     { &hf_ftam_checkpoint_identifier,
5271       { "checkpoint-identifier", "ftam.checkpoint_identifier",
5272         FT_INT32, BASE_DEC, NULL, 0,
5273         "ftam.INTEGER", HFILL }},
5274     { &hf_ftam_access_context,
5275       { "access-context", "ftam.access_context",
5276         FT_INT32, BASE_DEC, VALS(ftam_T_access_context_vals), 0,
5277         "ftam.T_access_context", HFILL }},
5278     { &hf_ftam_level_number,
5279       { "level-number", "ftam.level_number",
5280         FT_INT32, BASE_DEC, NULL, 0,
5281         "ftam.INTEGER", HFILL }},
5282     { &hf_ftam_read_password,
5283       { "read-password", "ftam.read_password",
5284         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5285         "ftam.Password", HFILL }},
5286     { &hf_ftam_insert_password,
5287       { "insert-password", "ftam.insert_password",
5288         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5289         "ftam.Password", HFILL }},
5290     { &hf_ftam_replace_password,
5291       { "replace-password", "ftam.replace_password",
5292         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5293         "ftam.Password", HFILL }},
5294     { &hf_ftam_extend_password,
5295       { "extend-password", "ftam.extend_password",
5296         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5297         "ftam.Password", HFILL }},
5298     { &hf_ftam_erase_password,
5299       { "erase-password", "ftam.erase_password",
5300         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5301         "ftam.Password", HFILL }},
5302     { &hf_ftam_read_attribute_password,
5303       { "read-attribute-password", "ftam.read_attribute_password",
5304         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5305         "ftam.Password", HFILL }},
5306     { &hf_ftam_change_attribute_password,
5307       { "change-attribute-password", "ftam.change_attribute_password",
5308         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5309         "ftam.Password", HFILL }},
5310     { &hf_ftam_delete_password,
5311       { "delete-password", "ftam.delete_password",
5312         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5313         "ftam.Password", HFILL }},
5314     { &hf_ftam_pass_passwords,
5315       { "pass-passwords", "ftam.pass_passwords",
5316         FT_UINT32, BASE_DEC, NULL, 0,
5317         "ftam.Pass_Passwords", HFILL }},
5318     { &hf_ftam_link_password,
5319       { "link-password", "ftam.link_password",
5320         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
5321         "ftam.Password", HFILL }},
5322     { &hf_ftam_pathname,
5323       { "pathname", "ftam.pathname",
5324         FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5325         "ftam.Pathname_Attribute", HFILL }},
5326     { &hf_ftam_storage_account,
5327       { "storage-account", "ftam.storage_account",
5328         FT_UINT32, BASE_DEC, VALS(ftam_Account_Attribute_vals), 0,
5329         "ftam.Account_Attribute", HFILL }},
5330     { &hf_ftam_object_availability,
5331       { "object-availability", "ftam.object_availability",
5332         FT_UINT32, BASE_DEC, VALS(ftam_Object_Availability_Attribute_vals), 0,
5333         "ftam.Object_Availability_Attribute", HFILL }},
5334     { &hf_ftam_future_Object_size,
5335       { "future-Object-size", "ftam.future_Object_size",
5336         FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5337         "ftam.Object_Size_Attribute", HFILL }},
5338     { &hf_ftam_change_attributes_access_control,
5339       { "access-control", "ftam.access_control",
5340         FT_UINT32, BASE_DEC, VALS(ftam_Access_Control_Change_Attribute_vals), 0,
5341         "ftam.Access_Control_Change_Attribute", HFILL }},
5342     { &hf_ftam_change_path_access_control,
5343       { "path-access-control", "ftam.path_access_control",
5344         FT_UINT32, BASE_DEC, VALS(ftam_Access_Control_Change_Attribute_vals), 0,
5345         "ftam.Access_Control_Change_Attribute", HFILL }},
5346     { &hf_ftam_legal_qualification,
5347       { "legal-qualification", "ftam.legal_qualification",
5348         FT_UINT32, BASE_DEC, VALS(ftam_Legal_Qualification_Attribute_vals), 0,
5349         "ftam.Legal_Qualification_Attribute", HFILL }},
5350     { &hf_ftam_private_use,
5351       { "private-use", "ftam.private_use",
5352         FT_UINT32, BASE_DEC, VALS(ftam_Private_Use_Attribute_vals), 0,
5353         "ftam.Private_Use_Attribute", HFILL }},
5354     { &hf_ftam_attribute_extensions,
5355       { "attribute-extensions", "ftam.attribute_extensions",
5356         FT_UINT32, BASE_DEC, NULL, 0,
5357         "ftam.Attribute_Extensions", HFILL }},
5358     { &hf_ftam__untag_item_01,
5359       { "_untag", "ftam._untag_item",
5360         FT_NONE, BASE_NONE, NULL, 0,
5361         "ftam.Charging_item", HFILL }},
5362     { &hf_ftam_resource_identifier,
5363       { "resource-identifier", "ftam.resource_identifier",
5364         FT_STRING, BASE_NONE, NULL, 0,
5365         "ftam.GraphicString", HFILL }},
5366     { &hf_ftam_charging_unit,
5367       { "charging-unit", "ftam.charging_unit",
5368         FT_STRING, BASE_NONE, NULL, 0,
5369         "ftam.GraphicString", HFILL }},
5370     { &hf_ftam_charging_value,
5371       { "charging-value", "ftam.charging_value",
5372         FT_INT32, BASE_DEC, NULL, 0,
5373         "ftam.INTEGER", HFILL }},
5374     { &hf_ftam_read,
5375       { "read", "ftam.read",
5376         FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5377         "ftam.Lock", HFILL }},
5378     { &hf_ftam_insert,
5379       { "insert", "ftam.insert",
5380         FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5381         "ftam.Lock", HFILL }},
5382     { &hf_ftam_replace,
5383       { "replace", "ftam.replace",
5384         FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5385         "ftam.Lock", HFILL }},
5386     { &hf_ftam_extend,
5387       { "extend", "ftam.extend",
5388         FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5389         "ftam.Lock", HFILL }},
5390     { &hf_ftam_erase,
5391       { "erase", "ftam.erase",
5392         FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5393         "ftam.Lock", HFILL }},
5394     { &hf_ftam_read_attribute,
5395       { "read-attribute", "ftam.read_attribute",
5396         FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5397         "ftam.Lock", HFILL }},
5398     { &hf_ftam_change_attribute,
5399       { "change-attribute", "ftam.change_attribute",
5400         FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5401         "ftam.Lock", HFILL }},
5402     { &hf_ftam_delete_Object,
5403       { "delete-Object", "ftam.delete_Object",
5404         FT_INT32, BASE_DEC, VALS(ftam_Lock_vals), 0,
5405         "ftam.Lock", HFILL }},
5406     { &hf_ftam_object_type,
5407       { "object-type", "ftam.object_type",
5408         FT_INT32, BASE_DEC, VALS(ftam_Object_Type_Attribute_vals), 0,
5409         "ftam.Object_Type_Attribute", HFILL }},
5410     { &hf_ftam_permitted_actions,
5411       { "permitted-actions", "ftam.permitted_actions",
5412         FT_BYTES, BASE_HEX, NULL, 0,
5413         "ftam.Permitted_Actions_Attribute", HFILL }},
5414     { &hf_ftam_access_control,
5415       { "access-control", "ftam.access_control",
5416         FT_UINT32, BASE_DEC, VALS(ftam_Access_Control_Attribute_vals), 0,
5417         "ftam.Access_Control_Attribute", HFILL }},
5418     { &hf_ftam_path_access_control,
5419       { "path-access-control", "ftam.path_access_control",
5420         FT_UINT32, BASE_DEC, VALS(ftam_Access_Control_Attribute_vals), 0,
5421         "ftam.Access_Control_Attribute", HFILL }},
5422     { &hf_ftam__untag_item_02,
5423       { "_untag", "ftam._untag_item",
5424         FT_NONE, BASE_NONE, NULL, 0,
5425         "ftam.Diagnostic_item", HFILL }},
5426     { &hf_ftam_diagnostic_type,
5427       { "diagnostic-type", "ftam.diagnostic_type",
5428         FT_INT32, BASE_DEC, VALS(ftam_T_diagnostic_type_vals), 0,
5429         "ftam.T_diagnostic_type", HFILL }},
5430     { &hf_ftam_error_identifier,
5431       { "error-identifier", "ftam.error_identifier",
5432         FT_INT32, BASE_DEC, NULL, 0,
5433         "ftam.INTEGER", HFILL }},
5434     { &hf_ftam_error_observer,
5435       { "error-observer", "ftam.error_observer",
5436         FT_INT32, BASE_DEC, VALS(ftam_Entity_Reference_vals), 0,
5437         "ftam.Entity_Reference", HFILL }},
5438     { &hf_ftam_error_Source,
5439       { "error-Source", "ftam.error_Source",
5440         FT_INT32, BASE_DEC, VALS(ftam_Entity_Reference_vals), 0,
5441         "ftam.Entity_Reference", HFILL }},
5442     { &hf_ftam_suggested_delay,
5443       { "suggested-delay", "ftam.suggested_delay",
5444         FT_INT32, BASE_DEC, NULL, 0,
5445         "ftam.INTEGER", HFILL }},
5446     { &hf_ftam_further_details,
5447       { "further-details", "ftam.further_details",
5448         FT_STRING, BASE_NONE, NULL, 0,
5449         "ftam.GraphicString", HFILL }},
5450     { &hf_ftam_first_last,
5451       { "first-last", "ftam.first_last",
5452         FT_INT32, BASE_DEC, VALS(ftam_T_first_last_vals), 0,
5453         "ftam.T_first_last", HFILL }},
5454     { &hf_ftam_relative,
5455       { "relative", "ftam.relative",
5456         FT_INT32, BASE_DEC, VALS(ftam_T_relative_vals), 0,
5457         "ftam.T_relative", HFILL }},
5458     { &hf_ftam_begin_end,
5459       { "begin-end", "ftam.begin_end",
5460         FT_INT32, BASE_DEC, VALS(ftam_T_begin_end_vals), 0,
5461         "ftam.T_begin_end", HFILL }},
5462     { &hf_ftam_single_name,
5463       { "single-name", "ftam.single_name",
5464         FT_NONE, BASE_NONE, NULL, 0,
5465         "ftam.Node_Name", HFILL }},
5466     { &hf_ftam_name_list,
5467       { "name-list", "ftam.name_list",
5468         FT_UINT32, BASE_DEC, NULL, 0,
5469         "ftam.SEQUENCE_OF_Node_Name", HFILL }},
5470     { &hf_ftam_name_list_item,
5471       { "name-list", "ftam.name_list_item",
5472         FT_NONE, BASE_NONE, NULL, 0,
5473         "ftam.Node_Name", HFILL }},
5474     { &hf_ftam_fadu_number,
5475       { "fadu-number", "ftam.fadu_number",
5476         FT_INT32, BASE_DEC, NULL, 0,
5477         "ftam.INTEGER", HFILL }},
5478     { &hf_ftam_graphicString,
5479       { "graphicString", "ftam.graphicString",
5480         FT_STRING, BASE_NONE, NULL, 0,
5481         "ftam.GraphicString", HFILL }},
5482     { &hf_ftam_octetString,
5483       { "octetString", "ftam.octetString",
5484         FT_BYTES, BASE_HEX, NULL, 0,
5485         "ftam.OCTET_STRING", HFILL }},
5486     { &hf_ftam_linked_Object,
5487       { "linked-Object", "ftam.linked_Object",
5488         FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5489         "ftam.Pathname_Attribute", HFILL }},
5490     { &hf_ftam_child_objects,
5491       { "child-objects", "ftam.child_objects",
5492         FT_UINT32, BASE_DEC, NULL, 0,
5493         "ftam.Child_Objects_Attribute", HFILL }},
5494     { &hf_ftam_primaty_pathname,
5495       { "primaty-pathname", "ftam.primaty_pathname",
5496         FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5497         "ftam.Pathname_Attribute", HFILL }},
5498     { &hf_ftam_date_and_time_of_creation,
5499       { "date-and-time-of-creation", "ftam.date_and_time_of_creation",
5500         FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5501         "ftam.Date_and_Time_Attribute", HFILL }},
5502     { &hf_ftam_date_and_time_of_last_modification,
5503       { "date-and-time-of-last-modification", "ftam.date_and_time_of_last_modification",
5504         FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5505         "ftam.Date_and_Time_Attribute", HFILL }},
5506     { &hf_ftam_date_and_time_of_last_read_access,
5507       { "date-and-time-of-last-read-access", "ftam.date_and_time_of_last_read_access",
5508         FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5509         "ftam.Date_and_Time_Attribute", HFILL }},
5510     { &hf_ftam_date_and_time_of_last_attribute_modification,
5511       { "date-and-time-of-last-attribute-modification", "ftam.date_and_time_of_last_attribute_modification",
5512         FT_UINT32, BASE_DEC, VALS(ftam_Date_and_Time_Attribute_vals), 0,
5513         "ftam.Date_and_Time_Attribute", HFILL }},
5514     { &hf_ftam_identity_of_creator,
5515       { "identity-of-creator", "ftam.identity_of_creator",
5516         FT_UINT32, BASE_DEC, VALS(ftam_User_Identity_Attribute_vals), 0,
5517         "ftam.User_Identity_Attribute", HFILL }},
5518     { &hf_ftam_identity_of_last_modifier,
5519       { "identity-of-last-modifier", "ftam.identity_of_last_modifier",
5520         FT_UINT32, BASE_DEC, VALS(ftam_User_Identity_Attribute_vals), 0,
5521         "ftam.User_Identity_Attribute", HFILL }},
5522     { &hf_ftam_identity_of_last_reader,
5523       { "identity-of-last-reader", "ftam.identity_of_last_reader",
5524         FT_UINT32, BASE_DEC, VALS(ftam_User_Identity_Attribute_vals), 0,
5525         "ftam.User_Identity_Attribute", HFILL }},
5526     { &hf_ftam_identity_last_attribute_modifier,
5527       { "identity-last-attribute-modifier", "ftam.identity_last_attribute_modifier",
5528         FT_UINT32, BASE_DEC, VALS(ftam_User_Identity_Attribute_vals), 0,
5529         "ftam.User_Identity_Attribute", HFILL }},
5530     { &hf_ftam_object_size,
5531       { "object-size", "ftam.object_size",
5532         FT_UINT32, BASE_DEC, VALS(ftam_Object_Size_Attribute_vals), 0,
5533         "ftam.Object_Size_Attribute", HFILL }},
5534     { &hf_ftam_no_value_available,
5535       { "no-value-available", "ftam.no_value_available",
5536         FT_NONE, BASE_NONE, NULL, 0,
5537         "ftam.NULL", HFILL }},
5538     { &hf_ftam_actual_values3,
5539       { "actual-values", "ftam.actual_values",
5540         FT_UINT32, BASE_DEC, NULL, 0,
5541         "ftam.SET_OF_Access_Control_Element", HFILL }},
5542     { &hf_ftam_actual_values3_item,
5543       { "actual-values", "ftam.actual_values_item",
5544         FT_NONE, BASE_NONE, NULL, 0,
5545         "ftam.Access_Control_Element", HFILL }},
5546     { &hf_ftam_actual_values1,
5547       { "actual-values", "ftam.actual_values",
5548         FT_NONE, BASE_NONE, NULL, 0,
5549         "ftam.T_actual_values1", HFILL }},
5550     { &hf_ftam_insert_values,
5551       { "insert-values", "ftam.insert_values",
5552         FT_UINT32, BASE_DEC, NULL, 0,
5553         "ftam.SET_OF_Access_Control_Element", HFILL }},
5554     { &hf_ftam_insert_values_item,
5555       { "insert-values", "ftam.insert_values_item",
5556         FT_NONE, BASE_NONE, NULL, 0,
5557         "ftam.Access_Control_Element", HFILL }},
5558     { &hf_ftam_delete_values,
5559       { "delete-values", "ftam.delete_values",
5560         FT_UINT32, BASE_DEC, NULL, 0,
5561         "ftam.SET_OF_Access_Control_Element", HFILL }},
5562     { &hf_ftam_delete_values_item,
5563       { "delete-values", "ftam.delete_values_item",
5564         FT_NONE, BASE_NONE, NULL, 0,
5565         "ftam.Access_Control_Element", HFILL }},
5566     { &hf_ftam_action_list,
5567       { "action-list", "ftam.action_list",
5568         FT_BYTES, BASE_HEX, NULL, 0,
5569         "ftam.Access_Request", HFILL }},
5570     { &hf_ftam_concurrency_access,
5571       { "concurrency-access", "ftam.concurrency_access",
5572         FT_NONE, BASE_NONE, NULL, 0,
5573         "ftam.Concurrency_Access", HFILL }},
5574     { &hf_ftam_identity,
5575       { "identity", "ftam.identity",
5576         FT_STRING, BASE_NONE, NULL, 0,
5577         "ftam.User_Identity", HFILL }},
5578     { &hf_ftam_passwords,
5579       { "passwords", "ftam.passwords",
5580         FT_NONE, BASE_NONE, NULL, 0,
5581         "ftam.Access_Passwords", HFILL }},
5582     { &hf_ftam_location,
5583       { "location", "ftam.location",
5584         FT_UINT32, BASE_DEC, VALS(acse_AE_title_vals), 0,
5585         "ftam.Application_Entity_Title", HFILL }},
5586     { &hf_ftam_read_key,
5587       { "read", "ftam.read",
5588         FT_BYTES, BASE_HEX, NULL, 0,
5589         "ftam.Concurrency_Key", HFILL }},
5590     { &hf_ftam_insert_key,
5591       { "insert", "ftam.insert",
5592         FT_BYTES, BASE_HEX, NULL, 0,
5593         "ftam.Concurrency_Key", HFILL }},
5594     { &hf_ftam_replace_key,
5595       { "replace", "ftam.replace",
5596         FT_BYTES, BASE_HEX, NULL, 0,
5597         "ftam.Concurrency_Key", HFILL }},
5598     { &hf_ftam_extend_key,
5599       { "extend", "ftam.extend",
5600         FT_BYTES, BASE_HEX, NULL, 0,
5601         "ftam.Concurrency_Key", HFILL }},
5602     { &hf_ftam_erase_key,
5603       { "erase", "ftam.erase",
5604         FT_BYTES, BASE_HEX, NULL, 0,
5605         "ftam.Concurrency_Key", HFILL }},
5606     { &hf_ftam_read_attribute_key,
5607       { "read-attribute", "ftam.read_attribute",
5608         FT_BYTES, BASE_HEX, NULL, 0,
5609         "ftam.Concurrency_Key", HFILL }},
5610     { &hf_ftam_change_attribute_key,
5611       { "change-attribute", "ftam.change_attribute",
5612         FT_BYTES, BASE_HEX, NULL, 0,
5613         "ftam.Concurrency_Key", HFILL }},
5614     { &hf_ftam_delete_Object_key,
5615       { "delete-Object", "ftam.delete_Object",
5616         FT_BYTES, BASE_HEX, NULL, 0,
5617         "ftam.Concurrency_Key", HFILL }},
5618     { &hf_ftam_actual_values2,
5619       { "actual-values", "ftam.actual_values",
5620         FT_STRING, BASE_NONE, NULL, 0,
5621         "ftam.Account", HFILL }},
5622     { &hf_ftam_document_type,
5623       { "document-type", "ftam.document_type",
5624         FT_NONE, BASE_NONE, NULL, 0,
5625         "ftam.T_document_type", HFILL }},
5626     { &hf_ftam_parameter,
5627       { "parameter", "ftam.parameter",
5628         FT_NONE, BASE_NONE, NULL, 0,
5629         "ftam.T_parameter", HFILL }},
5630     { &hf_ftam_constraint_set_and_abstract_Syntax,
5631       { "constraint-set-and-abstract-Syntax", "ftam.constraint_set_and_abstract_Syntax",
5632         FT_NONE, BASE_NONE, NULL, 0,
5633         "ftam.T_constraint_set_and_abstract_Syntax", HFILL }},
5634     { &hf_ftam_constraint_set_name,
5635       { "constraint-set-name", "ftam.constraint_set_name",
5636         FT_OID, BASE_NONE, NULL, 0,
5637         "ftam.Constraint_Set_Name", HFILL }},
5638     { &hf_ftam_actual_values5,
5639       { "actual-values", "ftam.actual_values",
5640         FT_STRING, BASE_NONE, NULL, 0,
5641         "ftam.GeneralizedTime", HFILL }},
5642     { &hf_ftam_actual_values8,
5643       { "actual-values", "ftam.actual_values",
5644         FT_INT32, BASE_DEC, VALS(ftam_T_actual_values8_vals), 0,
5645         "ftam.T_actual_values8", HFILL }},
5646     { &hf_ftam_incomplete_pathname,
5647       { "incomplete-pathname", "ftam.incomplete_pathname",
5648         FT_UINT32, BASE_DEC, NULL, 0,
5649         "ftam.Pathname", HFILL }},
5650     { &hf_ftam_complete_pathname,
5651       { "complete-pathname", "ftam.complete_pathname",
5652         FT_UINT32, BASE_DEC, NULL, 0,
5653         "ftam.Pathname", HFILL }},
5654     { &hf_ftam_actual_values7,
5655       { "actual-values", "ftam.actual_values",
5656         FT_INT32, BASE_DEC, NULL, 0,
5657         "ftam.INTEGER", HFILL }},
5658     { &hf_ftam_actual_values9,
5659       { "actual-values", "ftam.actual_values",
5660         FT_STRING, BASE_NONE, NULL, 0,
5661         "ftam.GraphicString", HFILL }},
5662     { &hf_ftam_abstract_Syntax_not_supported,
5663       { "abstract-Syntax-not-supported", "ftam.abstract_Syntax_not_supported",
5664         FT_NONE, BASE_NONE, NULL, 0,
5665         "ftam.NULL", HFILL }},
5666     { &hf_ftam_actual_values4,
5667       { "actual-values", "ftam.actual_values",
5668         FT_NONE, BASE_NONE, NULL, 0,
5669         "ftam.EXTERNAL", HFILL }},
5670     { &hf_ftam_actual_values6,
5671       { "actual-values", "ftam.actual_values",
5672         FT_STRING, BASE_NONE, NULL, 0,
5673         "ftam.User_Identity", HFILL }},
5674     { &hf_ftam_Child_Objects_Attribute_item,
5675       { "Child-Objects-Attribute", "ftam.Child_Objects_Attribute_item",
5676         FT_STRING, BASE_NONE, NULL, 0,
5677         "ftam.GraphicString", HFILL }},
5678     { &hf_ftam_f_Change_prefix_request,
5679       { "f-Change-prefix-request", "ftam.f_Change_prefix_request",
5680         FT_NONE, BASE_NONE, NULL, 0,
5681         "ftam.F_CHANGE_PREFIX_request", HFILL }},
5682     { &hf_ftam_f_Change_prefix_response,
5683       { "f-Change-prefix-response", "ftam.f_Change_prefix_response",
5684         FT_NONE, BASE_NONE, NULL, 0,
5685         "ftam.F_CHANGE_PREFIX_response", HFILL }},
5686     { &hf_ftam_f_list_request,
5687       { "f-list-request", "ftam.f_list_request",
5688         FT_NONE, BASE_NONE, NULL, 0,
5689         "ftam.F_LIST_request", HFILL }},
5690     { &hf_ftam_f_list_response,
5691       { "f-list-response", "ftam.f_list_response",
5692         FT_NONE, BASE_NONE, NULL, 0,
5693         "ftam.F_LIST_response", HFILL }},
5694     { &hf_ftam_f_group_select_request,
5695       { "f-group-select-request", "ftam.f_group_select_request",
5696         FT_NONE, BASE_NONE, NULL, 0,
5697         "ftam.F_GROUP_SELECT_request", HFILL }},
5698     { &hf_ftam_f_group_select_response,
5699       { "f-group-select-response", "ftam.f_group_select_response",
5700         FT_NONE, BASE_NONE, NULL, 0,
5701         "ftam.F_GROUP_SELECT_response", HFILL }},
5702     { &hf_ftam_f_group_delete_request,
5703       { "f-group-delete-request", "ftam.f_group_delete_request",
5704         FT_NONE, BASE_NONE, NULL, 0,
5705         "ftam.F_GROUP_DELETE_request", HFILL }},
5706     { &hf_ftam_f_group_delete_response,
5707       { "f-group-delete-response", "ftam.f_group_delete_response",
5708         FT_NONE, BASE_NONE, NULL, 0,
5709         "ftam.F_GROUP_DELETE_response", HFILL }},
5710     { &hf_ftam_f_group_move_request,
5711       { "f-group-move-request", "ftam.f_group_move_request",
5712         FT_NONE, BASE_NONE, NULL, 0,
5713         "ftam.F_GROUP_MOVE_request", HFILL }},
5714     { &hf_ftam_f_group_move_response,
5715       { "f-group-move-response", "ftam.f_group_move_response",
5716         FT_NONE, BASE_NONE, NULL, 0,
5717         "ftam.F_GROUP_MOVE_response", HFILL }},
5718     { &hf_ftam_f_group_copy_request,
5719       { "f-group-copy-request", "ftam.f_group_copy_request",
5720         FT_NONE, BASE_NONE, NULL, 0,
5721         "ftam.F_GROUP_COPY_request", HFILL }},
5722     { &hf_ftam_f_group_copy_response,
5723       { "f-group-copy-response", "ftam.f_group_copy_response",
5724         FT_NONE, BASE_NONE, NULL, 0,
5725         "ftam.F_GROUP_COPY_response", HFILL }},
5726     { &hf_ftam_f_group_list_request,
5727       { "f-group-list-request", "ftam.f_group_list_request",
5728         FT_NONE, BASE_NONE, NULL, 0,
5729         "ftam.F_GROUP_LIST_request", HFILL }},
5730     { &hf_ftam_f_group_list_response,
5731       { "f-group-list-response", "ftam.f_group_list_response",
5732         FT_NONE, BASE_NONE, NULL, 0,
5733         "ftam.F_GROUP_LIST_response", HFILL }},
5734     { &hf_ftam_f_group_Change_attrib_request,
5735       { "f-group-Change-attrib-request", "ftam.f_group_Change_attrib_request",
5736         FT_NONE, BASE_NONE, NULL, 0,
5737         "ftam.F_GROUP_CHANGE_ATTRIB_request", HFILL }},
5738     { &hf_ftam_f_group_Change_attrib_response,
5739       { "f-group-Change-attrib-response", "ftam.f_group_Change_attrib_response",
5740         FT_NONE, BASE_NONE, NULL, 0,
5741         "ftam.F_GROUP_CHANGE_ATTRIB_response", HFILL }},
5742     { &hf_ftam_f_select_another_request,
5743       { "f-select-another-request", "ftam.f_select_another_request",
5744         FT_NONE, BASE_NONE, NULL, 0,
5745         "ftam.F_SELECT_ANOTHER_request", HFILL }},
5746     { &hf_ftam_f_select_another_response,
5747       { "f-select-another-response", "ftam.f_select_another_response",
5748         FT_NONE, BASE_NONE, NULL, 0,
5749         "ftam.F_SELECT_ANOTHER_response", HFILL }},
5750     { &hf_ftam_f_create_directory_request,
5751       { "f-create-directory-request", "ftam.f_create_directory_request",
5752         FT_NONE, BASE_NONE, NULL, 0,
5753         "ftam.F_CREATE_DIRECTORY_request", HFILL }},
5754     { &hf_ftam_f_create_directory_response,
5755       { "f-create-directory-response", "ftam.f_create_directory_response",
5756         FT_NONE, BASE_NONE, NULL, 0,
5757         "ftam.F_CREATE_DIRECTORY_response", HFILL }},
5758     { &hf_ftam_f_link_request,
5759       { "f-link-request", "ftam.f_link_request",
5760         FT_NONE, BASE_NONE, NULL, 0,
5761         "ftam.F_LINK_request", HFILL }},
5762     { &hf_ftam_f_link_response,
5763       { "f-link-response", "ftam.f_link_response",
5764         FT_NONE, BASE_NONE, NULL, 0,
5765         "ftam.F_LINK_response", HFILL }},
5766     { &hf_ftam_f_unlink_request,
5767       { "f-unlink-request", "ftam.f_unlink_request",
5768         FT_NONE, BASE_NONE, NULL, 0,
5769         "ftam.F_UNLINK_request", HFILL }},
5770     { &hf_ftam_f_unlink_response,
5771       { "f-unlink-response", "ftam.f_unlink_response",
5772         FT_NONE, BASE_NONE, NULL, 0,
5773         "ftam.F_UNLINK_response", HFILL }},
5774     { &hf_ftam_f_read_link_attrib_request,
5775       { "f-read-link-attrib-request", "ftam.f_read_link_attrib_request",
5776         FT_NONE, BASE_NONE, NULL, 0,
5777         "ftam.F_READ_LINK_ATTRIB_request", HFILL }},
5778     { &hf_ftam_f_read_link_attrib_response,
5779       { "f-read-link-attrib-response", "ftam.f_read_link_attrib_response",
5780         FT_NONE, BASE_NONE, NULL, 0,
5781         "ftam.F_READ_LINK_ATTRIB_response", HFILL }},
5782     { &hf_ftam_f_Change_link_attrib_request,
5783       { "f-Change-link-attrib-request", "ftam.f_Change_link_attrib_request",
5784         FT_NONE, BASE_NONE, NULL, 0,
5785         "ftam.F_CHANGE_LINK_ATTRIB_request", HFILL }},
5786     { &hf_ftam_f_Change_Iink_attrib_response,
5787       { "f-Change-Iink-attrib-response", "ftam.f_Change_Iink_attrib_response",
5788         FT_NONE, BASE_NONE, NULL, 0,
5789         "ftam.F_CHANGE_LINK_ATTRIB_response", HFILL }},
5790     { &hf_ftam_f_move_request,
5791       { "f-move-request", "ftam.f_move_request",
5792         FT_NONE, BASE_NONE, NULL, 0,
5793         "ftam.F_MOVE_request", HFILL }},
5794     { &hf_ftam_f_move_response,
5795       { "f-move-response", "ftam.f_move_response",
5796         FT_NONE, BASE_NONE, NULL, 0,
5797         "ftam.F_MOVE_response", HFILL }},
5798     { &hf_ftam_f_copy_request,
5799       { "f-copy-request", "ftam.f_copy_request",
5800         FT_NONE, BASE_NONE, NULL, 0,
5801         "ftam.F_COPY_request", HFILL }},
5802     { &hf_ftam_f_copy_response,
5803       { "f-copy-response", "ftam.f_copy_response",
5804         FT_NONE, BASE_NONE, NULL, 0,
5805         "ftam.F_COPY_response", HFILL }},
5806     { &hf_ftam_reset,
5807       { "reset", "ftam.reset",
5808         FT_BOOLEAN, 8, NULL, 0,
5809         "ftam.BOOLEAN", HFILL }},
5810     { &hf_ftam_destination_file_directory,
5811       { "destination-file-directory", "ftam.destination_file_directory",
5812         FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5813         "ftam.Destination_File_Directory", HFILL }},
5814     { &hf_ftam_attribute_value_asset_tions,
5815       { "attribute-value-asset-tions", "ftam.attribute_value_asset_tions",
5816         FT_UINT32, BASE_DEC, NULL, 0,
5817         "ftam.Attribute_Value_Assertions", HFILL }},
5818     { &hf_ftam_scope,
5819       { "scope", "ftam.scope",
5820         FT_UINT32, BASE_DEC, NULL, 0,
5821         "ftam.Scope", HFILL }},
5822     { &hf_ftam_objects_attributes_list,
5823       { "objects-attributes-list", "ftam.objects_attributes_list",
5824         FT_UINT32, BASE_DEC, NULL, 0,
5825         "ftam.Objects_Attributes_List", HFILL }},
5826     { &hf_ftam_attribute_value_assertions,
5827       { "attribute-value-assertions", "ftam.attribute_value_assertions",
5828         FT_UINT32, BASE_DEC, NULL, 0,
5829         "ftam.Attribute_Value_Assertions", HFILL }},
5830     { &hf_ftam_maximum_set_size,
5831       { "maximum-set-size", "ftam.maximum_set_size",
5832         FT_INT32, BASE_DEC, NULL, 0,
5833         "ftam.INTEGER", HFILL }},
5834     { &hf_ftam_request_Operation_result,
5835       { "request-Operation-result", "ftam.request_Operation_result",
5836         FT_INT32, BASE_DEC, VALS(ftam_Request_Operation_Result_U_vals), 0,
5837         "ftam.Request_Operation_Result", HFILL }},
5838     { &hf_ftam_operation_result,
5839       { "operation-result", "ftam.operation_result",
5840         FT_UINT32, BASE_DEC, VALS(ftam_Operation_Result_U_vals), 0,
5841         "ftam.Operation_Result", HFILL }},
5842     { &hf_ftam_error_action,
5843       { "error-action", "ftam.error_action",
5844         FT_INT32, BASE_DEC, VALS(ftam_Error_Action_vals), 0,
5845         "ftam.Error_Action", HFILL }},
5846     { &hf_ftam_last_member_indicator,
5847       { "last-member-indicator", "ftam.last_member_indicator",
5848         FT_BOOLEAN, 8, NULL, 0,
5849         "ftam.BOOLEAN", HFILL }},
5850     { &hf_ftam_shared_ASE_infonnation,
5851       { "shared-ASE-infonnation", "ftam.shared_ASE_infonnation",
5852         FT_NONE, BASE_NONE, NULL, 0,
5853         "ftam.Shared_ASE_Information", HFILL }},
5854     { &hf_ftam_target_object,
5855       { "target-object", "ftam.target_object",
5856         FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5857         "ftam.Pathname_Attribute", HFILL }},
5858     { &hf_ftam_target_Object,
5859       { "target-Object", "ftam.target_Object",
5860         FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5861         "ftam.Pathname_Attribute", HFILL }},
5862     { &hf_ftam_read_link_attributes,
5863       { "attributes", "ftam.attributes",
5864         FT_NONE, BASE_NONE, NULL, 0,
5865         "ftam.Read_Attributes", HFILL }},
5866     { &hf_ftam_Attribute_Extension_Names_item,
5867       { "Attribute-Extension-Names", "ftam.Attribute_Extension_Names_item",
5868         FT_NONE, BASE_NONE, NULL, 0,
5869         "ftam.Attribute_Extension_Set_Name", HFILL }},
5870     { &hf_ftam_extension_set_identifier,
5871       { "extension-set-identifier", "ftam.extension_set_identifier",
5872         FT_OID, BASE_NONE, NULL, 0,
5873         "ftam.Extension_Set_Identifier", HFILL }},
5874     { &hf_ftam_extension_attribute_names,
5875       { "extension-attribute-names", "ftam.extension_attribute_names",
5876         FT_UINT32, BASE_DEC, NULL, 0,
5877         "ftam.SEQUENCE_OF_Extension_Attribute_identifier", HFILL }},
5878     { &hf_ftam_extension_attribute_names_item,
5879       { "extension-attribute-names", "ftam.extension_attribute_names_item",
5880         FT_OID, BASE_NONE, NULL, 0,
5881         "ftam.Extension_Attribute_identifier", HFILL }},
5882     { &hf_ftam_Attribute_Extensions_item,
5883       { "Attribute-Extensions", "ftam.Attribute_Extensions_item",
5884         FT_NONE, BASE_NONE, NULL, 0,
5885         "ftam.Attribute_Extension_Set", HFILL }},
5886     { &hf_ftam_extension_set_attributes,
5887       { "extension-set-attributes", "ftam.extension_set_attributes",
5888         FT_UINT32, BASE_DEC, NULL, 0,
5889         "ftam.SEQUENCE_OF_Extension_Attribute", HFILL }},
5890     { &hf_ftam_extension_set_attributes_item,
5891       { "extension-set-attributes", "ftam.extension_set_attributes_item",
5892         FT_NONE, BASE_NONE, NULL, 0,
5893         "ftam.Extension_Attribute", HFILL }},
5894     { &hf_ftam_extension_attribute_identifier,
5895       { "extension-attribute-identifier", "ftam.extension_attribute_identifier",
5896         FT_OID, BASE_NONE, NULL, 0,
5897         "ftam.T_extension_attribute_identifier", HFILL }},
5898     { &hf_ftam_extension_attribute,
5899       { "extension-attribute", "ftam.extension_attribute",
5900         FT_NONE, BASE_NONE, NULL, 0,
5901         "ftam.T_extension_attribute", HFILL }},
5902     { &hf_ftam__untag_item_03,
5903       { "_untag", "ftam._untag_item",
5904         FT_NONE, BASE_NONE, NULL, 0,
5905         "ftam.T__untag_item", HFILL }},
5906     { &hf_ftam_root_directory,
5907       { "root-directory", "ftam.root_directory",
5908         FT_UINT32, BASE_DEC, VALS(ftam_Pathname_Attribute_vals), 0,
5909         "ftam.Pathname_Attribute", HFILL }},
5910     { &hf_ftam_retrieval_scope,
5911       { "retrieval-scope", "ftam.retrieval_scope",
5912         FT_INT32, BASE_DEC, VALS(ftam_T_retrieval_scope_vals), 0,
5913         "ftam.T_retrieval_scope", HFILL }},
5914     { &hf_ftam_OR_Set_item,
5915       { "OR-Set", "ftam.OR_Set_item",
5916         FT_UINT32, BASE_DEC, NULL, 0,
5917         "ftam.AND_Set", HFILL }},
5918     { &hf_ftam_AND_Set_item,
5919       { "AND-Set", "ftam.AND_Set_item",
5920         FT_UINT32, BASE_DEC, VALS(ftam_AND_Set_item_vals), 0,
5921         "ftam.AND_Set_item", HFILL }},
5922     { &hf_ftam_pathname_Pattern,
5923       { "pathname-Pattern", "ftam.pathname_Pattern",
5924         FT_NONE, BASE_NONE, NULL, 0,
5925         "ftam.Pathname_Pattern", HFILL }},
5926     { &hf_ftam_object_type_Pattern,
5927       { "object-type-Pattern", "ftam.object_type_Pattern",
5928         FT_NONE, BASE_NONE, NULL, 0,
5929         "ftam.Integer_Pattern", HFILL }},
5930     { &hf_ftam_permitted_actions_Pattern,
5931       { "permitted-actions-Pattern", "ftam.permitted_actions_Pattern",
5932         FT_NONE, BASE_NONE, NULL, 0,
5933         "ftam.Bitstring_Pattern", HFILL }},
5934     { &hf_ftam_contents_type_Pattern,
5935       { "contents-type-Pattern", "ftam.contents_type_Pattern",
5936         FT_UINT32, BASE_DEC, VALS(ftam_Contents_Type_Pattern_vals), 0,
5937         "ftam.Contents_Type_Pattern", HFILL }},
5938     { &hf_ftam_linked_Object_Pattern,
5939       { "linked-Object-Pattern", "ftam.linked_Object_Pattern",
5940         FT_NONE, BASE_NONE, NULL, 0,
5941         "ftam.Pathname_Pattern", HFILL }},
5942     { &hf_ftam_child_objects_Pattern,
5943       { "child-objects-Pattern", "ftam.child_objects_Pattern",
5944         FT_NONE, BASE_NONE, NULL, 0,
5945         "ftam.Pathname_Pattern", HFILL }},
5946     { &hf_ftam_primaty_pathname_Pattern,
5947       { "primaty-pathname-Pattern", "ftam.primaty_pathname_Pattern",
5948         FT_NONE, BASE_NONE, NULL, 0,
5949         "ftam.Pathname_Pattern", HFILL }},
5950     { &hf_ftam_storage_account_Pattern,
5951       { "storage-account-Pattern", "ftam.storage_account_Pattern",
5952         FT_NONE, BASE_NONE, NULL, 0,
5953         "ftam.String_Pattern", HFILL }},
5954     { &hf_ftam_date_and_time_of_creation_Pattern,
5955       { "date-and-time-of-creation-Pattern", "ftam.date_and_time_of_creation_Pattern",
5956         FT_NONE, BASE_NONE, NULL, 0,
5957         "ftam.Date_and_Time_Pattern", HFILL }},
5958     { &hf_ftam_date_and_time_of_last_modification_Pattern,
5959       { "date-and-time-of-last-modification-Pattern", "ftam.date_and_time_of_last_modification_Pattern",
5960         FT_NONE, BASE_NONE, NULL, 0,
5961         "ftam.Date_and_Time_Pattern", HFILL }},
5962     { &hf_ftam_date_and_time_of_last_read_access_Pattern,
5963       { "date-and-time-of-last-read-access-Pattern", "ftam.date_and_time_of_last_read_access_Pattern",
5964         FT_NONE, BASE_NONE, NULL, 0,
5965         "ftam.Date_and_Time_Pattern", HFILL }},
5966     { &hf_ftam_date_and_time_of_last_attribute_modification_Pattern,
5967       { "date-and-time-of-last-attribute-modification-Pattern", "ftam.date_and_time_of_last_attribute_modification_Pattern",
5968         FT_NONE, BASE_NONE, NULL, 0,
5969         "ftam.Date_and_Time_Pattern", HFILL }},
5970     { &hf_ftam_identity_of_creator_Pattern,
5971       { "identity-of-creator-Pattern", "ftam.identity_of_creator_Pattern",
5972         FT_NONE, BASE_NONE, NULL, 0,
5973         "ftam.User_Identity_Pattern", HFILL }},
5974     { &hf_ftam_identity_of_last_modifier_Pattern,
5975       { "identity-of-last-modifier-Pattern", "ftam.identity_of_last_modifier_Pattern",
5976         FT_NONE, BASE_NONE, NULL, 0,
5977         "ftam.User_Identity_Pattern", HFILL }},
5978     { &hf_ftam_identity_of_last_reader_Pattern,
5979       { "identity-of-last-reader-Pattern", "ftam.identity_of_last_reader_Pattern",
5980         FT_NONE, BASE_NONE, NULL, 0,
5981         "ftam.User_Identity_Pattern", HFILL }},
5982     { &hf_ftam_identity_of_last_attribute_modifier_Pattern,
5983       { "identity-of-last-attribute-modifier-Pattern", "ftam.identity_of_last_attribute_modifier_Pattern",
5984         FT_NONE, BASE_NONE, NULL, 0,
5985         "ftam.User_Identity_Pattern", HFILL }},
5986     { &hf_ftam_object_availabiiity_Pattern,
5987       { "object-availabiiity-Pattern", "ftam.object_availabiiity_Pattern",
5988         FT_NONE, BASE_NONE, NULL, 0,
5989         "ftam.Boolean_Pattern", HFILL }},
5990     { &hf_ftam_object_size_Pattern,
5991       { "object-size-Pattern", "ftam.object_size_Pattern",
5992         FT_NONE, BASE_NONE, NULL, 0,
5993         "ftam.Integer_Pattern", HFILL }},
5994     { &hf_ftam_future_object_size_Pattern,
5995       { "future-object-size-Pattern", "ftam.future_object_size_Pattern",
5996         FT_NONE, BASE_NONE, NULL, 0,
5997         "ftam.Integer_Pattern", HFILL }},
5998     { &hf_ftam_legal_quailfication_Pattern,
5999       { "legal-quailfication-Pattern", "ftam.legal_quailfication_Pattern",
6000         FT_NONE, BASE_NONE, NULL, 0,
6001         "ftam.String_Pattern", HFILL }},
6002     { &hf_ftam_attribute_extensions_pattern,
6003       { "attribute-extensions-pattern", "ftam.attribute_extensions_pattern",
6004         FT_UINT32, BASE_DEC, NULL, 0,
6005         "ftam.Attribute_Extensions_Pattern", HFILL }},
6006     { &hf_ftam_equality_comparision,
6007       { "equality-comparision", "ftam.equality_comparision",
6008         FT_BYTES, BASE_HEX, NULL, 0,
6009         "ftam.Equality_Comparision", HFILL }},
6010     { &hf_ftam_pathname_value,
6011       { "pathname-value", "ftam.pathname_value",
6012         FT_UINT32, BASE_DEC, NULL, 0,
6013         "ftam.T_pathname_value", HFILL }},
6014     { &hf_ftam_pathname_value_item,
6015       { "pathname-value", "ftam.pathname_value_item",
6016         FT_UINT32, BASE_DEC, VALS(ftam_T_pathname_value_item_vals), 0,
6017         "ftam.T_pathname_value_item", HFILL }},
6018     { &hf_ftam_string_match,
6019       { "string-match", "ftam.string_match",
6020         FT_NONE, BASE_NONE, NULL, 0,
6021         "ftam.String_Pattern", HFILL }},
6022     { &hf_ftam_any_match,
6023       { "any-match", "ftam.any_match",
6024         FT_NONE, BASE_NONE, NULL, 0,
6025         "ftam.NULL", HFILL }},
6026     { &hf_ftam_string_value,
6027       { "string-value", "ftam.string_value",
6028         FT_UINT32, BASE_DEC, NULL, 0,
6029         "ftam.T_string_value", HFILL }},
6030     { &hf_ftam_string_value_item,
6031       { "string-value", "ftam.string_value_item",
6032         FT_UINT32, BASE_DEC, VALS(ftam_T_string_value_item_vals), 0,
6033         "ftam.T_string_value_item", HFILL }},
6034     { &hf_ftam_substring_match,
6035       { "substring-match", "ftam.substring_match",
6036         FT_STRING, BASE_NONE, NULL, 0,
6037         "ftam.GraphicString", HFILL }},
6038     { &hf_ftam_number_of_characters_match,
6039       { "number-of-characters-match", "ftam.number_of_characters_match",
6040         FT_INT32, BASE_DEC, NULL, 0,
6041         "ftam.INTEGER", HFILL }},
6042     { &hf_ftam_match_bitstring,
6043       { "match-bitstring", "ftam.match_bitstring",
6044         FT_BYTES, BASE_HEX, NULL, 0,
6045         "ftam.BIT_STRING", HFILL }},
6046     { &hf_ftam_significance_bitstring,
6047       { "significance-bitstring", "ftam.significance_bitstring",
6048         FT_BYTES, BASE_HEX, NULL, 0,
6049         "ftam.BIT_STRING", HFILL }},
6050     { &hf_ftam_relational_camparision,
6051       { "relational-camparision", "ftam.relational_camparision",
6052         FT_BYTES, BASE_HEX, NULL, 0,
6053         "ftam.Equality_Comparision", HFILL }},
6054     { &hf_ftam_time_and_date_value,
6055       { "time-and-date-value", "ftam.time_and_date_value",
6056         FT_STRING, BASE_NONE, NULL, 0,
6057         "ftam.GeneralizedTime", HFILL }},
6058     { &hf_ftam_relational_comparision,
6059       { "relational-comparision", "ftam.relational_comparision",
6060         FT_BYTES, BASE_HEX, NULL, 0,
6061         "ftam.Relational_Comparision", HFILL }},
6062     { &hf_ftam_integer_value,
6063       { "integer-value", "ftam.integer_value",
6064         FT_INT32, BASE_DEC, NULL, 0,
6065         "ftam.INTEGER", HFILL }},
6066     { &hf_ftam_object_identifier_value,
6067       { "object-identifier-value", "ftam.object_identifier_value",
6068         FT_OID, BASE_NONE, NULL, 0,
6069         "ftam.OBJECT_IDENTIFIER", HFILL }},
6070     { &hf_ftam_boolean_value,
6071       { "boolean-value", "ftam.boolean_value",
6072         FT_BOOLEAN, 8, NULL, 0,
6073         "ftam.BOOLEAN", HFILL }},
6074     { &hf_ftam_document_type_Pattern,
6075       { "document-type-Pattern", "ftam.document_type_Pattern",
6076         FT_NONE, BASE_NONE, NULL, 0,
6077         "ftam.Object_Identifier_Pattern", HFILL }},
6078     { &hf_ftam_constraint_set_abstract_Syntax_Pattern,
6079       { "constraint-set-abstract-Syntax-Pattern", "ftam.constraint_set_abstract_Syntax_Pattern",
6080         FT_NONE, BASE_NONE, NULL, 0,
6081         "ftam.T_constraint_set_abstract_Syntax_Pattern", HFILL }},
6082     { &hf_ftam_constraint_Set_Pattern,
6083       { "constraint-Set-Pattern", "ftam.constraint_Set_Pattern",
6084         FT_NONE, BASE_NONE, NULL, 0,
6085         "ftam.Object_Identifier_Pattern", HFILL }},
6086     { &hf_ftam_abstract_Syntax_Pattern,
6087       { "abstract-Syntax-Pattern", "ftam.abstract_Syntax_Pattern",
6088         FT_NONE, BASE_NONE, NULL, 0,
6089         "ftam.Object_Identifier_Pattern", HFILL }},
6090     { &hf_ftam_Attribute_Extensions_Pattern_item,
6091       { "Attribute-Extensions-Pattern", "ftam.Attribute_Extensions_Pattern_item",
6092         FT_NONE, BASE_NONE, NULL, 0,
6093         "ftam.Attribute_Extensions_Pattern_item", HFILL }},
6094     { &hf_ftam_extension_set_attribute_Patterns,
6095       { "extension-set-attribute-Patterns", "ftam.extension_set_attribute_Patterns",
6096         FT_UINT32, BASE_DEC, NULL, 0,
6097         "ftam.T_extension_set_attribute_Patterns", HFILL }},
6098     { &hf_ftam_extension_set_attribute_Patterns_item,
6099       { "extension-set-attribute-Patterns", "ftam.extension_set_attribute_Patterns_item",
6100         FT_NONE, BASE_NONE, NULL, 0,
6101         "ftam.T_extension_set_attribute_Patterns_item", HFILL }},
6102     { &hf_ftam_attribute_extension_attribute_identifier,
6103       { "extension-attribute-identifier", "ftam.extension_attribute_identifier",
6104         FT_OID, BASE_NONE, NULL, 0,
6105         "ftam.T_attribute_extension_attribute_identifier", HFILL }},
6106     { &hf_ftam_extension_attribute_Pattern,
6107       { "extension-attribute-Pattern", "ftam.extension_attribute_Pattern",
6108         FT_NONE, BASE_NONE, NULL, 0,
6109         "ftam.T_extension_attribute_Pattern", HFILL }},
6110     { &hf_ftam__untag_item_04,
6111       { "_untag", "ftam._untag_item",
6112         FT_NONE, BASE_NONE, NULL, 0,
6113         "ftam.Read_Attributes", HFILL }},
6114     { &hf_ftam_success_Object_count,
6115       { "success-Object-count", "ftam.success_Object_count",
6116         FT_INT32, BASE_DEC, NULL, 0,
6117         "ftam.INTEGER", HFILL }},
6118     { &hf_ftam_success_Object_names,
6119       { "success-Object-names", "ftam.success_Object_names",
6120         FT_UINT32, BASE_DEC, NULL, 0,
6121         "ftam.SEQUENCE_OF_Pathname", HFILL }},
6122     { &hf_ftam_success_Object_names_item,
6123       { "success-Object-names", "ftam.success_Object_names_item",
6124         FT_UINT32, BASE_DEC, NULL, 0,
6125         "ftam.Pathname", HFILL }},
6126     { &hf_ftam_Pathname_item,
6127       { "Pathname", "ftam.Pathname_item",
6128         FT_STRING, BASE_NONE, NULL, 0,
6129         "ftam.GraphicString", HFILL }},
6130     { &hf_ftam_Pass_Passwords_item,
6131       { "Pass-Passwords", "ftam.Pass_Passwords_item",
6132         FT_UINT32, BASE_DEC, VALS(ftam_Password_U_vals), 0,
6133         "ftam.Password", HFILL }},
6134     { &hf_ftam__untag_item_05,
6135       { "_untag", "ftam._untag_item",
6136         FT_NONE, BASE_NONE, NULL, 0,
6137         "ftam.Path_Access_Passwords_item", HFILL }},
6138     { &hf_ftam_ap,
6139       { "ap", "ftam.ap",
6140         FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
6141         "ftam.AP_title", HFILL }},
6142     { &hf_ftam_ae,
6143       { "ae", "ftam.ae",
6144         FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
6145         "ftam.AE_qualifier", HFILL }},
6146     { &hf_ftam_Protocol_Version_U_version_1,
6147       { "version-1", "ftam.version-1",
6148         FT_BOOLEAN, 8, NULL, 0x80,
6149         "", HFILL }},
6150     { &hf_ftam_Protocol_Version_U_version_2,
6151       { "version-2", "ftam.version-2",
6152         FT_BOOLEAN, 8, NULL, 0x40,
6153         "", HFILL }},
6154     { &hf_ftam_Service_Class_U_unconstrained_class,
6155       { "unconstrained-class", "ftam.unconstrained-class",
6156         FT_BOOLEAN, 8, NULL, 0x80,
6157         "", HFILL }},
6158     { &hf_ftam_Service_Class_U_management_class,
6159       { "management-class", "ftam.management-class",
6160         FT_BOOLEAN, 8, NULL, 0x40,
6161         "", HFILL }},
6162     { &hf_ftam_Service_Class_U_transfer_class,
6163       { "transfer-class", "ftam.transfer-class",
6164         FT_BOOLEAN, 8, NULL, 0x20,
6165         "", HFILL }},
6166     { &hf_ftam_Service_Class_U_transfer_and_management_class,
6167       { "transfer-and-management-class", "ftam.transfer-and-management-class",
6168         FT_BOOLEAN, 8, NULL, 0x10,
6169         "", HFILL }},
6170     { &hf_ftam_Service_Class_U_access_class,
6171       { "access-class", "ftam.access-class",
6172         FT_BOOLEAN, 8, NULL, 0x08,
6173         "", HFILL }},
6174     { &hf_ftam_Functional_Units_U_read,
6175       { "read", "ftam.read",
6176         FT_BOOLEAN, 8, NULL, 0x20,
6177         "", HFILL }},
6178     { &hf_ftam_Functional_Units_U_write,
6179       { "write", "ftam.write",
6180         FT_BOOLEAN, 8, NULL, 0x10,
6181         "", HFILL }},
6182     { &hf_ftam_Functional_Units_U_file_access,
6183       { "file-access", "ftam.file-access",
6184         FT_BOOLEAN, 8, NULL, 0x08,
6185         "", HFILL }},
6186     { &hf_ftam_Functional_Units_U_limited_file_management,
6187       { "limited-file-management", "ftam.limited-file-management",
6188         FT_BOOLEAN, 8, NULL, 0x04,
6189         "", HFILL }},
6190     { &hf_ftam_Functional_Units_U_enhanced_file_management,
6191       { "enhanced-file-management", "ftam.enhanced-file-management",
6192         FT_BOOLEAN, 8, NULL, 0x02,
6193         "", HFILL }},
6194     { &hf_ftam_Functional_Units_U_grouping,
6195       { "grouping", "ftam.grouping",
6196         FT_BOOLEAN, 8, NULL, 0x01,
6197         "", HFILL }},
6198     { &hf_ftam_Functional_Units_U_fadu_locking,
6199       { "fadu-locking", "ftam.fadu-locking",
6200         FT_BOOLEAN, 8, NULL, 0x80,
6201         "", HFILL }},
6202     { &hf_ftam_Functional_Units_U_recovery,
6203       { "recovery", "ftam.recovery",
6204         FT_BOOLEAN, 8, NULL, 0x40,
6205         "", HFILL }},
6206     { &hf_ftam_Functional_Units_U_restart_data_transfer,
6207       { "restart-data-transfer", "ftam.restart-data-transfer",
6208         FT_BOOLEAN, 8, NULL, 0x20,
6209         "", HFILL }},
6210     { &hf_ftam_Functional_Units_U_limited_filestore_management,
6211       { "limited-filestore-management", "ftam.limited-filestore-management",
6212         FT_BOOLEAN, 8, NULL, 0x10,
6213         "", HFILL }},
6214     { &hf_ftam_Functional_Units_U_enhanced_filestore_management,
6215       { "enhanced-filestore-management", "ftam.enhanced-filestore-management",
6216         FT_BOOLEAN, 8, NULL, 0x08,
6217         "", HFILL }},
6218     { &hf_ftam_Functional_Units_U_object_manipulation,
6219       { "object-manipulation", "ftam.object-manipulation",
6220         FT_BOOLEAN, 8, NULL, 0x04,
6221         "", HFILL }},
6222     { &hf_ftam_Functional_Units_U_group_manipulation,
6223       { "group-manipulation", "ftam.group-manipulation",
6224         FT_BOOLEAN, 8, NULL, 0x02,
6225         "", HFILL }},
6226     { &hf_ftam_Functional_Units_U_consecutive_access,
6227       { "consecutive-access", "ftam.consecutive-access",
6228         FT_BOOLEAN, 8, NULL, 0x01,
6229         "", HFILL }},
6230     { &hf_ftam_Functional_Units_U_concurrent_access,
6231       { "concurrent-access", "ftam.concurrent-access",
6232         FT_BOOLEAN, 8, NULL, 0x80,
6233         "", HFILL }},
6234     { &hf_ftam_Attribute_Groups_U_storage,
6235       { "storage", "ftam.storage",
6236         FT_BOOLEAN, 8, NULL, 0x80,
6237         "", HFILL }},
6238     { &hf_ftam_Attribute_Groups_U_security,
6239       { "security", "ftam.security",
6240         FT_BOOLEAN, 8, NULL, 0x40,
6241         "", HFILL }},
6242     { &hf_ftam_Attribute_Groups_U_private,
6243       { "private", "ftam.private",
6244         FT_BOOLEAN, 8, NULL, 0x20,
6245         "", HFILL }},
6246     { &hf_ftam_Attribute_Groups_U_extension,
6247       { "extension", "ftam.extension",
6248         FT_BOOLEAN, 8, NULL, 0x10,
6249         "", HFILL }},
6250     { &hf_ftam_T_processing_mode_f_read,
6251       { "f-read", "ftam.f-read",
6252         FT_BOOLEAN, 8, NULL, 0x80,
6253         "", HFILL }},
6254     { &hf_ftam_T_processing_mode_f_insert,
6255       { "f-insert", "ftam.f-insert",
6256         FT_BOOLEAN, 8, NULL, 0x40,
6257         "", HFILL }},
6258     { &hf_ftam_T_processing_mode_f_replace,
6259       { "f-replace", "ftam.f-replace",
6260         FT_BOOLEAN, 8, NULL, 0x20,
6261         "", HFILL }},
6262     { &hf_ftam_T_processing_mode_f_extend,
6263       { "f-extend", "ftam.f-extend",
6264         FT_BOOLEAN, 8, NULL, 0x10,
6265         "", HFILL }},
6266     { &hf_ftam_T_processing_mode_f_erase,
6267       { "f-erase", "ftam.f-erase",
6268         FT_BOOLEAN, 8, NULL, 0x08,
6269         "", HFILL }},
6270     { &hf_ftam_Access_Request_U_read,
6271       { "read", "ftam.read",
6272         FT_BOOLEAN, 8, NULL, 0x80,
6273         "", HFILL }},
6274     { &hf_ftam_Access_Request_U_insert,
6275       { "insert", "ftam.insert",
6276         FT_BOOLEAN, 8, NULL, 0x40,
6277         "", HFILL }},
6278     { &hf_ftam_Access_Request_U_replace,
6279       { "replace", "ftam.replace",
6280         FT_BOOLEAN, 8, NULL, 0x20,
6281         "", HFILL }},
6282     { &hf_ftam_Access_Request_U_extend,
6283       { "extend", "ftam.extend",
6284         FT_BOOLEAN, 8, NULL, 0x10,
6285         "", HFILL }},
6286     { &hf_ftam_Access_Request_U_erase,
6287       { "erase", "ftam.erase",
6288         FT_BOOLEAN, 8, NULL, 0x08,
6289         "", HFILL }},
6290     { &hf_ftam_Access_Request_U_read_attribute,
6291       { "read-attribute", "ftam.read-attribute",
6292         FT_BOOLEAN, 8, NULL, 0x04,
6293         "", HFILL }},
6294     { &hf_ftam_Access_Request_U_change_attribute,
6295       { "change-attribute", "ftam.change-attribute",
6296         FT_BOOLEAN, 8, NULL, 0x02,
6297         "", HFILL }},
6298     { &hf_ftam_Access_Request_U_delete_Object,
6299       { "delete-Object", "ftam.delete-Object",
6300         FT_BOOLEAN, 8, NULL, 0x01,
6301         "", HFILL }},
6302     { &hf_ftam_Concurrency_Key_not_required,
6303       { "not-required", "ftam.not-required",
6304         FT_BOOLEAN, 8, NULL, 0x80,
6305         "", HFILL }},
6306     { &hf_ftam_Concurrency_Key_shared,
6307       { "shared", "ftam.shared",
6308         FT_BOOLEAN, 8, NULL, 0x40,
6309         "", HFILL }},
6310     { &hf_ftam_Concurrency_Key_exclusive,
6311       { "exclusive", "ftam.exclusive",
6312         FT_BOOLEAN, 8, NULL, 0x20,
6313         "", HFILL }},
6314     { &hf_ftam_Concurrency_Key_no_access,
6315       { "no-access", "ftam.no-access",
6316         FT_BOOLEAN, 8, NULL, 0x10,
6317         "", HFILL }},
6318     { &hf_ftam_Permitted_Actions_Attribute_read,
6319       { "read", "ftam.read",
6320         FT_BOOLEAN, 8, NULL, 0x80,
6321         "", HFILL }},
6322     { &hf_ftam_Permitted_Actions_Attribute_insert,
6323       { "insert", "ftam.insert",
6324         FT_BOOLEAN, 8, NULL, 0x40,
6325         "", HFILL }},
6326     { &hf_ftam_Permitted_Actions_Attribute_replace,
6327       { "replace", "ftam.replace",
6328         FT_BOOLEAN, 8, NULL, 0x20,
6329         "", HFILL }},
6330     { &hf_ftam_Permitted_Actions_Attribute_extend,
6331       { "extend", "ftam.extend",
6332         FT_BOOLEAN, 8, NULL, 0x10,
6333         "", HFILL }},
6334     { &hf_ftam_Permitted_Actions_Attribute_erase,
6335       { "erase", "ftam.erase",
6336         FT_BOOLEAN, 8, NULL, 0x08,
6337         "", HFILL }},
6338     { &hf_ftam_Permitted_Actions_Attribute_read_attribute,
6339       { "read-attribute", "ftam.read-attribute",
6340         FT_BOOLEAN, 8, NULL, 0x04,
6341         "", HFILL }},
6342     { &hf_ftam_Permitted_Actions_Attribute_change_attribute,
6343       { "change-attribute", "ftam.change-attribute",
6344         FT_BOOLEAN, 8, NULL, 0x02,
6345         "", HFILL }},
6346     { &hf_ftam_Permitted_Actions_Attribute_delete_Object,
6347       { "delete-Object", "ftam.delete-Object",
6348         FT_BOOLEAN, 8, NULL, 0x01,
6349         "", HFILL }},
6350     { &hf_ftam_Permitted_Actions_Attribute_pass,
6351       { "pass", "ftam.pass",
6352         FT_BOOLEAN, 8, NULL, 0x10,
6353         "", HFILL }},
6354     { &hf_ftam_Permitted_Actions_Attribute_link,
6355       { "link", "ftam.link",
6356         FT_BOOLEAN, 8, NULL, 0x08,
6357         "", HFILL }},
6358     { &hf_ftam_Permitted_Actions_Attribute_traversal,
6359       { "traversal", "ftam.traversal",
6360         FT_BOOLEAN, 8, NULL, 0x80,
6361         "", HFILL }},
6362     { &hf_ftam_Permitted_Actions_Attribute_reverse_traversal,
6363       { "reverse-traversal", "ftam.reverse-traversal",
6364         FT_BOOLEAN, 8, NULL, 0x40,
6365         "", HFILL }},
6366     { &hf_ftam_Permitted_Actions_Attribute_random_Order,
6367       { "random-Order", "ftam.random-Order",
6368         FT_BOOLEAN, 8, NULL, 0x20,
6369         "", HFILL }},
6370     { &hf_ftam_Equality_Comparision_no_value_available_matches,
6371       { "no-value-available-matches", "ftam.no-value-available-matches",
6372         FT_BOOLEAN, 8, NULL, 0x80,
6373         "", HFILL }},
6374     { &hf_ftam_Equality_Comparision_equals_matches,
6375       { "equals-matches", "ftam.equals-matches",
6376         FT_BOOLEAN, 8, NULL, 0x40,
6377         "", HFILL }},
6378     { &hf_ftam_Relational_Comparision_no_value_available_matches,
6379       { "no-value-available-matches", "ftam.no-value-available-matches",
6380         FT_BOOLEAN, 8, NULL, 0x80,
6381         "", HFILL }},
6382     { &hf_ftam_Relational_Comparision_equals_matches,
6383       { "equals-matches", "ftam.equals-matches",
6384         FT_BOOLEAN, 8, NULL, 0x40,
6385         "", HFILL }},
6386     { &hf_ftam_Relational_Comparision_less_than_matches,
6387       { "less-than-matches", "ftam.less-than-matches",
6388         FT_BOOLEAN, 8, NULL, 0x20,
6389         "", HFILL }},
6390     { &hf_ftam_Relational_Comparision_greater_than_matches,
6391       { "greater-than-matches", "ftam.greater-than-matches",
6392         FT_BOOLEAN, 8, NULL, 0x10,
6393         "", HFILL }},
6394     { &hf_ftam_Attribute_Names_read_pathname,
6395       { "read-pathname", "ftam.read-pathname",
6396         FT_BOOLEAN, 8, NULL, 0x80,
6397         "", HFILL }},
6398     { &hf_ftam_Attribute_Names_read_Object_type,
6399       { "read-Object-type", "ftam.read-Object-type",
6400         FT_BOOLEAN, 8, NULL, 0x20,
6401         "", HFILL }},
6402     { &hf_ftam_Attribute_Names_read_permitted_actions,
6403       { "read-permitted-actions", "ftam.read-permitted-actions",
6404         FT_BOOLEAN, 8, NULL, 0x40,
6405         "", HFILL }},
6406     { &hf_ftam_Attribute_Names_read_contents_type,
6407       { "read-contents-type", "ftam.read-contents-type",
6408         FT_BOOLEAN, 8, NULL, 0x20,
6409         "", HFILL }},
6410     { &hf_ftam_Attribute_Names_read_linked_Object,
6411       { "read-linked-Object", "ftam.read-linked-Object",
6412         FT_BOOLEAN, 8, NULL, 0x10,
6413         "", HFILL }},
6414     { &hf_ftam_Attribute_Names_read_Child_objects,
6415       { "read-Child-objects", "ftam.read-Child-objects",
6416         FT_BOOLEAN, 8, NULL, 0x01,
6417         "", HFILL }},
6418     { &hf_ftam_Attribute_Names_read_primary_pathname,
6419       { "read-primary-pathname", "ftam.read-primary-pathname",
6420         FT_BOOLEAN, 8, NULL, 0x08,
6421         "", HFILL }},
6422     { &hf_ftam_Attribute_Names_read_storage_account,
6423       { "read-storage-account", "ftam.read-storage-account",
6424         FT_BOOLEAN, 8, NULL, 0x10,
6425         "", HFILL }},
6426     { &hf_ftam_Attribute_Names_read_date_and_time_of_creation,
6427       { "read-date-and-time-of-creation", "ftam.read-date-and-time-of-creation",
6428         FT_BOOLEAN, 8, NULL, 0x08,
6429         "", HFILL }},
6430     { &hf_ftam_Attribute_Names_read_date_and_time_of_last_modification,
6431       { "read-date-and-time-of-last-modification", "ftam.read-date-and-time-of-last-modification",
6432         FT_BOOLEAN, 8, NULL, 0x04,
6433         "", HFILL }},
6434     { &hf_ftam_Attribute_Names_read_date_and_time_of_last_read_access,
6435       { "read-date-and-time-of-last-read-access", "ftam.read-date-and-time-of-last-read-access",
6436         FT_BOOLEAN, 8, NULL, 0x02,
6437         "", HFILL }},
6438     { &hf_ftam_Attribute_Names_read_date_and_time_of_last_attribute_modification,
6439       { "read-date-and-time-of-last-attribute-modification", "ftam.read-date-and-time-of-last-attribute-modification",
6440         FT_BOOLEAN, 8, NULL, 0x01,
6441         "", HFILL }},
6442     { &hf_ftam_Attribute_Names_read_identity_of_creator,
6443       { "read-identity-of-creator", "ftam.read-identity-of-creator",
6444         FT_BOOLEAN, 8, NULL, 0x80,
6445         "", HFILL }},
6446     { &hf_ftam_Attribute_Names_read_identity_of_last_modifier,
6447       { "read-identity-of-last-modifier", "ftam.read-identity-of-last-modifier",
6448         FT_BOOLEAN, 8, NULL, 0x40,
6449         "", HFILL }},
6450     { &hf_ftam_Attribute_Names_read_identity_of_last_reader,
6451       { "read-identity-of-last-reader", "ftam.read-identity-of-last-reader",
6452         FT_BOOLEAN, 8, NULL, 0x20,
6453         "", HFILL }},
6454     { &hf_ftam_Attribute_Names_read_identity_of_last_attribute_modifier,
6455       { "read-identity-of-last-attribute-modifier", "ftam.read-identity-of-last-attribute-modifier",
6456         FT_BOOLEAN, 8, NULL, 0x10,
6457         "", HFILL }},
6458     { &hf_ftam_Attribute_Names_read_Object_availability,
6459       { "read-Object-availability", "ftam.read-Object-availability",
6460         FT_BOOLEAN, 8, NULL, 0x08,
6461         "", HFILL }},
6462     { &hf_ftam_Attribute_Names_read_Object_size,
6463       { "read-Object-size", "ftam.read-Object-size",
6464         FT_BOOLEAN, 8, NULL, 0x04,
6465         "", HFILL }},
6466     { &hf_ftam_Attribute_Names_read_future_Object_size,
6467       { "read-future-Object-size", "ftam.read-future-Object-size",
6468         FT_BOOLEAN, 8, NULL, 0x02,
6469         "", HFILL }},
6470     { &hf_ftam_Attribute_Names_read_access_control,
6471       { "read-access-control", "ftam.read-access-control",
6472         FT_BOOLEAN, 8, NULL, 0x01,
6473         "", HFILL }},
6474     { &hf_ftam_Attribute_Names_read_path_access_control,
6475       { "read-path-access-control", "ftam.read-path-access-control",
6476         FT_BOOLEAN, 8, NULL, 0x04,
6477         "", HFILL }},
6478     { &hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS,
6479       { "read-l8gal-qualifiCatiOnS", "ftam.read-l8gal-qualifiCatiOnS",
6480         FT_BOOLEAN, 8, NULL, 0x80,
6481         "", HFILL }},
6482     { &hf_ftam_Attribute_Names_read_private_use,
6483       { "read-private-use", "ftam.read-private-use",
6484         FT_BOOLEAN, 8, NULL, 0x40,
6485         "", HFILL }},
6486
6487 /*--- End of included file: packet-ftam-hfarr.c ---*/
6488 #line 135 "packet-ftam-template.c"
6489   };
6490
6491   /* List of subtrees */
6492   static gint *ett[] = {
6493     &ett_ftam,
6494
6495 /*--- Included file: packet-ftam-ettarr.c ---*/
6496 #line 1 "packet-ftam-ettarr.c"
6497     &ett_ftam_PDU,
6498     &ett_ftam_FTAM_Regime_PDU,
6499     &ett_ftam_F_INITIALIZE_request,
6500     &ett_ftam_F_INITIALIZE_response,
6501     &ett_ftam_Protocol_Version_U,
6502     &ett_ftam_Service_Class_U,
6503     &ett_ftam_Functional_Units_U,
6504     &ett_ftam_Attribute_Groups_U,
6505     &ett_ftam_Contents_Type_List_U,
6506     &ett_ftam_Contents_Type_List_item,
6507     &ett_ftam_F_TERMINATE_request,
6508     &ett_ftam_F_TERMINATE_response,
6509     &ett_ftam_F_U_ABORT_request,
6510     &ett_ftam_F_P_ABORT_request,
6511     &ett_ftam_File_PDU,
6512     &ett_ftam_F_SELECT_request,
6513     &ett_ftam_F_SELECT_response,
6514     &ett_ftam_F_DESELECT_request,
6515     &ett_ftam_F_DESELECT_response,
6516     &ett_ftam_F_CREATE_request,
6517     &ett_ftam_F_CREATE_response,
6518     &ett_ftam_F_DELETE_request,
6519     &ett_ftam_F_DELETE_response,
6520     &ett_ftam_F_READ_ATTRIB_request,
6521     &ett_ftam_F_READ_ATTRIB_response,
6522     &ett_ftam_F_CHANGE_ATTRIB_request,
6523     &ett_ftam_F_CHANGE_ATTRIB_response,
6524     &ett_ftam_F_OPEN_request,
6525     &ett_ftam_T_processing_mode,
6526     &ett_ftam_T_open_contents_type,
6527     &ett_ftam_SET_OF_Abstract_Syntax_Name,
6528     &ett_ftam_F_OPEN_response,
6529     &ett_ftam_F_CLOSE_request,
6530     &ett_ftam_F_CLOSE_response,
6531     &ett_ftam_F_BEGIN_GROUP_request,
6532     &ett_ftam_F_BEGIN_GROUP_response,
6533     &ett_ftam_F_END_GROUP_request,
6534     &ett_ftam_F_END_GROUP_response,
6535     &ett_ftam_F_RECOVER_request,
6536     &ett_ftam_F_RECOVER_response,
6537     &ett_ftam_F_LOCATE_request,
6538     &ett_ftam_F_LOCATE_response,
6539     &ett_ftam_F_ERASE_request,
6540     &ett_ftam_F_ERASE_response,
6541     &ett_ftam_Bulk_Data_PDU,
6542     &ett_ftam_F_READ_request,
6543     &ett_ftam_F_WRITE_request,
6544     &ett_ftam_F_DATA_END_request,
6545     &ett_ftam_F_TRANSFER_END_request,
6546     &ett_ftam_F_TRANSFER_END_response,
6547     &ett_ftam_F_CANCEL_request,
6548     &ett_ftam_F_CANCEL_response,
6549     &ett_ftam_F_RESTART_request,
6550     &ett_ftam_F_RESTART_response,
6551     &ett_ftam_Access_Context_U,
6552     &ett_ftam_Access_Passwords_U,
6553     &ett_ftam_Access_Request_U,
6554     &ett_ftam_Change_Attributes_U,
6555     &ett_ftam_Charging_U,
6556     &ett_ftam_Charging_item,
6557     &ett_ftam_Concurrency_Control_U,
6558     &ett_ftam_Create_Attributes_U,
6559     &ett_ftam_Diagnostic_U,
6560     &ett_ftam_Diagnostic_item,
6561     &ett_ftam_FADU_Identity_U,
6562     &ett_ftam_SEQUENCE_OF_Node_Name,
6563     &ett_ftam_Password_U,
6564     &ett_ftam_Read_Attributes_U,
6565     &ett_ftam_Select_Attributes_U,
6566     &ett_ftam_Access_Control_Attribute,
6567     &ett_ftam_SET_OF_Access_Control_Element,
6568     &ett_ftam_Access_Control_Change_Attribute,
6569     &ett_ftam_T_actual_values1,
6570     &ett_ftam_Access_Control_Element,
6571     &ett_ftam_Concurrency_Access,
6572     &ett_ftam_Concurrency_Key,
6573     &ett_ftam_Account_Attribute,
6574     &ett_ftam_Contents_Type_Attribute,
6575     &ett_ftam_T_document_type,
6576     &ett_ftam_T_constraint_set_and_abstract_Syntax,
6577     &ett_ftam_Date_and_Time_Attribute,
6578     &ett_ftam_Object_Availability_Attribute,
6579     &ett_ftam_Pathname_Attribute,
6580     &ett_ftam_Object_Size_Attribute,
6581     &ett_ftam_Legal_Qualification_Attribute,
6582     &ett_ftam_Permitted_Actions_Attribute,
6583     &ett_ftam_Private_Use_Attribute,
6584     &ett_ftam_User_Identity_Attribute,
6585     &ett_ftam_Child_Objects_Attribute,
6586     &ett_ftam_FSM_PDU,
6587     &ett_ftam_F_CHANGE_PREFIX_request,
6588     &ett_ftam_F_CHANGE_PREFIX_response,
6589     &ett_ftam_F_LIST_request,
6590     &ett_ftam_F_LIST_response,
6591     &ett_ftam_F_GROUP_SELECT_request,
6592     &ett_ftam_F_GROUP_SELECT_response,
6593     &ett_ftam_F_GROUP_DELETE_request,
6594     &ett_ftam_F_GROUP_DELETE_response,
6595     &ett_ftam_F_GROUP_MOVE_request,
6596     &ett_ftam_F_GROUP_MOVE_response,
6597     &ett_ftam_F_GROUP_COPY_request,
6598     &ett_ftam_F_GROUP_COPY_response,
6599     &ett_ftam_F_GROUP_LIST_request,
6600     &ett_ftam_F_GROUP_LIST_response,
6601     &ett_ftam_F_GROUP_CHANGE_ATTRIB_request,
6602     &ett_ftam_F_GROUP_CHANGE_ATTRIB_response,
6603     &ett_ftam_F_SELECT_ANOTHER_request,
6604     &ett_ftam_F_SELECT_ANOTHER_response,
6605     &ett_ftam_F_CREATE_DIRECTORY_request,
6606     &ett_ftam_F_CREATE_DIRECTORY_response,
6607     &ett_ftam_F_LINK_request,
6608     &ett_ftam_F_LINK_response,
6609     &ett_ftam_F_UNLINK_request,
6610     &ett_ftam_F_UNLINK_response,
6611     &ett_ftam_F_READ_LINK_ATTRIB_request,
6612     &ett_ftam_F_READ_LINK_ATTRIB_response,
6613     &ett_ftam_F_CHANGE_LINK_ATTRIB_request,
6614     &ett_ftam_F_CHANGE_LINK_ATTRIB_response,
6615     &ett_ftam_F_MOVE_request,
6616     &ett_ftam_F_MOVE_response,
6617     &ett_ftam_F_COPY_request,
6618     &ett_ftam_F_COPY_response,
6619     &ett_ftam_Attribute_Extension_Names,
6620     &ett_ftam_Attribute_Extension_Set_Name,
6621     &ett_ftam_SEQUENCE_OF_Extension_Attribute_identifier,
6622     &ett_ftam_Attribute_Extensions,
6623     &ett_ftam_Attribute_Extension_Set,
6624     &ett_ftam_SEQUENCE_OF_Extension_Attribute,
6625     &ett_ftam_Extension_Attribute,
6626     &ett_ftam_Scope_U,
6627     &ett_ftam_T__untag_item,
6628     &ett_ftam_OR_Set,
6629     &ett_ftam_AND_Set,
6630     &ett_ftam_AND_Set_item,
6631     &ett_ftam_Equality_Comparision,
6632     &ett_ftam_Relational_Comparision,
6633     &ett_ftam_Pathname_Pattern,
6634     &ett_ftam_T_pathname_value,
6635     &ett_ftam_T_pathname_value_item,
6636     &ett_ftam_String_Pattern,
6637     &ett_ftam_T_string_value,
6638     &ett_ftam_T_string_value_item,
6639     &ett_ftam_Bitstring_Pattern,
6640     &ett_ftam_Date_and_Time_Pattern,
6641     &ett_ftam_Integer_Pattern,
6642     &ett_ftam_Object_Identifier_Pattern,
6643     &ett_ftam_Boolean_Pattern,
6644     &ett_ftam_Contents_Type_Pattern,
6645     &ett_ftam_T_constraint_set_abstract_Syntax_Pattern,
6646     &ett_ftam_Attribute_Extensions_Pattern,
6647     &ett_ftam_Attribute_Extensions_Pattern_item,
6648     &ett_ftam_T_extension_set_attribute_Patterns,
6649     &ett_ftam_T_extension_set_attribute_Patterns_item,
6650     &ett_ftam_SEQUENCE_OF_Read_Attributes,
6651     &ett_ftam_Operation_Result_U,
6652     &ett_ftam_SEQUENCE_OF_Pathname,
6653     &ett_ftam_Pathname,
6654     &ett_ftam_Pass_Passwords,
6655     &ett_ftam_Path_Access_Passwords_U,
6656     &ett_ftam_Path_Access_Passwords_item,
6657     &ett_ftam_Attribute_Names,
6658     &ett_ftam_AE_title,
6659
6660 /*--- End of included file: packet-ftam-ettarr.c ---*/
6661 #line 141 "packet-ftam-template.c"
6662   };
6663
6664   /* Register protocol */
6665   proto_ftam = proto_register_protocol(PNAME, PSNAME, PFNAME);
6666   register_dissector("ftam", dissect_ftam, proto_ftam);
6667   /* Register fields and subtrees */
6668   proto_register_field_array(proto_ftam, hf, array_length(hf));
6669   proto_register_subtree_array(ett, array_length(ett));
6670
6671 }
6672
6673
6674 /*--- proto_reg_handoff_ftam --- */
6675 void proto_reg_handoff_ftam(void) {
6676         register_ber_oid_dissector("1.0.8571.1.1", dissect_ftam, proto_ftam,"iso-ftam(1)");
6677         register_ber_oid_dissector("1.0.8571.2.1", dissect_ftam, proto_ftam,"ftam-pci(1)");
6678         register_ber_oid_dissector("1.3.14.5.2.2", dissect_ftam, proto_ftam,"NIST file directory entry abstract syntax");
6679
6680         /* Unstructured text file document type FTAM-1 */
6681         register_ber_oid_dissector("1.0.8571.5.1", dissect_ftam_unstructured_text, proto_ftam,"ISO FTAM unstructured text");
6682         oid_add_from_string("ISO FTAM sequential text","1.0.8571.5.2");
6683         oid_add_from_string("FTAM unstructured text abstract syntax","1.0.8571.2.3");
6684         oid_add_from_string("FTAM simple-hierarchy","1.0.8571.2.5");
6685         oid_add_from_string("FTAM hierarchical file model","1.0.8571.3.1");
6686         oid_add_from_string("FTAM unstructured constraint set","1.0.8571.4.1");
6687
6688         /* Unstructured binary file document type FTAM-3 */
6689         register_ber_oid_dissector("1.0.8571.5.3", dissect_ftam_unstructured_binary, proto_ftam,"ISO FTAM unstructured binary");
6690         oid_add_from_string("FTAM unstructured binary abstract syntax","1.0.8571.2.4");
6691
6692         /* Filedirectory file document type NBS-9 */
6693         oid_add_from_string("NBS-9 FTAM file directory file","1.3.14.5.5.9");
6694
6695         /* Filedirectory file document type NBS-9 (WITH OLD NIST OIDs)*/
6696         oid_add_from_string("NBS-9-OLD FTAM file directory file","1.3.9999.1.5.9");
6697         oid_add_from_string("NIST file directory entry abstract syntax","1.3.9999.1.2.2");
6698 }