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