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