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