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