/* Do not modify this file. */
/* It is created automatically by the ASN.1 to Ethereal dissector compiler */
-/* ./packet-ftam.c */
+/* .\packet-ftam.c */
/* ../../tools/asn2eth.py -X -b -e -p ftam -c ftam.cnf -s packet-ftam-template ISO8571-FTAM.asn */
/* Input file: packet-ftam-template.c */
#include "packet-acse.h"
#include "packet-ftam.h"
-#define PNAME "FTAM"
+#define PNAME "ISO 8571 FTAM"
#define PSNAME "FTAM"
#define PFNAME "ftam"
/* Initialize the protocol and registered fields */
int proto_ftam = -1;
-static char object_identifier_id[MAX_OID_STR_LEN];
+static const char *object_identifier_id;
+/* Declare the function to avoid a compiler warning */
+static int dissect_ftam_OR_Set(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_);
/*--- Included file: packet-ftam-hf.c ---*/
static int hf_ftam_file_PDU = -1; /* File_PDU */
static int hf_ftam_bulk_Data_PDU = -1; /* Bulk_Data_PDU */
static int hf_ftam_fSM_PDU = -1; /* FSM_PDU */
+static int hf_ftam_nBS9 = -1; /* F_READ_ATTRIB_response */
static int hf_ftam_f_initialize_request = -1; /* F_INITIALIZE_request */
static int hf_ftam_f_initialize_response = -1; /* F_INITIALIZE_response */
static int hf_ftam_f_terminate_request = -1; /* F_TERMINATE_request */
static int hf_ftam_Attribute_Extensions_Pattern_item = -1; /* Attribute_Extensions_Pattern_item */
static int hf_ftam_extension_set_attribute_Patterns = -1; /* T_extension_set_attribute_Patterns */
static int hf_ftam_extension_set_attribute_Patterns_item = -1; /* T_extension_set_attribute_Patterns_item */
-static int hf_ftam_attribute_extension_attribute_identifier = -1; /* OBJECT_IDENTIFIER */
+static int hf_ftam_attribute_extension_attribute_identifier = -1; /* T_extension_attribute_identifier1 */
static int hf_ftam_extension_attribute_Pattern = -1; /* T_extension_attribute_Pattern */
static int hf_ftam_Objects_Attributes_List_item = -1; /* Read_Attributes */
static int hf_ftam_success_Object_count = -1; /* INTEGER */
static int hf_ftam_Attribute_Names_read_future_Object_size = -1;
static int hf_ftam_Attribute_Names_read_access_control = -1;
static int hf_ftam_Attribute_Names_read_path_access_control = -1;
-static int hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS = -1;
+static int hf_ftam_Attribute_Names_read_legal_qualifiCatiOnS = -1;
static int hf_ftam_Attribute_Names_read_private_use = -1;
/*--- End of included file: packet-ftam-hf.c ---*/
return dissect_acse_EXTERNAL(TRUE, tvb, offset, pinfo, tree, hf_ftam_actual_values4);
}
+
static const asn_namedbit Protocol_Version_bits[] = {
{ 0, &hf_ftam_Protocol_Version_version_1, -1, -1, "version-1", NULL },
{ 1, &hf_ftam_Protocol_Version_version_2, -1, -1, "version-2", NULL },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset,
Protocol_Version_bits, hf_index, ett_ftam_Protocol_Version,
NULL);
}
+
static int
dissect_ftam_Implementation_Information(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_restricted_string(TRUE, 1,
pinfo, tree, tvb, offset, hf_index,
NULL);
}
+
static int
dissect_ftam_BOOLEAN(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_boolean(implicit_tag, pinfo, tree, tvb, offset, hf_index);
return dissect_ftam_BOOLEAN(TRUE, tvb, offset, pinfo, tree, hf_ftam_boolean_value);
}
+
static const asn_namedbit Service_Class_bits[] = {
{ 0, &hf_ftam_Service_Class_unconstrained_class, -1, -1, "unconstrained-class", NULL },
{ 1, &hf_ftam_Service_Class_management_class, -1, -1, "management-class", NULL },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset,
Service_Class_bits, hf_index, ett_ftam_Service_Class,
NULL);
return dissect_ftam_Service_Class(FALSE, tvb, offset, pinfo, tree, hf_ftam_service_class);
}
+
static const asn_namedbit Functional_Units_bits[] = {
{ 2, &hf_ftam_Functional_Units_read, -1, -1, "read", NULL },
{ 3, &hf_ftam_Functional_Units_write, -1, -1, "write", NULL },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset,
Functional_Units_bits, hf_index, ett_ftam_Functional_Units,
NULL);
return dissect_ftam_Functional_Units(FALSE, tvb, offset, pinfo, tree, hf_ftam_functional_units);
}
+
static const asn_namedbit Attribute_Groups_bits[] = {
{ 0, &hf_ftam_Attribute_Groups_storage, -1, -1, "storage", NULL },
{ 1, &hf_ftam_Attribute_Groups_security, -1, -1, "security", NULL },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset,
Attribute_Groups_bits, hf_index, ett_ftam_Attribute_Groups,
NULL);
}
+
static int
dissect_ftam_Shared_ASE_Information(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_acse_EXTERNAL(implicit_tag, tvb, offset, pinfo, tree, hf_index);
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
+ guint32 len1;
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
+ offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &object_identifier_id);
- offset = dissect_ber_object_identifier(TRUE, pinfo, tree, tvb, offset,
- hf_index, object_identifier_id);
return offset;
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_object_identifier(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
static int
dissect_ftam_Contents_Type_List_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Contents_Type_List_item_choice, hf_index, ett_ftam_Contents_Type_List_item, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Contents_Type_List_item_choice, hf_index, ett_ftam_Contents_Type_List_item,
+ NULL);
return offset;
}
return dissect_ftam_Contents_Type_List_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_Contents_Type_List_item);
}
+
static const ber_sequence_t Contents_Type_List_sequence_of[1] = {
- { BER_CLASS_APP, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_Contents_Type_List_item },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_Contents_Type_List_item },
};
static int
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset,
Contents_Type_List_sequence_of, hf_index, ett_ftam_Contents_Type_List);
}
+
static int
dissect_ftam_User_Identity(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_restricted_string(TRUE, 22,
pinfo, tree, tvb, offset, hf_index,
NULL);
}
+
static int
dissect_ftam_Account(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_restricted_string(TRUE, 4,
pinfo, tree, tvb, offset, hf_index,
NULL);
}
+
static int
dissect_ftam_GraphicString(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_restricted_string(implicit_tag, 0,
- pinfo, tree, tvb, offset, hf_index,
- NULL);
+ offset = dissect_ber_restricted_string(implicit_tag, BER_UNI_TAG_GraphicString,
+ pinfo, tree, tvb, offset, hf_index,
+ NULL);
return offset;
}
}
+
static int
dissect_ftam_OCTET_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_octet_string(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- NULL);
+ NULL);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
Password_choice, hf_index, ett_ftam_Password, NULL);
return dissect_ftam_INTEGER(TRUE, tvb, offset, pinfo, tree, hf_ftam_success_Object_count);
}
+
static const ber_sequence_t F_INITIALIZE_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_protocol_Version },
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_implementation_information },
static int
dissect_ftam_F_INITIALIZE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_INITIALIZE_request_sequence, hf_index, ett_ftam_F_INITIALIZE_request);
+ F_INITIALIZE_request_sequence, hf_index, ett_ftam_F_INITIALIZE_request);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
return dissect_ftam_Entity_Reference(TRUE, tvb, offset, pinfo, tree, hf_ftam_error_Source);
}
+
static const ber_sequence_t Diagnostic_item_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_diagnostic_type_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_error_identifier_impl },
static int
dissect_ftam_Diagnostic_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Diagnostic_item_sequence, hf_index, ett_ftam_Diagnostic_item);
+ Diagnostic_item_sequence, hf_index, ett_ftam_Diagnostic_item);
return offset;
}
return dissect_ftam_Diagnostic_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_Diagnostic_item);
}
+
static const ber_sequence_t Diagnostic_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Diagnostic_item },
};
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset,
Diagnostic_sequence_of, hf_index, ett_ftam_Diagnostic);
return dissect_ftam_Diagnostic(FALSE, tvb, offset, pinfo, tree, hf_ftam_diagnostic);
}
+
static const ber_sequence_t F_INITIALIZE_response_sequence[] = {
{ BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_state_result },
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
static int
dissect_ftam_F_INITIALIZE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_INITIALIZE_response_sequence, hf_index, ett_ftam_F_INITIALIZE_response);
+ F_INITIALIZE_response_sequence, hf_index, ett_ftam_F_INITIALIZE_response);
return offset;
}
return dissect_ftam_F_INITIALIZE_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_initialize_response);
}
+
static const ber_sequence_t F_TERMINATE_request_sequence[] = {
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_TERMINATE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_TERMINATE_request_sequence, hf_index, ett_ftam_F_TERMINATE_request);
+ F_TERMINATE_request_sequence, hf_index, ett_ftam_F_TERMINATE_request);
return offset;
}
return dissect_ftam_F_TERMINATE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_terminate_request);
}
+
static const ber_sequence_t Charging_item_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_resource_identifier_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_charging_unit_impl },
static int
dissect_ftam_Charging_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Charging_item_sequence, hf_index, ett_ftam_Charging_item);
+ Charging_item_sequence, hf_index, ett_ftam_Charging_item);
return offset;
}
return dissect_ftam_Charging_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_Charging_item);
}
+
static const ber_sequence_t Charging_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Charging_item },
};
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset,
Charging_sequence_of, hf_index, ett_ftam_Charging);
return dissect_ftam_Charging(FALSE, tvb, offset, pinfo, tree, hf_ftam_charging);
}
+
static const ber_sequence_t F_TERMINATE_response_sequence[] = {
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
{ BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_charging },
static int
dissect_ftam_F_TERMINATE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_TERMINATE_response_sequence, hf_index, ett_ftam_F_TERMINATE_response);
+ F_TERMINATE_response_sequence, hf_index, ett_ftam_F_TERMINATE_response);
return offset;
}
return dissect_ftam_F_TERMINATE_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_terminate_response);
}
+
static const ber_sequence_t F_U_ABORT_request_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnostic },
static int
dissect_ftam_F_U_ABORT_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_U_ABORT_request_sequence, hf_index, ett_ftam_F_U_ABORT_request);
+ F_U_ABORT_request_sequence, hf_index, ett_ftam_F_U_ABORT_request);
return offset;
}
return dissect_ftam_F_U_ABORT_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_u_abort_request);
}
+
static const ber_sequence_t F_P_ABORT_request_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnostic },
static int
dissect_ftam_F_P_ABORT_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_P_ABORT_request_sequence, hf_index, ett_ftam_F_P_ABORT_request);
+ F_P_ABORT_request_sequence, hf_index, ett_ftam_F_P_ABORT_request);
return offset;
}
dissect_ftam_FTAM_Regime_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
gint branch_taken;
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- FTAM_Regime_PDU_choice, hf_index, ett_ftam_FTAM_Regime_PDU, &branch_taken);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ FTAM_Regime_PDU_choice, hf_index, ett_ftam_FTAM_Regime_PDU,
+ &branch_taken);
+
if( (branch_taken!=-1) && ftam_FTAM_Regime_PDU_vals[branch_taken].strptr ){
if (check_col(pinfo->cinfo, COL_INFO)) {
return dissect_ftam_FTAM_Regime_PDU(FALSE, tvb, offset, pinfo, tree, hf_ftam_fTAM_Regime_PDU);
}
+
static const ber_sequence_t Pathname_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_Pathname_item },
};
-static int
+int
dissect_ftam_Pathname(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- Pathname_sequence_of, hf_index, ett_ftam_Pathname);
+ Pathname_sequence_of, hf_index, ett_ftam_Pathname);
return offset;
}
static int
dissect_ftam_Pathname_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Pathname_Attribute_choice, hf_index, ett_ftam_Pathname_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Pathname_Attribute_choice, hf_index, ett_ftam_Pathname_Attribute,
+ NULL);
return offset;
}
return dissect_ftam_Pathname_Attribute(FALSE, tvb, offset, pinfo, tree, hf_ftam_root_directory);
}
+
static const ber_sequence_t Select_Attributes_sequence[] = {
- { -1/*choice*/ , -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
{ 0, 0, 0, NULL }
};
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset,
Select_Attributes_sequence, hf_index, ett_ftam_Select_Attributes);
return dissect_ftam_Select_Attributes(FALSE, tvb, offset, pinfo, tree, hf_ftam_select_attributes);
}
+
static const asn_namedbit Access_Request_bits[] = {
{ 0, &hf_ftam_Access_Request_read, -1, -1, "read", NULL },
{ 1, &hf_ftam_Access_Request_insert, -1, -1, "insert", NULL },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_bitstring(TRUE, pinfo, tree, tvb, offset,
Access_Request_bits, hf_index, ett_ftam_Access_Request,
NULL);
return dissect_ftam_Access_Request(TRUE, tvb, offset, pinfo, tree, hf_ftam_action_list);
}
+
static const ber_sequence_t Pass_Passwords_sequence_of[1] = {
{ BER_CLASS_APP, 17, BER_FLAGS_NOOWNTAG, dissect_Pass_Passwords_item },
};
static int
dissect_ftam_Pass_Passwords(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- Pass_Passwords_sequence_of, hf_index, ett_ftam_Pass_Passwords);
+ Pass_Passwords_sequence_of, hf_index, ett_ftam_Pass_Passwords);
return offset;
}
return dissect_ftam_Pass_Passwords(TRUE, tvb, offset, pinfo, tree, hf_ftam_pass_passwords);
}
+
static const ber_sequence_t Access_Passwords_sequence[] = {
{ BER_CLASS_CON, 0, 0, dissect_read_password },
{ BER_CLASS_CON, 1, 0, dissect_insert_password },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset,
Access_Passwords_sequence, hf_index, ett_ftam_Access_Passwords);
return dissect_ftam_Access_Passwords(TRUE, tvb, offset, pinfo, tree, hf_ftam_passwords);
}
+
static const ber_sequence_t Path_Access_Passwords_item_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_read_password_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_insert_password_impl },
static int
dissect_ftam_Path_Access_Passwords_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Path_Access_Passwords_item_sequence, hf_index, ett_ftam_Path_Access_Passwords_item);
+ Path_Access_Passwords_item_sequence, hf_index, ett_ftam_Path_Access_Passwords_item);
return offset;
}
return dissect_ftam_Path_Access_Passwords_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_Path_Access_Passwords_item);
}
+
static const ber_sequence_t Path_Access_Passwords_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Path_Access_Passwords_item },
};
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset,
Path_Access_Passwords_sequence_of, hf_index, ett_ftam_Path_Access_Passwords);
return dissect_ftam_Lock(TRUE, tvb, offset, pinfo, tree, hf_ftam_delete_Object_lock);
}
+
static const ber_sequence_t Concurrency_Control_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_read_lock_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_insert_lock_impl },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset,
Concurrency_Control_sequence, hf_index, ett_ftam_Concurrency_Control);
return dissect_ftam_Concurrency_Control(FALSE, tvb, offset, pinfo, tree, hf_ftam_concurrency_control);
}
+
static const ber_sequence_t F_SELECT_request_sequence[] = {
{ BER_CLASS_APP, 19, BER_FLAGS_NOOWNTAG, dissect_select_attributes },
{ BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_requested_access },
static int
dissect_ftam_F_SELECT_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_SELECT_request_sequence, hf_index, ett_ftam_F_SELECT_request);
+ F_SELECT_request_sequence, hf_index, ett_ftam_F_SELECT_request);
return offset;
}
}
+
static int
dissect_ftam_Referent_Indicator(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_boolean(TRUE, pinfo, tree, tvb, offset, hf_index);
return dissect_ftam_Referent_Indicator(FALSE, tvb, offset, pinfo, tree, hf_ftam_referent_indicator);
}
+
static const ber_sequence_t F_SELECT_response_sequence[] = {
{ BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_state_result },
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
static int
dissect_ftam_F_SELECT_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_SELECT_response_sequence, hf_index, ett_ftam_F_SELECT_response);
+ F_SELECT_response_sequence, hf_index, ett_ftam_F_SELECT_response);
return offset;
}
return dissect_ftam_F_SELECT_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_select_response);
}
+
static const ber_sequence_t F_DESELECT_request_sequence[] = {
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_DESELECT_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_DESELECT_request_sequence, hf_index, ett_ftam_F_DESELECT_request);
+ F_DESELECT_request_sequence, hf_index, ett_ftam_F_DESELECT_request);
return offset;
}
return dissect_ftam_F_DESELECT_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_deselect_request);
}
+
static const ber_sequence_t F_DESELECT_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_charging },
static int
dissect_ftam_F_DESELECT_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_DESELECT_response_sequence, hf_index, ett_ftam_F_DESELECT_response);
+ F_DESELECT_response_sequence, hf_index, ett_ftam_F_DESELECT_response);
return offset;
}
return dissect_ftam_Object_Type_Attribute(TRUE, tvb, offset, pinfo, tree, hf_ftam_object_type);
}
+
static const asn_namedbit Permitted_Actions_Attribute_bits[] = {
{ 0, &hf_ftam_Permitted_Actions_Attribute_read, -1, -1, "read", NULL },
{ 1, &hf_ftam_Permitted_Actions_Attribute_insert, -1, -1, "insert", NULL },
{ 0, NULL, 0, 0, NULL, NULL }
};
-static int
+int
dissect_ftam_Permitted_Actions_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
- Permitted_Actions_Attribute_bits, hf_index, ett_ftam_Permitted_Actions_Attribute,
- NULL);
+ Permitted_Actions_Attribute_bits, hf_index, ett_ftam_Permitted_Actions_Attribute,
+ NULL);
return offset;
}
return dissect_ftam_T_parameter(FALSE, tvb, offset, pinfo, tree, hf_ftam_parameter);
}
+
static const ber_sequence_t T_document_type_sequence[] = {
{ BER_CLASS_APP, 14, BER_FLAGS_NOOWNTAG, dissect_document_type_name },
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL, dissect_parameter },
static int
dissect_ftam_T_document_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- T_document_type_sequence, hf_index, ett_ftam_T_document_type);
+ T_document_type_sequence, hf_index, ett_ftam_T_document_type);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_object_identifier(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
return dissect_ftam_Constraint_Set_Name(FALSE, tvb, offset, pinfo, tree, hf_ftam_constraint_set_name);
}
+
static const ber_sequence_t T_constraint_set_and_abstract_Syntax_sequence[] = {
{ BER_CLASS_APP, 11, BER_FLAGS_NOOWNTAG, dissect_constraint_set_name },
{ BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_abstract_Syntax_name },
static int
dissect_ftam_T_constraint_set_and_abstract_Syntax(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- T_constraint_set_and_abstract_Syntax_sequence, hf_index, ett_ftam_T_constraint_set_and_abstract_Syntax);
+ T_constraint_set_and_abstract_Syntax_sequence, hf_index, ett_ftam_T_constraint_set_and_abstract_Syntax);
return offset;
}
static int
dissect_ftam_Contents_Type_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Contents_Type_Attribute_choice, hf_index, ett_ftam_Contents_Type_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Contents_Type_Attribute_choice, hf_index, ett_ftam_Contents_Type_Attribute,
+ NULL);
return offset;
}
static int
dissect_ftam_Account_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Account_Attribute_choice, hf_index, ett_ftam_Account_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Account_Attribute_choice, hf_index, ett_ftam_Account_Attribute,
+ NULL);
return offset;
}
}
-static const value_string ftam_Object_Availability_Attribute_vals[] = {
+const value_string ftam_Object_Availability_Attribute_vals[] = {
{ 0, "no-value-available" },
{ 1, "actual-values" },
{ 0, NULL }
{ 0, 0, 0, 0, NULL }
};
-static int
+int
dissect_ftam_Object_Availability_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Object_Availability_Attribute_choice, hf_index, ett_ftam_Object_Availability_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Object_Availability_Attribute_choice, hf_index, ett_ftam_Object_Availability_Attribute,
+ NULL);
return offset;
}
}
-static const value_string ftam_Object_Size_Attribute_vals[] = {
+const value_string ftam_Object_Size_Attribute_vals[] = {
{ 0, "no-value-available" },
{ 1, "actual-values" },
{ 0, NULL }
{ 0, 0, 0, 0, NULL }
};
-static int
+int
dissect_ftam_Object_Size_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Object_Size_Attribute_choice, hf_index, ett_ftam_Object_Size_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Object_Size_Attribute_choice, hf_index, ett_ftam_Object_Size_Attribute,
+ NULL);
return offset;
}
return dissect_ftam_Object_Size_Attribute(FALSE, tvb, offset, pinfo, tree, hf_ftam_object_size);
}
+
static const asn_namedbit Concurrency_Key_bits[] = {
{ 0, &hf_ftam_Concurrency_Key_not_required, -1, -1, "not-required", NULL },
{ 1, &hf_ftam_Concurrency_Key_shared, -1, -1, "shared", NULL },
static int
dissect_ftam_Concurrency_Key(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
- Concurrency_Key_bits, hf_index, ett_ftam_Concurrency_Key,
- NULL);
+ Concurrency_Key_bits, hf_index, ett_ftam_Concurrency_Key,
+ NULL);
return offset;
}
return dissect_ftam_Concurrency_Key(TRUE, tvb, offset, pinfo, tree, hf_ftam_delete_Object_key);
}
+
static const ber_sequence_t Concurrency_Access_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_read_key_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_insert_key_impl },
{ 0, 0, 0, NULL }
};
-static int
+int
dissect_ftam_Concurrency_Access(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Concurrency_Access_sequence, hf_index, ett_ftam_Concurrency_Access);
+ Concurrency_Access_sequence, hf_index, ett_ftam_Concurrency_Access);
return offset;
}
return dissect_ftam_AE_qualifier(FALSE, tvb, offset, pinfo, tree, hf_ftam_ae);
}
+
static const ber_sequence_t AE_title_sequence[] = {
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ap },
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_ae },
static int
dissect_ftam_AE_title(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- AE_title_sequence, hf_index, ett_ftam_AE_title);
+ AE_title_sequence, hf_index, ett_ftam_AE_title);
return offset;
}
+
static int
dissect_ftam_Application_Entity_Title(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ftam_AE_title(implicit_tag, tvb, offset, pinfo, tree, hf_index);
return dissect_ftam_Application_Entity_Title(TRUE, tvb, offset, pinfo, tree, hf_ftam_location);
}
+
static const ber_sequence_t Access_Control_Element_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_action_list_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_concurrency_access_impl },
static int
dissect_ftam_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Access_Control_Element_sequence, hf_index, ett_ftam_Access_Control_Element);
+ Access_Control_Element_sequence, hf_index, ett_ftam_Access_Control_Element);
return offset;
}
return dissect_ftam_Access_Control_Element(FALSE, tvb, offset, pinfo, tree, hf_ftam_delete_values_item);
}
+
static const ber_sequence_t SET_OF_Access_Control_Element_set_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_actual_values_item },
};
static int
dissect_ftam_SET_OF_Access_Control_Element(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
- SET_OF_Access_Control_Element_set_of, hf_index, ett_ftam_SET_OF_Access_Control_Element);
+ SET_OF_Access_Control_Element_set_of, hf_index, ett_ftam_SET_OF_Access_Control_Element);
return offset;
}
static int
dissect_ftam_Access_Control_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Access_Control_Attribute_choice, hf_index, ett_ftam_Access_Control_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Access_Control_Attribute_choice, hf_index, ett_ftam_Access_Control_Attribute,
+ NULL);
return offset;
}
}
-static const value_string ftam_Legal_Qualification_Attribute_vals[] = {
+const value_string ftam_Legal_Qualification_Attribute_vals[] = {
{ 0, "no-value-available" },
{ 1, "actual-values" },
{ 0, NULL }
{ 0, 0, 0, 0, NULL }
};
-static int
+int
dissect_ftam_Legal_Qualification_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Legal_Qualification_Attribute_choice, hf_index, ett_ftam_Legal_Qualification_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Legal_Qualification_Attribute_choice, hf_index, ett_ftam_Legal_Qualification_Attribute,
+ NULL);
return offset;
}
}
-static const value_string ftam_Private_Use_Attribute_vals[] = {
+const value_string ftam_Private_Use_Attribute_vals[] = {
{ 0, "no-value-available" },
{ 1, "abstract-Syntax-not-supported" },
{ 2, "actual-values" },
{ 0, 0, 0, 0, NULL }
};
-static int
+int
dissect_ftam_Private_Use_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Private_Use_Attribute_choice, hf_index, ett_ftam_Private_Use_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Private_Use_Attribute_choice, hf_index, ett_ftam_Private_Use_Attribute,
+ NULL);
return offset;
}
static int
dissect_ftam_Extension_Set_Identifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- NULL);
+ offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
return offset;
}
static int
dissect_ftam_T_extension_attribute_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_object_identifier(FALSE, pinfo, tree, tvb, offset,
- hf_index, object_identifier_id);
-
+ offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &object_identifier_id);
return offset;
}
return dissect_ftam_T_extension_attribute(FALSE, tvb, offset, pinfo, tree, hf_ftam_extension_attribute);
}
+
static const ber_sequence_t Extension_Attribute_sequence[] = {
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extension_attribute_identifier },
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_extension_attribute },
static int
dissect_ftam_Extension_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Extension_Attribute_sequence, hf_index, ett_ftam_Extension_Attribute);
+ Extension_Attribute_sequence, hf_index, ett_ftam_Extension_Attribute);
return offset;
}
return dissect_ftam_Extension_Attribute(FALSE, tvb, offset, pinfo, tree, hf_ftam_extension_set_attributes_item);
}
+
static const ber_sequence_t SEQUENCE_OF_Extension_Attribute_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extension_set_attributes_item },
};
static int
dissect_ftam_SEQUENCE_OF_Extension_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- SEQUENCE_OF_Extension_Attribute_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Extension_Attribute);
+ SEQUENCE_OF_Extension_Attribute_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Extension_Attribute);
return offset;
}
return dissect_ftam_SEQUENCE_OF_Extension_Attribute(FALSE, tvb, offset, pinfo, tree, hf_ftam_extension_set_attributes);
}
+
static const ber_sequence_t Attribute_Extension_Set_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extension_set_identifier_impl },
{ BER_CLASS_CON, 1, 0, dissect_extension_set_attributes },
static int
dissect_ftam_Attribute_Extension_Set(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Attribute_Extension_Set_sequence, hf_index, ett_ftam_Attribute_Extension_Set);
+ Attribute_Extension_Set_sequence, hf_index, ett_ftam_Attribute_Extension_Set);
return offset;
}
return dissect_ftam_Attribute_Extension_Set(FALSE, tvb, offset, pinfo, tree, hf_ftam_Attribute_Extensions_item);
}
+
static const ber_sequence_t Attribute_Extensions_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Attribute_Extensions_item },
};
-static int
+int
dissect_ftam_Attribute_Extensions(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- Attribute_Extensions_sequence_of, hf_index, ett_ftam_Attribute_Extensions);
+ Attribute_Extensions_sequence_of, hf_index, ett_ftam_Attribute_Extensions);
return offset;
}
return dissect_ftam_Attribute_Extensions(TRUE, tvb, offset, pinfo, tree, hf_ftam_attribute_extensions);
}
+
static const ber_sequence_t Create_Attributes_sequence[] = {
- { -1/*choice*/ , -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
{ BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_object_type_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_permitted_actions_impl },
{ BER_CLASS_CON, 2, BER_FLAGS_NOTCHKTAG, dissect_contents_type },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset,
Create_Attributes_sequence, hf_index, ett_ftam_Create_Attributes);
return dissect_ftam_Create_Attributes(FALSE, tvb, offset, pinfo, tree, hf_ftam_initial_attributes);
}
+
static const ber_sequence_t F_CREATE_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_override_impl },
{ BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_initial_attributes },
static int
dissect_ftam_F_CREATE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CREATE_request_sequence, hf_index, ett_ftam_F_CREATE_request);
+ F_CREATE_request_sequence, hf_index, ett_ftam_F_CREATE_request);
return offset;
}
return dissect_ftam_F_CREATE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_create_request);
}
+
static const ber_sequence_t F_CREATE_response_sequence[] = {
{ BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_state_result },
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
static int
dissect_ftam_F_CREATE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CREATE_response_sequence, hf_index, ett_ftam_F_CREATE_response);
+ F_CREATE_response_sequence, hf_index, ett_ftam_F_CREATE_response);
return offset;
}
return dissect_ftam_F_CREATE_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_create_response);
}
+
static const ber_sequence_t F_DELETE_request_sequence[] = {
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_DELETE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_DELETE_request_sequence, hf_index, ett_ftam_F_DELETE_request);
+ F_DELETE_request_sequence, hf_index, ett_ftam_F_DELETE_request);
return offset;
}
return dissect_ftam_F_DELETE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_delete_request);
}
+
static const ber_sequence_t F_DELETE_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_DELETE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_DELETE_response_sequence, hf_index, ett_ftam_F_DELETE_response);
+ F_DELETE_response_sequence, hf_index, ett_ftam_F_DELETE_response);
return offset;
}
return dissect_ftam_F_DELETE_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_delete_response);
}
+
static const asn_namedbit Attribute_Names_bits[] = {
{ 0, &hf_ftam_Attribute_Names_read_pathname, -1, -1, "read-pathname", NULL },
{ 18, &hf_ftam_Attribute_Names_read_Object_type, -1, -1, "read-Object-type", NULL },
{ 14, &hf_ftam_Attribute_Names_read_future_Object_size, -1, -1, "read-future-Object-size", NULL },
{ 15, &hf_ftam_Attribute_Names_read_access_control, -1, -1, "read-access-control", NULL },
{ 21, &hf_ftam_Attribute_Names_read_path_access_control, -1, -1, "read-path-access-control", NULL },
- { 16, &hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS, -1, -1, "read-l8gal-qualifiCatiOnS", NULL },
+ { 16, &hf_ftam_Attribute_Names_read_legal_qualifiCatiOnS, -1, -1, "read-legal-qualifiCatiOnS", NULL },
{ 17, &hf_ftam_Attribute_Names_read_private_use, -1, -1, "read-private-use", NULL },
{ 0, NULL, 0, 0, NULL, NULL }
};
static int
dissect_ftam_Attribute_Names(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
- Attribute_Names_bits, hf_index, ett_ftam_Attribute_Names,
- NULL);
+ Attribute_Names_bits, hf_index, ett_ftam_Attribute_Names,
+ NULL);
return offset;
}
static int
dissect_ftam_Extension_Attribute_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- NULL);
+ offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
return offset;
}
return dissect_ftam_Extension_Attribute_identifier(FALSE, tvb, offset, pinfo, tree, hf_ftam_extension_attribute_names_item);
}
+
static const ber_sequence_t SEQUENCE_OF_Extension_Attribute_identifier_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_extension_attribute_names_item },
};
static int
dissect_ftam_SEQUENCE_OF_Extension_Attribute_identifier(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- SEQUENCE_OF_Extension_Attribute_identifier_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Extension_Attribute_identifier);
+ SEQUENCE_OF_Extension_Attribute_identifier_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Extension_Attribute_identifier);
return offset;
}
return dissect_ftam_SEQUENCE_OF_Extension_Attribute_identifier(FALSE, tvb, offset, pinfo, tree, hf_ftam_extension_attribute_names);
}
+
static const ber_sequence_t Attribute_Extension_Set_Name_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extension_set_identifier_impl },
{ BER_CLASS_CON, 1, 0, dissect_extension_attribute_names },
static int
dissect_ftam_Attribute_Extension_Set_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Attribute_Extension_Set_Name_sequence, hf_index, ett_ftam_Attribute_Extension_Set_Name);
+ Attribute_Extension_Set_Name_sequence, hf_index, ett_ftam_Attribute_Extension_Set_Name);
return offset;
}
return dissect_ftam_Attribute_Extension_Set_Name(FALSE, tvb, offset, pinfo, tree, hf_ftam_Attribute_Extension_Names_item);
}
+
static const ber_sequence_t Attribute_Extension_Names_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Attribute_Extension_Names_item },
};
static int
dissect_ftam_Attribute_Extension_Names(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- Attribute_Extension_Names_sequence_of, hf_index, ett_ftam_Attribute_Extension_Names);
+ Attribute_Extension_Names_sequence_of, hf_index, ett_ftam_Attribute_Extension_Names);
return offset;
}
return dissect_ftam_Attribute_Extension_Names(TRUE, tvb, offset, pinfo, tree, hf_ftam_attribute_extension_names);
}
+
static const ber_sequence_t F_READ_ATTRIB_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attribute_names_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attribute_extension_names_impl },
static int
dissect_ftam_F_READ_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_READ_ATTRIB_request_sequence, hf_index, ett_ftam_F_READ_ATTRIB_request);
+ F_READ_ATTRIB_request_sequence, hf_index, ett_ftam_F_READ_ATTRIB_request);
return offset;
}
return dissect_ftam_F_READ_ATTRIB_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_read_attrib_request);
}
+
static const ber_sequence_t Child_Objects_Attribute_set_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_GraphicString, BER_FLAGS_NOOWNTAG, dissect_Child_Objects_Attribute_item },
};
static int
dissect_ftam_Child_Objects_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
- Child_Objects_Attribute_set_of, hf_index, ett_ftam_Child_Objects_Attribute);
+ Child_Objects_Attribute_set_of, hf_index, ett_ftam_Child_Objects_Attribute);
return offset;
}
}
+
static int
dissect_ftam_GeneralizedTime(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_GeneralizedTime(implicit_tag, pinfo, tree, tvb, offset, hf_index);
}
-static const value_string ftam_Date_and_Time_Attribute_vals[] = {
+const value_string ftam_Date_and_Time_Attribute_vals[] = {
{ 0, "no-value-available" },
{ 1, "actual-values" },
{ 0, NULL }
{ 0, 0, 0, 0, NULL }
};
-static int
+int
dissect_ftam_Date_and_Time_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Date_and_Time_Attribute_choice, hf_index, ett_ftam_Date_and_Time_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Date_and_Time_Attribute_choice, hf_index, ett_ftam_Date_and_Time_Attribute,
+ NULL);
return offset;
}
static int
dissect_ftam_User_Identity_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- User_Identity_Attribute_choice, hf_index, ett_ftam_User_Identity_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ User_Identity_Attribute_choice, hf_index, ett_ftam_User_Identity_Attribute,
+ NULL);
return offset;
}
return dissect_ftam_User_Identity_Attribute(FALSE, tvb, offset, pinfo, tree, hf_ftam_identity_last_attribute_modifier);
}
+
static const ber_sequence_t Read_Attributes_sequence[] = {
- { -1/*choice*/ , -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
{ BER_CLASS_CON, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_object_type_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_permitted_actions_impl },
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_contents_type },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset,
Read_Attributes_sequence, hf_index, ett_ftam_Read_Attributes);
return dissect_ftam_Read_Attributes(FALSE, tvb, offset, pinfo, tree, hf_ftam_Objects_Attributes_List_item);
}
+
static const ber_sequence_t F_READ_ATTRIB_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_read_attributes },
static int
dissect_ftam_F_READ_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_READ_ATTRIB_response_sequence, hf_index, ett_ftam_F_READ_ATTRIB_response);
+ F_READ_ATTRIB_response_sequence, hf_index, ett_ftam_F_READ_ATTRIB_response);
return offset;
}
+static int dissect_nBS9_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_ftam_F_READ_ATTRIB_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_nBS9);
+}
static int dissect_f_read_attrib_response_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_ftam_F_READ_ATTRIB_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_read_attrib_response);
}
+
static const ber_sequence_t T_actual_values1_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_insert_values_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_delete_values_impl },
static int
dissect_ftam_T_actual_values1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- T_actual_values1_sequence, hf_index, ett_ftam_T_actual_values1);
+ T_actual_values1_sequence, hf_index, ett_ftam_T_actual_values1);
return offset;
}
static int
dissect_ftam_Access_Control_Change_Attribute(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Access_Control_Change_Attribute_choice, hf_index, ett_ftam_Access_Control_Change_Attribute, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Access_Control_Change_Attribute_choice, hf_index, ett_ftam_Access_Control_Change_Attribute,
+ NULL);
return offset;
}
return dissect_ftam_Access_Control_Change_Attribute(FALSE, tvb, offset, pinfo, tree, hf_ftam_change_path_access_control);
}
+
static const ber_sequence_t Change_Attributes_sequence[] = {
- { -1/*choice*/ , -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname },
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_storage_account },
{ BER_CLASS_CON, 12, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_object_availability },
{ BER_CLASS_CON, 14, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_future_Object_size },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset,
Change_Attributes_sequence, hf_index, ett_ftam_Change_Attributes);
return dissect_ftam_Change_Attributes(FALSE, tvb, offset, pinfo, tree, hf_ftam_attributes);
}
+
static const ber_sequence_t F_CHANGE_ATTRIB_request_sequence[] = {
{ BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_attributes },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_CHANGE_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CHANGE_ATTRIB_request_sequence, hf_index, ett_ftam_F_CHANGE_ATTRIB_request);
+ F_CHANGE_ATTRIB_request_sequence, hf_index, ett_ftam_F_CHANGE_ATTRIB_request);
return offset;
}
return dissect_ftam_F_CHANGE_ATTRIB_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_Change_attrib_reques);
}
+
static const ber_sequence_t F_CHANGE_ATTRIB_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attributes },
static int
dissect_ftam_F_CHANGE_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CHANGE_ATTRIB_response_sequence, hf_index, ett_ftam_F_CHANGE_ATTRIB_response);
+ F_CHANGE_ATTRIB_response_sequence, hf_index, ett_ftam_F_CHANGE_ATTRIB_response);
return offset;
}
return dissect_ftam_F_CHANGE_ATTRIB_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_Change_attrib_respon);
}
+
static const asn_namedbit T_processing_mode_bits[] = {
{ 0, &hf_ftam_T_processing_mode_f_read, -1, -1, "f-read", NULL },
{ 1, &hf_ftam_T_processing_mode_f_insert, -1, -1, "f-insert", NULL },
static int
dissect_ftam_T_processing_mode(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
- T_processing_mode_bits, hf_index, ett_ftam_T_processing_mode,
- NULL);
+ T_processing_mode_bits, hf_index, ett_ftam_T_processing_mode,
+ NULL);
return offset;
}
static int
dissect_ftam_T_contents_type(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- T_contents_type_choice, hf_index, ett_ftam_T_contents_type, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ T_contents_type_choice, hf_index, ett_ftam_T_contents_type,
+ NULL);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
-
return offset;
}
static int dissect_activity_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_ftam_T_request_recovery_mode(TRUE, tvb, offset, pinfo, tree, hf_ftam_request_recovery_mode);
}
+
static const ber_sequence_t SET_OF_Abstract_Syntax_Name_set_of[1] = {
{ BER_CLASS_APP, 0, BER_FLAGS_NOOWNTAG, dissect_remove_contexts_item },
};
static int
dissect_ftam_SET_OF_Abstract_Syntax_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_set_of(implicit_tag, pinfo, tree, tvb, offset,
- SET_OF_Abstract_Syntax_Name_set_of, hf_index, ett_ftam_SET_OF_Abstract_Syntax_Name);
+ SET_OF_Abstract_Syntax_Name_set_of, hf_index, ett_ftam_SET_OF_Abstract_Syntax_Name);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
return dissect_ftam_Degree_Of_Overlap(FALSE, tvb, offset, pinfo, tree, hf_ftam_degree_of_overlap);
}
+
static const ber_sequence_t F_OPEN_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_processing_mode_impl },
{ BER_CLASS_CON, 1, 0, dissect_open_contents_type },
static int
dissect_ftam_F_OPEN_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_OPEN_request_sequence, hf_index, ett_ftam_F_OPEN_request);
+ F_OPEN_request_sequence, hf_index, ett_ftam_F_OPEN_request);
return offset;
}
return dissect_ftam_T_response_recovery_mode(TRUE, tvb, offset, pinfo, tree, hf_ftam_response_recovery_mode);
}
+
static const ber_sequence_t F_OPEN_response_sequence[] = {
{ BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_state_result },
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
static int
dissect_ftam_F_OPEN_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_OPEN_response_sequence, hf_index, ett_ftam_F_OPEN_response);
+ F_OPEN_response_sequence, hf_index, ett_ftam_F_OPEN_response);
return offset;
}
return dissect_ftam_F_OPEN_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_open_response);
}
+
static const ber_sequence_t F_CLOSE_request_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_CLOSE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CLOSE_request_sequence, hf_index, ett_ftam_F_CLOSE_request);
+ F_CLOSE_request_sequence, hf_index, ett_ftam_F_CLOSE_request);
return offset;
}
return dissect_ftam_F_CLOSE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_close_request);
}
+
static const ber_sequence_t F_CLOSE_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_CLOSE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CLOSE_response_sequence, hf_index, ett_ftam_F_CLOSE_response);
+ F_CLOSE_response_sequence, hf_index, ett_ftam_F_CLOSE_response);
return offset;
}
return dissect_ftam_F_CLOSE_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_close_response);
}
+
static const ber_sequence_t F_BEGIN_GROUP_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_threshold_impl },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_BEGIN_GROUP_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_BEGIN_GROUP_request_sequence, hf_index, ett_ftam_F_BEGIN_GROUP_request);
+ F_BEGIN_GROUP_request_sequence, hf_index, ett_ftam_F_BEGIN_GROUP_request);
return offset;
}
return dissect_ftam_F_BEGIN_GROUP_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_begin_group_request);
}
+
static const ber_sequence_t F_BEGIN_GROUP_response_sequence[] = {
{ 0, 0, 0, NULL }
};
static int
dissect_ftam_F_BEGIN_GROUP_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_BEGIN_GROUP_response_sequence, hf_index, ett_ftam_F_BEGIN_GROUP_response);
+ F_BEGIN_GROUP_response_sequence, hf_index, ett_ftam_F_BEGIN_GROUP_response);
return offset;
}
return dissect_ftam_F_BEGIN_GROUP_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_begin_group_response);
}
+
static const ber_sequence_t F_END_GROUP_request_sequence[] = {
{ 0, 0, 0, NULL }
};
static int
dissect_ftam_F_END_GROUP_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_END_GROUP_request_sequence, hf_index, ett_ftam_F_END_GROUP_request);
+ F_END_GROUP_request_sequence, hf_index, ett_ftam_F_END_GROUP_request);
return offset;
}
return dissect_ftam_F_END_GROUP_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_end_group_request);
}
+
static const ber_sequence_t F_END_GROUP_response_sequence[] = {
{ 0, 0, 0, NULL }
};
static int
dissect_ftam_F_END_GROUP_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_END_GROUP_response_sequence, hf_index, ett_ftam_F_END_GROUP_response);
+ F_END_GROUP_response_sequence, hf_index, ett_ftam_F_END_GROUP_response);
return offset;
}
return dissect_ftam_F_END_GROUP_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_end_group_response);
}
+
static const ber_sequence_t F_RECOVER_request_sequence[] = {
{ BER_CLASS_APP, 6, BER_FLAGS_NOOWNTAG, dissect_activity_identifier },
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_bulk_transfer_number_impl },
static int
dissect_ftam_F_RECOVER_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_RECOVER_request_sequence, hf_index, ett_ftam_F_RECOVER_request);
+ F_RECOVER_request_sequence, hf_index, ett_ftam_F_RECOVER_request);
return offset;
}
return dissect_ftam_F_RECOVER_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_recover_request);
}
+
static const ber_sequence_t F_RECOVER_response_sequence[] = {
{ BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_state_result },
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
static int
dissect_ftam_F_RECOVER_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_RECOVER_response_sequence, hf_index, ett_ftam_F_RECOVER_response);
+ F_RECOVER_response_sequence, hf_index, ett_ftam_F_RECOVER_response);
return offset;
}
}
+
static int
dissect_ftam_Node_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_acse_EXTERNAL(implicit_tag, tvb, offset, pinfo, tree, hf_index);
return dissect_ftam_Node_Name(FALSE, tvb, offset, pinfo, tree, hf_ftam_name_list_item);
}
+
static const ber_sequence_t SEQUENCE_OF_Node_Name_sequence_of[1] = {
{ BER_CLASS_UNI, 8, BER_FLAGS_NOOWNTAG, dissect_name_list_item },
};
static int
dissect_ftam_SEQUENCE_OF_Node_Name(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- SEQUENCE_OF_Node_Name_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Node_Name);
+ SEQUENCE_OF_Node_Name_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Node_Name);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
FADU_Identity_choice, hf_index, ett_ftam_FADU_Identity, NULL);
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
+
return offset;
}
static int dissect_fadu_lock(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_ftam_FADU_Lock(FALSE, tvb, offset, pinfo, tree, hf_ftam_fadu_lock);
}
+
static const ber_sequence_t F_LOCATE_request_sequence[] = {
{ BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_file_access_data_unit_identity },
{ BER_CLASS_APP, 16, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_fadu_lock },
static int
dissect_ftam_F_LOCATE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_LOCATE_request_sequence, hf_index, ett_ftam_F_LOCATE_request);
+ F_LOCATE_request_sequence, hf_index, ett_ftam_F_LOCATE_request);
return offset;
}
return dissect_ftam_F_LOCATE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_locate_request);
}
+
static const ber_sequence_t F_LOCATE_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 15, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_file_access_data_unit_identity },
static int
dissect_ftam_F_LOCATE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_LOCATE_response_sequence, hf_index, ett_ftam_F_LOCATE_response);
+ F_LOCATE_response_sequence, hf_index, ett_ftam_F_LOCATE_response);
return offset;
}
return dissect_ftam_F_LOCATE_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_locate_response);
}
+
static const ber_sequence_t F_ERASE_request_sequence[] = {
{ BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_file_access_data_unit_identity },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_ERASE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_ERASE_request_sequence, hf_index, ett_ftam_F_ERASE_request);
+ F_ERASE_request_sequence, hf_index, ett_ftam_F_ERASE_request);
return offset;
}
return dissect_ftam_F_ERASE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_erase_request);
}
+
static const ber_sequence_t F_ERASE_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnostic },
static int
dissect_ftam_F_ERASE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_ERASE_response_sequence, hf_index, ett_ftam_F_ERASE_response);
+ F_ERASE_response_sequence, hf_index, ett_ftam_F_ERASE_response);
return offset;
}
dissect_ftam_File_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
gint branch_taken;
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- File_PDU_choice, hf_index, ett_ftam_File_PDU, &branch_taken);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ File_PDU_choice, hf_index, ett_ftam_File_PDU,
+ &branch_taken);
+
if( (branch_taken!=-1) && ftam_File_PDU_vals[branch_taken].strptr ){
if (check_col(pinfo->cinfo, COL_INFO)) {
return dissect_ftam_T_access_context(TRUE, tvb, offset, pinfo, tree, hf_ftam_access_context);
}
+
static const ber_sequence_t Access_Context_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_access_context_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_level_number_impl },
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence(TRUE, pinfo, tree, tvb, offset,
Access_Context_sequence, hf_index, ett_ftam_Access_Context);
return dissect_ftam_Access_Context(FALSE, tvb, offset, pinfo, tree, hf_ftam_read_access_context);
}
+
static const ber_sequence_t F_READ_request_sequence[] = {
{ BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_file_access_data_unit_identity },
{ BER_CLASS_APP, 1, BER_FLAGS_NOOWNTAG, dissect_read_access_context },
static int
dissect_ftam_F_READ_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_READ_request_sequence, hf_index, ett_ftam_F_READ_request);
+ F_READ_request_sequence, hf_index, ett_ftam_F_READ_request);
return offset;
}
return dissect_ftam_T_file_access_data_unit_Operation(TRUE, tvb, offset, pinfo, tree, hf_ftam_file_access_data_unit_Operation);
}
+
static const ber_sequence_t F_WRITE_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_file_access_data_unit_Operation_impl },
{ BER_CLASS_APP, 15, BER_FLAGS_NOOWNTAG, dissect_file_access_data_unit_identity },
static int
dissect_ftam_F_WRITE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_WRITE_request_sequence, hf_index, ett_ftam_F_WRITE_request);
+ F_WRITE_request_sequence, hf_index, ett_ftam_F_WRITE_request);
return offset;
}
return dissect_ftam_F_WRITE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_write_request);
}
+
static const ber_sequence_t F_DATA_END_request_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnostic },
static int
dissect_ftam_F_DATA_END_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_DATA_END_request_sequence, hf_index, ett_ftam_F_DATA_END_request);
+ F_DATA_END_request_sequence, hf_index, ett_ftam_F_DATA_END_request);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
return dissect_ftam_Request_Type(FALSE, tvb, offset, pinfo, tree, hf_ftam_request_type);
}
+
static const ber_sequence_t F_TRANSFER_END_request_sequence[] = {
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
{ BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_request_type },
static int
dissect_ftam_F_TRANSFER_END_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_TRANSFER_END_request_sequence, hf_index, ett_ftam_F_TRANSFER_END_request);
+ F_TRANSFER_END_request_sequence, hf_index, ett_ftam_F_TRANSFER_END_request);
return offset;
}
return dissect_ftam_F_TRANSFER_END_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_transfer_end_request);
}
+
static const ber_sequence_t F_TRANSFER_END_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_TRANSFER_END_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_TRANSFER_END_response_sequence, hf_index, ett_ftam_F_TRANSFER_END_response);
+ F_TRANSFER_END_response_sequence, hf_index, ett_ftam_F_TRANSFER_END_response);
return offset;
}
return dissect_ftam_F_TRANSFER_END_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_transfer_end_response);
}
+
static const ber_sequence_t F_CANCEL_request_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_CANCEL_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CANCEL_request_sequence, hf_index, ett_ftam_F_CANCEL_request);
+ F_CANCEL_request_sequence, hf_index, ett_ftam_F_CANCEL_request);
return offset;
}
return dissect_ftam_F_CANCEL_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_cancel_request);
}
+
static const ber_sequence_t F_CANCEL_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_CANCEL_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CANCEL_response_sequence, hf_index, ett_ftam_F_CANCEL_response);
+ F_CANCEL_response_sequence, hf_index, ett_ftam_F_CANCEL_response);
return offset;
}
return dissect_ftam_F_CANCEL_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_cancel_response);
}
+
static const ber_sequence_t F_RESTART_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_checkpoint_identifier_impl },
{ BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_request_type },
static int
dissect_ftam_F_RESTART_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_RESTART_request_sequence, hf_index, ett_ftam_F_RESTART_request);
+ F_RESTART_request_sequence, hf_index, ett_ftam_F_RESTART_request);
return offset;
}
return dissect_ftam_F_RESTART_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_restart_request);
}
+
static const ber_sequence_t F_RESTART_response_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_checkpoint_identifier_impl },
{ BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_request_type },
static int
dissect_ftam_F_RESTART_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_RESTART_response_sequence, hf_index, ett_ftam_F_RESTART_response);
+ F_RESTART_response_sequence, hf_index, ett_ftam_F_RESTART_response);
return offset;
}
dissect_ftam_Bulk_Data_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
gint branch_taken;
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Bulk_Data_PDU_choice, hf_index, ett_ftam_Bulk_Data_PDU, &branch_taken);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Bulk_Data_PDU_choice, hf_index, ett_ftam_Bulk_Data_PDU,
+ &branch_taken);
+
if( (branch_taken!=-1) && ftam_Bulk_Data_PDU_vals[branch_taken].strptr ){
if (check_col(pinfo->cinfo, COL_INFO)) {
}
+
static int
dissect_ftam_Destination_File_Directory(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ftam_Pathname_Attribute(implicit_tag, tvb, offset, pinfo, tree, hf_index);
return dissect_ftam_Destination_File_Directory(FALSE, tvb, offset, pinfo, tree, hf_ftam_destination_file_directory);
}
+
static const ber_sequence_t F_CHANGE_PREFIX_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_reset_impl },
{ BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
static int
dissect_ftam_F_CHANGE_PREFIX_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CHANGE_PREFIX_request_sequence, hf_index, ett_ftam_F_CHANGE_PREFIX_request);
+ F_CHANGE_PREFIX_request_sequence, hf_index, ett_ftam_F_CHANGE_PREFIX_request);
return offset;
}
return dissect_ftam_F_CHANGE_PREFIX_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_Change_prefix_request);
}
+
static const ber_sequence_t F_CHANGE_PREFIX_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
static int
dissect_ftam_F_CHANGE_PREFIX_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CHANGE_PREFIX_response_sequence, hf_index, ett_ftam_F_CHANGE_PREFIX_response);
+ F_CHANGE_PREFIX_response_sequence, hf_index, ett_ftam_F_CHANGE_PREFIX_response);
return offset;
}
return dissect_ftam_F_CHANGE_PREFIX_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_Change_prefix_response);
}
+
static const asn_namedbit Equality_Comparision_bits[] = {
{ 0, &hf_ftam_Equality_Comparision_no_value_available_matches, -1, -1, "no-value-available-matches", NULL },
{ 1, &hf_ftam_Equality_Comparision_equals_matches, -1, -1, "equals-matches", NULL },
static int
dissect_ftam_Equality_Comparision(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
- Equality_Comparision_bits, hf_index, ett_ftam_Equality_Comparision,
- NULL);
+ Equality_Comparision_bits, hf_index, ett_ftam_Equality_Comparision,
+ NULL);
return offset;
}
static int
dissect_ftam_T_string_value_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- T_string_value_item_choice, hf_index, ett_ftam_T_string_value_item, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ T_string_value_item_choice, hf_index, ett_ftam_T_string_value_item,
+ NULL);
return offset;
}
return dissect_ftam_T_string_value_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_string_value_item);
}
+
static const ber_sequence_t T_string_value_sequence_of[1] = {
- { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_string_value_item },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_string_value_item },
};
static int
dissect_ftam_T_string_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- T_string_value_sequence_of, hf_index, ett_ftam_T_string_value);
+ T_string_value_sequence_of, hf_index, ett_ftam_T_string_value);
return offset;
}
return dissect_ftam_T_string_value(TRUE, tvb, offset, pinfo, tree, hf_ftam_string_value);
}
+
static const ber_sequence_t String_Pattern_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_equality_comparision_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_string_value_impl },
static int
dissect_ftam_String_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- String_Pattern_sequence, hf_index, ett_ftam_String_Pattern);
+ String_Pattern_sequence, hf_index, ett_ftam_String_Pattern);
return offset;
}
static int
dissect_ftam_T_pathname_value_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- T_pathname_value_item_choice, hf_index, ett_ftam_T_pathname_value_item, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ T_pathname_value_item_choice, hf_index, ett_ftam_T_pathname_value_item,
+ NULL);
return offset;
}
return dissect_ftam_T_pathname_value_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_pathname_value_item);
}
+
static const ber_sequence_t T_pathname_value_sequence_of[1] = {
- { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname_value_item },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_pathname_value_item },
};
static int
dissect_ftam_T_pathname_value(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- T_pathname_value_sequence_of, hf_index, ett_ftam_T_pathname_value);
+ T_pathname_value_sequence_of, hf_index, ett_ftam_T_pathname_value);
return offset;
}
return dissect_ftam_T_pathname_value(TRUE, tvb, offset, pinfo, tree, hf_ftam_pathname_value);
}
+
static const ber_sequence_t Pathname_Pattern_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_equality_comparision_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_pathname_value_impl },
static int
dissect_ftam_Pathname_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Pathname_Pattern_sequence, hf_index, ett_ftam_Pathname_Pattern);
+ Pathname_Pattern_sequence, hf_index, ett_ftam_Pathname_Pattern);
return offset;
}
return dissect_ftam_Pathname_Pattern(TRUE, tvb, offset, pinfo, tree, hf_ftam_primaty_pathname_Pattern);
}
+
static const asn_namedbit Relational_Comparision_bits[] = {
{ 0, &hf_ftam_Relational_Comparision_no_value_available_matches, -1, -1, "no-value-available-matches", NULL },
{ 1, &hf_ftam_Relational_Comparision_equals_matches, -1, -1, "equals-matches", NULL },
static int
dissect_ftam_Relational_Comparision(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
- Relational_Comparision_bits, hf_index, ett_ftam_Relational_Comparision,
- NULL);
+ Relational_Comparision_bits, hf_index, ett_ftam_Relational_Comparision,
+ NULL);
return offset;
}
return dissect_ftam_Relational_Comparision(TRUE, tvb, offset, pinfo, tree, hf_ftam_relational_comparision);
}
+
static const ber_sequence_t Integer_Pattern_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_relational_comparision_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_integer_value_impl },
static int
dissect_ftam_Integer_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Integer_Pattern_sequence, hf_index, ett_ftam_Integer_Pattern);
+ Integer_Pattern_sequence, hf_index, ett_ftam_Integer_Pattern);
return offset;
}
}
+
static int
dissect_ftam_BIT_STRING(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_bitstring(implicit_tag, pinfo, tree, tvb, offset,
- NULL, hf_index, -1,
- NULL);
+ NULL, hf_index, -1,
+ NULL);
return offset;
}
return dissect_ftam_BIT_STRING(TRUE, tvb, offset, pinfo, tree, hf_ftam_significance_bitstring);
}
+
static const ber_sequence_t Bitstring_Pattern_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_equality_comparision_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_match_bitstring_impl },
static int
dissect_ftam_Bitstring_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Bitstring_Pattern_sequence, hf_index, ett_ftam_Bitstring_Pattern);
+ Bitstring_Pattern_sequence, hf_index, ett_ftam_Bitstring_Pattern);
return offset;
}
static int
dissect_ftam_OBJECT_IDENTIFIER(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index,
- NULL);
+ offset = dissect_ber_object_identifier(implicit_tag, pinfo, tree, tvb, offset, hf_index, NULL);
return offset;
}
static int dissect_object_identifier_value_impl(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_ftam_OBJECT_IDENTIFIER(TRUE, tvb, offset, pinfo, tree, hf_ftam_object_identifier_value);
}
-static int dissect_attribute_extension_attribute_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
- return dissect_ftam_OBJECT_IDENTIFIER(FALSE, tvb, offset, pinfo, tree, hf_ftam_attribute_extension_attribute_identifier);
-}
+
static const ber_sequence_t Object_Identifier_Pattern_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_equality_comparision_impl },
static int
dissect_ftam_Object_Identifier_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Object_Identifier_Pattern_sequence, hf_index, ett_ftam_Object_Identifier_Pattern);
+ Object_Identifier_Pattern_sequence, hf_index, ett_ftam_Object_Identifier_Pattern);
return offset;
}
return dissect_ftam_Object_Identifier_Pattern(TRUE, tvb, offset, pinfo, tree, hf_ftam_abstract_Syntax_Pattern);
}
+
static const ber_sequence_t T_constraint_set_abstract_Syntax_Pattern_sequence[] = {
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_constraint_Set_Pattern_impl },
{ BER_CLASS_CON, 3, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_abstract_Syntax_Pattern_impl },
static int
dissect_ftam_T_constraint_set_abstract_Syntax_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- T_constraint_set_abstract_Syntax_Pattern_sequence, hf_index, ett_ftam_T_constraint_set_abstract_Syntax_Pattern);
+ T_constraint_set_abstract_Syntax_Pattern_sequence, hf_index, ett_ftam_T_constraint_set_abstract_Syntax_Pattern);
return offset;
}
static int
dissect_ftam_Contents_Type_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- Contents_Type_Pattern_choice, hf_index, ett_ftam_Contents_Type_Pattern, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ Contents_Type_Pattern_choice, hf_index, ett_ftam_Contents_Type_Pattern,
+ NULL);
return offset;
}
return dissect_ftam_Contents_Type_Pattern(FALSE, tvb, offset, pinfo, tree, hf_ftam_contents_type_Pattern);
}
+
static const ber_sequence_t Date_and_Time_Pattern_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_relational_camparision_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_time_and_date_value_impl },
static int
dissect_ftam_Date_and_Time_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Date_and_Time_Pattern_sequence, hf_index, ett_ftam_Date_and_Time_Pattern);
+ Date_and_Time_Pattern_sequence, hf_index, ett_ftam_Date_and_Time_Pattern);
return offset;
}
}
+
static int
dissect_ftam_User_Identity_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ftam_String_Pattern(implicit_tag, tvb, offset, pinfo, tree, hf_index);
return dissect_ftam_User_Identity_Pattern(TRUE, tvb, offset, pinfo, tree, hf_ftam_identity_of_last_attribute_modifier_Pattern);
}
+
static const ber_sequence_t Boolean_Pattern_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_equality_comparision_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_boolean_value_impl },
static int
dissect_ftam_Boolean_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Boolean_Pattern_sequence, hf_index, ett_ftam_Boolean_Pattern);
+ Boolean_Pattern_sequence, hf_index, ett_ftam_Boolean_Pattern);
return offset;
}
+static int
+dissect_ftam_T_extension_attribute_identifier1(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
+ offset = dissect_ber_object_identifier_str(implicit_tag, pinfo, tree, tvb, offset, hf_index, &object_identifier_id);
+
+ return offset;
+}
+static int dissect_attribute_extension_attribute_identifier(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
+ return dissect_ftam_T_extension_attribute_identifier1(FALSE, tvb, offset, pinfo, tree, hf_ftam_attribute_extension_attribute_identifier);
+}
+
+
+
static int
dissect_ftam_T_extension_attribute_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset=call_ber_oid_callback(object_identifier_id, tvb, offset, pinfo, tree);
return dissect_ftam_T_extension_attribute_Pattern(FALSE, tvb, offset, pinfo, tree, hf_ftam_extension_attribute_Pattern);
}
+
static const ber_sequence_t T_extension_set_attribute_Patterns_item_sequence[] = {
{ BER_CLASS_UNI, BER_UNI_TAG_OID, BER_FLAGS_NOOWNTAG, dissect_attribute_extension_attribute_identifier },
{ BER_CLASS_ANY, 0, BER_FLAGS_NOOWNTAG, dissect_extension_attribute_Pattern },
static int
dissect_ftam_T_extension_set_attribute_Patterns_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- T_extension_set_attribute_Patterns_item_sequence, hf_index, ett_ftam_T_extension_set_attribute_Patterns_item);
+ T_extension_set_attribute_Patterns_item_sequence, hf_index, ett_ftam_T_extension_set_attribute_Patterns_item);
return offset;
}
return dissect_ftam_T_extension_set_attribute_Patterns_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_extension_set_attribute_Patterns_item);
}
+
static const ber_sequence_t T_extension_set_attribute_Patterns_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_extension_set_attribute_Patterns_item },
};
static int
dissect_ftam_T_extension_set_attribute_Patterns(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- T_extension_set_attribute_Patterns_sequence_of, hf_index, ett_ftam_T_extension_set_attribute_Patterns);
+ T_extension_set_attribute_Patterns_sequence_of, hf_index, ett_ftam_T_extension_set_attribute_Patterns);
return offset;
}
return dissect_ftam_T_extension_set_attribute_Patterns(TRUE, tvb, offset, pinfo, tree, hf_ftam_extension_set_attribute_Patterns);
}
+
static const ber_sequence_t Attribute_Extensions_Pattern_item_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_extension_set_identifier_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_extension_set_attribute_Patterns_impl },
static int
dissect_ftam_Attribute_Extensions_Pattern_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Attribute_Extensions_Pattern_item_sequence, hf_index, ett_ftam_Attribute_Extensions_Pattern_item);
+ Attribute_Extensions_Pattern_item_sequence, hf_index, ett_ftam_Attribute_Extensions_Pattern_item);
return offset;
}
return dissect_ftam_Attribute_Extensions_Pattern_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_Attribute_Extensions_Pattern_item);
}
+
static const ber_sequence_t Attribute_Extensions_Pattern_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Attribute_Extensions_Pattern_item },
};
static int
dissect_ftam_Attribute_Extensions_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- Attribute_Extensions_Pattern_sequence_of, hf_index, ett_ftam_Attribute_Extensions_Pattern);
+ Attribute_Extensions_Pattern_sequence_of, hf_index, ett_ftam_Attribute_Extensions_Pattern);
return offset;
}
static int
dissect_ftam_AND_Set_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- AND_Set_item_choice, hf_index, ett_ftam_AND_Set_item, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ AND_Set_item_choice, hf_index, ett_ftam_AND_Set_item,
+ NULL);
return offset;
}
return dissect_ftam_AND_Set_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_AND_Set_item);
}
+
static const ber_sequence_t AND_Set_sequence_of[1] = {
- { BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_AND_Set_item },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_AND_Set_item },
};
static int
dissect_ftam_AND_Set(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- AND_Set_sequence_of, hf_index, ett_ftam_AND_Set);
+ AND_Set_sequence_of, hf_index, ett_ftam_AND_Set);
return offset;
}
return dissect_ftam_AND_Set(FALSE, tvb, offset, pinfo, tree, hf_ftam_Attribute_Value_Assertions_item);
}
+
static const ber_sequence_t Attribute_Value_Assertions_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Attribute_Value_Assertions_item },
};
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ftam_OR_Set(TRUE, tvb, offset, pinfo, tree, hf_index);
return dissect_ftam_T_retrieval_scope(TRUE, tvb, offset, pinfo, tree, hf_ftam_retrieval_scope);
}
+
static const ber_sequence_t Scope_item_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_NOTCHKTAG, dissect_root_directory },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_retrieval_scope_impl },
static int
dissect_ftam_Scope_item(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- Scope_item_sequence, hf_index, ett_ftam_Scope_item);
+ Scope_item_sequence, hf_index, ett_ftam_Scope_item);
return offset;
}
return dissect_ftam_Scope_item(FALSE, tvb, offset, pinfo, tree, hf_ftam_Scope_item);
}
+
static const ber_sequence_t Scope_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_Scope_item },
};
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset,
Scope_sequence_of, hf_index, ett_ftam_Scope);
return dissect_ftam_Scope(FALSE, tvb, offset, pinfo, tree, hf_ftam_scope);
}
+
static const ber_sequence_t F_LIST_request_sequence[] = {
{ BER_CLASS_APP, 26, BER_FLAGS_NOOWNTAG, dissect_attribute_value_asset_tions },
{ BER_CLASS_APP, 28, BER_FLAGS_NOOWNTAG, dissect_scope },
static int
dissect_ftam_F_LIST_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_LIST_request_sequence, hf_index, ett_ftam_F_LIST_request);
+ F_LIST_request_sequence, hf_index, ett_ftam_F_LIST_request);
return offset;
}
return dissect_ftam_F_LIST_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_list_request);
}
+
static const ber_sequence_t Objects_Attributes_List_sequence_of[1] = {
{ BER_CLASS_APP, 18, BER_FLAGS_NOOWNTAG, dissect_Objects_Attributes_List_item },
};
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_sequence_of(TRUE, pinfo, tree, tvb, offset,
Objects_Attributes_List_sequence_of, hf_index, ett_ftam_Objects_Attributes_List);
+
return offset;
}
static int dissect_objects_attributes_list(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_ftam_Objects_Attributes_List(FALSE, tvb, offset, pinfo, tree, hf_ftam_objects_attributes_list);
}
+
static const ber_sequence_t F_LIST_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_objects_attributes_list },
static int
dissect_ftam_F_LIST_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_LIST_response_sequence, hf_index, ett_ftam_F_LIST_response);
+ F_LIST_response_sequence, hf_index, ett_ftam_F_LIST_response);
return offset;
}
return dissect_ftam_F_LIST_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_list_response);
}
+
static const ber_sequence_t F_GROUP_SELECT_request_sequence[] = {
{ BER_CLASS_APP, 26, BER_FLAGS_NOOWNTAG, dissect_attribute_value_assertions },
{ BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_requested_access },
static int
dissect_ftam_F_GROUP_SELECT_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_SELECT_request_sequence, hf_index, ett_ftam_F_GROUP_SELECT_request);
+ F_GROUP_SELECT_request_sequence, hf_index, ett_ftam_F_GROUP_SELECT_request);
return offset;
}
return dissect_ftam_F_GROUP_SELECT_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_select_request);
}
+
static const ber_sequence_t F_GROUP_SELECT_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_GROUP_SELECT_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_SELECT_response_sequence, hf_index, ett_ftam_F_GROUP_SELECT_response);
+ F_GROUP_SELECT_response_sequence, hf_index, ett_ftam_F_GROUP_SELECT_response);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
offset = dissect_ber_integer(TRUE, pinfo, tree, tvb, offset, hf_index,
NULL);
return dissect_ftam_Request_Operation_Result(FALSE, tvb, offset, pinfo, tree, hf_ftam_request_Operation_result);
}
+
static const ber_sequence_t F_GROUP_DELETE_request_sequence[] = {
{ BER_CLASS_APP, 31, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_request_Operation_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_GROUP_DELETE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_DELETE_request_sequence, hf_index, ett_ftam_F_GROUP_DELETE_request);
+ F_GROUP_DELETE_request_sequence, hf_index, ett_ftam_F_GROUP_DELETE_request);
return offset;
}
return dissect_ftam_F_GROUP_DELETE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_delete_request);
}
+
static const ber_sequence_t SEQUENCE_OF_Pathname_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_success_Object_names_item },
};
static int
dissect_ftam_SEQUENCE_OF_Pathname(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- SEQUENCE_OF_Pathname_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Pathname);
+ SEQUENCE_OF_Pathname_sequence_of, hf_index, ett_ftam_SEQUENCE_OF_Pathname);
return offset;
}
gint8 class;
gboolean pc, ind_field;
gint32 tag;
- gint32 len1;
-
- /* XXX asn2eth can not yet handle tagged assignment yes so this
- * XXX is some conformance file magic to work around that bug
- */
- offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
- offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
-
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
+ guint32 len1;
+
+ if(!implicit_tag){
+ /* XXX asn2eth can not yet handle tagged assignment yes so this
+ * XXX is some conformance file magic to work around that bug
+ */
+ offset = get_ber_identifier(tvb, offset, &class, &pc, &tag);
+ offset = get_ber_length(tree, tvb, offset, &len1, &ind_field);
+ }
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
Operation_Result_choice, hf_index, ett_ftam_Operation_Result, NULL);
-
return offset;
}
static int dissect_operation_result(packet_info *pinfo, proto_tree *tree, tvbuff_t *tvb, int offset) {
return dissect_ftam_Operation_Result(FALSE, tvb, offset, pinfo, tree, hf_ftam_operation_result);
}
+
static const ber_sequence_t F_GROUP_DELETE_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 9, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_charging },
static int
dissect_ftam_F_GROUP_DELETE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_DELETE_response_sequence, hf_index, ett_ftam_F_GROUP_DELETE_response);
+ F_GROUP_DELETE_response_sequence, hf_index, ett_ftam_F_GROUP_DELETE_response);
return offset;
}
return dissect_ftam_Error_Action(TRUE, tvb, offset, pinfo, tree, hf_ftam_error_action);
}
+
static const ber_sequence_t F_GROUP_MOVE_request_sequence[] = {
{ BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_override_impl },
static int
dissect_ftam_F_GROUP_MOVE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_MOVE_request_sequence, hf_index, ett_ftam_F_GROUP_MOVE_request);
+ F_GROUP_MOVE_request_sequence, hf_index, ett_ftam_F_GROUP_MOVE_request);
return offset;
}
return dissect_ftam_F_GROUP_MOVE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_move_request);
}
+
static const ber_sequence_t F_GROUP_MOVE_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
static int
dissect_ftam_F_GROUP_MOVE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_MOVE_response_sequence, hf_index, ett_ftam_F_GROUP_MOVE_response);
+ F_GROUP_MOVE_response_sequence, hf_index, ett_ftam_F_GROUP_MOVE_response);
return offset;
}
return dissect_ftam_F_GROUP_MOVE_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_move_response);
}
+
static const ber_sequence_t F_GROUP_COPY_request_sequence[] = {
{ BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_override_impl },
static int
dissect_ftam_F_GROUP_COPY_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_COPY_request_sequence, hf_index, ett_ftam_F_GROUP_COPY_request);
+ F_GROUP_COPY_request_sequence, hf_index, ett_ftam_F_GROUP_COPY_request);
return offset;
}
return dissect_ftam_F_GROUP_COPY_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_copy_request);
}
+
static const ber_sequence_t F_GROUP_COPY_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
static int
dissect_ftam_F_GROUP_COPY_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_COPY_response_sequence, hf_index, ett_ftam_F_GROUP_COPY_response);
+ F_GROUP_COPY_response_sequence, hf_index, ett_ftam_F_GROUP_COPY_response);
return offset;
}
return dissect_ftam_F_GROUP_COPY_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_copy_response);
}
+
static const ber_sequence_t F_GROUP_LIST_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attribute_names_impl },
{ BER_CLASS_CON, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attribute_extension_names_impl },
static int
dissect_ftam_F_GROUP_LIST_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_LIST_request_sequence, hf_index, ett_ftam_F_GROUP_LIST_request);
+ F_GROUP_LIST_request_sequence, hf_index, ett_ftam_F_GROUP_LIST_request);
return offset;
}
return dissect_ftam_F_GROUP_LIST_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_list_request);
}
+
static const ber_sequence_t F_GROUP_LIST_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 25, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_objects_attributes_list },
static int
dissect_ftam_F_GROUP_LIST_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_LIST_response_sequence, hf_index, ett_ftam_F_GROUP_LIST_response);
+ F_GROUP_LIST_response_sequence, hf_index, ett_ftam_F_GROUP_LIST_response);
return offset;
}
return dissect_ftam_F_GROUP_LIST_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_list_response);
}
+
static const ber_sequence_t F_GROUP_CHANGE_ATTRIB_request_sequence[] = {
{ BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_attributes },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_error_action_impl },
static int
dissect_ftam_F_GROUP_CHANGE_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_CHANGE_ATTRIB_request_sequence, hf_index, ett_ftam_F_GROUP_CHANGE_ATTRIB_request);
+ F_GROUP_CHANGE_ATTRIB_request_sequence, hf_index, ett_ftam_F_GROUP_CHANGE_ATTRIB_request);
return offset;
}
return dissect_ftam_F_GROUP_CHANGE_ATTRIB_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_Change_attrib_request);
}
+
static const ber_sequence_t F_GROUP_CHANGE_ATTRIB_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 30, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_operation_result },
static int
dissect_ftam_F_GROUP_CHANGE_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_GROUP_CHANGE_ATTRIB_response_sequence, hf_index, ett_ftam_F_GROUP_CHANGE_ATTRIB_response);
+ F_GROUP_CHANGE_ATTRIB_response_sequence, hf_index, ett_ftam_F_GROUP_CHANGE_ATTRIB_response);
return offset;
}
return dissect_ftam_F_GROUP_CHANGE_ATTRIB_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_group_Change_attrib_response);
}
+
static const ber_sequence_t F_SELECT_ANOTHER_request_sequence[] = {
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_SELECT_ANOTHER_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_SELECT_ANOTHER_request_sequence, hf_index, ett_ftam_F_SELECT_ANOTHER_request);
+ F_SELECT_ANOTHER_request_sequence, hf_index, ett_ftam_F_SELECT_ANOTHER_request);
return offset;
}
return dissect_ftam_F_SELECT_ANOTHER_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_select_another_request);
}
+
static const ber_sequence_t F_SELECT_ANOTHER_response_sequence[] = {
{ BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_state_result },
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
static int
dissect_ftam_F_SELECT_ANOTHER_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_SELECT_ANOTHER_response_sequence, hf_index, ett_ftam_F_SELECT_ANOTHER_response);
+ F_SELECT_ANOTHER_response_sequence, hf_index, ett_ftam_F_SELECT_ANOTHER_response);
return offset;
}
return dissect_ftam_F_SELECT_ANOTHER_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_select_another_response);
}
+
static const ber_sequence_t F_CREATE_DIRECTORY_request_sequence[] = {
{ BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_initial_attributes },
{ BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_create_password },
static int
dissect_ftam_F_CREATE_DIRECTORY_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CREATE_DIRECTORY_request_sequence, hf_index, ett_ftam_F_CREATE_DIRECTORY_request);
+ F_CREATE_DIRECTORY_request_sequence, hf_index, ett_ftam_F_CREATE_DIRECTORY_request);
return offset;
}
return dissect_ftam_F_CREATE_DIRECTORY_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_create_directory_request);
}
+
static const ber_sequence_t F_CREATE_DIRECTORY_response_sequence[] = {
{ BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_state_result },
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
static int
dissect_ftam_F_CREATE_DIRECTORY_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CREATE_DIRECTORY_response_sequence, hf_index, ett_ftam_F_CREATE_DIRECTORY_response);
+ F_CREATE_DIRECTORY_response_sequence, hf_index, ett_ftam_F_CREATE_DIRECTORY_response);
return offset;
}
return dissect_ftam_F_CREATE_DIRECTORY_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_create_directory_response);
}
+
static const ber_sequence_t F_LINK_request_sequence[] = {
{ BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_initial_attributes },
- { -1/*choice*/ , -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_target_object },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_target_object },
{ BER_CLASS_APP, 17, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_create_password },
{ BER_CLASS_APP, 3, BER_FLAGS_NOOWNTAG, dissect_requested_access },
{ BER_CLASS_APP, 2, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_access_passwords },
static int
dissect_ftam_F_LINK_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_LINK_request_sequence, hf_index, ett_ftam_F_LINK_request);
+ F_LINK_request_sequence, hf_index, ett_ftam_F_LINK_request);
return offset;
}
return dissect_ftam_F_LINK_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_link_request);
}
+
static const ber_sequence_t F_LINK_response_sequence[] = {
{ BER_CLASS_APP, 21, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_state_result },
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 12, BER_FLAGS_NOOWNTAG, dissect_initial_attributes },
- { -1/*choice*/ , -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_target_Object },
+ { BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_target_Object },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
{ BER_CLASS_APP, 13, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_diagnostic },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_LINK_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_LINK_response_sequence, hf_index, ett_ftam_F_LINK_response);
+ F_LINK_response_sequence, hf_index, ett_ftam_F_LINK_response);
return offset;
}
return dissect_ftam_F_LINK_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_link_response);
}
+
static const ber_sequence_t F_UNLINK_request_sequence[] = {
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_UNLINK_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_UNLINK_request_sequence, hf_index, ett_ftam_F_UNLINK_request);
+ F_UNLINK_request_sequence, hf_index, ett_ftam_F_UNLINK_request);
return offset;
}
return dissect_ftam_F_UNLINK_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_unlink_request);
}
+
static const ber_sequence_t F_UNLINK_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 20, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_shared_ASE_information },
static int
dissect_ftam_F_UNLINK_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_UNLINK_response_sequence, hf_index, ett_ftam_F_UNLINK_response);
+ F_UNLINK_response_sequence, hf_index, ett_ftam_F_UNLINK_response);
return offset;
}
return dissect_ftam_F_UNLINK_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_unlink_response);
}
+
static const ber_sequence_t F_READ_LINK_ATTRIB_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_attribute_names_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_attribute_extension_names_impl },
static int
dissect_ftam_F_READ_LINK_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_READ_LINK_ATTRIB_request_sequence, hf_index, ett_ftam_F_READ_LINK_ATTRIB_request);
+ F_READ_LINK_ATTRIB_request_sequence, hf_index, ett_ftam_F_READ_LINK_ATTRIB_request);
return offset;
}
return dissect_ftam_F_READ_LINK_ATTRIB_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_read_link_attrib_request);
}
+
static const ber_sequence_t F_READ_LINK_ATTRIB_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 18, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_read_link_attributes },
static int
dissect_ftam_F_READ_LINK_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_READ_LINK_ATTRIB_response_sequence, hf_index, ett_ftam_F_READ_LINK_ATTRIB_response);
+ F_READ_LINK_ATTRIB_response_sequence, hf_index, ett_ftam_F_READ_LINK_ATTRIB_response);
return offset;
}
return dissect_ftam_F_READ_LINK_ATTRIB_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_read_link_attrib_response);
}
+
static const ber_sequence_t F_CHANGE_LINK_ATTRIB_request_sequence[] = {
{ BER_CLASS_APP, 8, BER_FLAGS_NOOWNTAG, dissect_attributes },
{ 0, 0, 0, NULL }
static int
dissect_ftam_F_CHANGE_LINK_ATTRIB_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CHANGE_LINK_ATTRIB_request_sequence, hf_index, ett_ftam_F_CHANGE_LINK_ATTRIB_request);
+ F_CHANGE_LINK_ATTRIB_request_sequence, hf_index, ett_ftam_F_CHANGE_LINK_ATTRIB_request);
return offset;
}
return dissect_ftam_F_CHANGE_LINK_ATTRIB_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_Change_link_attrib_request);
}
+
static const ber_sequence_t F_CHANGE_LINK_ATTRIB_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 8, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_attributes },
static int
dissect_ftam_F_CHANGE_LINK_ATTRIB_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CHANGE_LINK_ATTRIB_response_sequence, hf_index, ett_ftam_F_CHANGE_LINK_ATTRIB_response);
+ F_CHANGE_LINK_ATTRIB_response_sequence, hf_index, ett_ftam_F_CHANGE_LINK_ATTRIB_response);
return offset;
}
return dissect_ftam_F_CHANGE_LINK_ATTRIB_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_Change_Iink_attrib_response);
}
+
static const ber_sequence_t F_MOVE_request_sequence[] = {
{ BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_override_impl },
static int
dissect_ftam_F_MOVE_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_MOVE_request_sequence, hf_index, ett_ftam_F_MOVE_request);
+ F_MOVE_request_sequence, hf_index, ett_ftam_F_MOVE_request);
return offset;
}
return dissect_ftam_F_MOVE_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_move_request);
}
+
static const ber_sequence_t F_MOVE_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
static int
dissect_ftam_F_MOVE_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_MOVE_response_sequence, hf_index, ett_ftam_F_MOVE_response);
+ F_MOVE_response_sequence, hf_index, ett_ftam_F_MOVE_response);
return offset;
}
return dissect_ftam_F_MOVE_response(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_move_response);
}
+
static const ber_sequence_t F_COPY_request_sequence[] = {
{ BER_CLASS_APP, 24, BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
{ BER_CLASS_CON, 0, BER_FLAGS_OPTIONAL|BER_FLAGS_IMPLTAG, dissect_override_impl },
static int
dissect_ftam_F_COPY_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_COPY_request_sequence, hf_index, ett_ftam_F_COPY_request);
+ F_COPY_request_sequence, hf_index, ett_ftam_F_COPY_request);
return offset;
}
return dissect_ftam_F_COPY_request(TRUE, tvb, offset, pinfo, tree, hf_ftam_f_copy_request);
}
+
static const ber_sequence_t F_COPY_response_sequence[] = {
{ BER_CLASS_APP, 5, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG, dissect_action_result },
{ BER_CLASS_APP, 24, BER_FLAGS_OPTIONAL|BER_FLAGS_NOOWNTAG|BER_FLAGS_NOTCHKTAG, dissect_destination_file_directory },
static int
dissect_ftam_F_COPY_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_COPY_response_sequence, hf_index, ett_ftam_F_COPY_response);
+ F_COPY_response_sequence, hf_index, ett_ftam_F_COPY_response);
return offset;
}
dissect_ftam_FSM_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
gint branch_taken;
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- FSM_PDU_choice, hf_index, ett_ftam_FSM_PDU, &branch_taken);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ FSM_PDU_choice, hf_index, ett_ftam_FSM_PDU,
+ &branch_taken);
+
if( (branch_taken!=-1) && ftam_FSM_PDU_vals[branch_taken].strptr ){
if (check_col(pinfo->cinfo, COL_INFO)) {
static const value_string ftam_PDU_vals[] = {
- { -1/*choice*/, "fTAM-Regime-PDU" },
- { -1/*choice*/, "file-PDU" },
- { -1/*choice*/, "bulk-Data-PDU" },
- { -1/*choice*/, "fSM-PDU" },
+ { 0, "fTAM-Regime-PDU" },
+ { 1, "file-PDU" },
+ { 2, "bulk-Data-PDU" },
+ { 3, "fSM-PDU" },
+ { 4, "nBS9" },
{ 0, NULL }
};
static const ber_choice_t PDU_choice[] = {
- { -1/*choice*/, BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_fTAM_Regime_PDU },
- { -1/*choice*/, BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_file_PDU },
- { -1/*choice*/, BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_bulk_Data_PDU },
- { -1/*choice*/, BER_CLASS_CON, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_fSM_PDU },
+ { 0, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_fTAM_Regime_PDU },
+ { 1, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_file_PDU },
+ { 2, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_bulk_Data_PDU },
+ { 3, BER_CLASS_ANY/*choice*/, -1/*choice*/, BER_FLAGS_NOOWNTAG, dissect_fSM_PDU },
+ { 4, BER_CLASS_PRI, 2, BER_FLAGS_IMPLTAG, dissect_nBS9_impl },
{ 0, 0, 0, 0, NULL }
};
static int
dissect_ftam_PDU(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
- offset = dissect_ber_CHOICE(pinfo, tree, tvb, offset,
- PDU_choice, hf_index, ett_ftam_PDU, NULL);
+ offset = dissect_ber_choice(pinfo, tree, tvb, offset,
+ PDU_choice, hf_index, ett_ftam_PDU,
+ NULL);
return offset;
}
+
static const ber_sequence_t F_CHECK_request_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_checkpoint_identifier_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_transfer_number_impl },
static int
dissect_ftam_F_CHECK_request(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CHECK_request_sequence, hf_index, ett_ftam_F_CHECK_request);
+ F_CHECK_request_sequence, hf_index, ett_ftam_F_CHECK_request);
return offset;
}
+
static const ber_sequence_t F_CHECK_response_sequence[] = {
{ BER_CLASS_CON, 0, BER_FLAGS_IMPLTAG, dissect_checkpoint_identifier_impl },
{ BER_CLASS_CON, 1, BER_FLAGS_IMPLTAG, dissect_transfer_number_impl },
static int
dissect_ftam_F_CHECK_response(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence(implicit_tag, pinfo, tree, tvb, offset,
- F_CHECK_response_sequence, hf_index, ett_ftam_F_CHECK_response);
+ F_CHECK_response_sequence, hf_index, ett_ftam_F_CHECK_response);
return offset;
}
+
static const ber_sequence_t OR_Set_sequence_of[1] = {
{ BER_CLASS_UNI, BER_UNI_TAG_SEQUENCE, BER_FLAGS_NOOWNTAG, dissect_OR_Set_item },
};
static int
dissect_ftam_OR_Set(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ber_sequence_of(implicit_tag, pinfo, tree, tvb, offset,
- OR_Set_sequence_of, hf_index, ett_ftam_OR_Set);
+ OR_Set_sequence_of, hf_index, ett_ftam_OR_Set);
return offset;
}
+
static int
dissect_ftam_Other_Pattern(gboolean implicit_tag _U_, tvbuff_t *tvb, int offset, packet_info *pinfo _U_, proto_tree *tree, int hf_index _U_) {
offset = dissect_ftam_Equality_Comparision(implicit_tag, tvb, offset, pinfo, tree, hf_index);
{ "fSM-PDU", "ftam.fSM_PDU",
FT_UINT32, BASE_DEC, VALS(ftam_FSM_PDU_vals), 0,
"PDU/fSM-PDU", HFILL }},
+ { &hf_ftam_nBS9,
+ { "nBS9", "ftam.nBS9",
+ FT_NONE, BASE_NONE, NULL, 0,
+ "PDU/nBS9", HFILL }},
{ &hf_ftam_f_initialize_request,
{ "f-initialize-request", "ftam.f_initialize_request",
FT_NONE, BASE_NONE, NULL, 0,
"", HFILL }},
{ &hf_ftam_contents_type_list,
{ "contents-type-list", "ftam.contents_type_list",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_initiator_identity,
{ "initiator-identity", "ftam.initiator_identity",
"", HFILL }},
{ &hf_ftam_diagnostic,
{ "diagnostic", "ftam.diagnostic",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_Contents_Type_List_item,
{ "Item", "ftam.Contents_Type_List_item",
"", HFILL }},
{ &hf_ftam_charging,
{ "charging", "ftam.charging",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_f_select_request,
{ "f-select-request", "ftam.f_select_request",
"", HFILL }},
{ &hf_ftam_path_access_passwords,
{ "path-access-passwords", "ftam.path_access_passwords",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_concurrency_control,
{ "concurrency-control", "ftam.concurrency_control",
"", HFILL }},
{ &hf_ftam_attribute_extension_names,
{ "attribute-extension-names", "ftam.attribute_extension_names",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_read_attributes,
{ "attributes", "ftam.attributes",
"F-OPEN-request/recovery-mode", HFILL }},
{ &hf_ftam_remove_contexts,
{ "remove-contexts", "ftam.remove_contexts",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_remove_contexts_item,
{ "Item", "ftam.remove_contexts_item",
"", HFILL }},
{ &hf_ftam_define_contexts,
{ "define-contexts", "ftam.define_contexts",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_define_contexts_item,
{ "Item", "ftam.define_contexts_item",
"", HFILL }},
{ &hf_ftam_pass_passwords,
{ "pass-passwords", "ftam.pass_passwords",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_link_password,
{ "link-password", "ftam.link_password",
"", HFILL }},
{ &hf_ftam_attribute_extensions,
{ "attribute-extensions", "ftam.attribute_extensions",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_Charging_item,
{ "Item", "ftam.Charging_item",
"FADU-Identity/single-name", HFILL }},
{ &hf_ftam_name_list,
{ "name-list", "ftam.name_list",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"FADU-Identity/name-list", HFILL }},
{ &hf_ftam_name_list_item,
{ "Item", "ftam.name_list_item",
"Read-Attributes/linked-Object", HFILL }},
{ &hf_ftam_child_objects,
{ "child-objects", "ftam.child_objects",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Read-Attributes/child-objects", HFILL }},
{ &hf_ftam_primaty_pathname,
{ "primaty-pathname", "ftam.primaty_pathname",
"", HFILL }},
{ &hf_ftam_actual_values3,
{ "actual-values", "ftam.actual_values",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Access-Control-Attribute/actual-values", HFILL }},
{ &hf_ftam_actual_values_item,
{ "Item", "ftam.actual_values_item",
"Access-Control-Change-Attribute/actual-values", HFILL }},
{ &hf_ftam_insert_values,
{ "insert-values", "ftam.insert_values",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Access-Control-Change-Attribute/actual-values/insert-values", HFILL }},
{ &hf_ftam_insert_values_item,
{ "Item", "ftam.insert_values_item",
"Access-Control-Change-Attribute/actual-values/insert-values/_item", HFILL }},
{ &hf_ftam_delete_values,
{ "delete-values", "ftam.delete_values",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Access-Control-Change-Attribute/actual-values/delete-values", HFILL }},
{ &hf_ftam_delete_values_item,
{ "Item", "ftam.delete_values_item",
"Object-Availability-Attribute/actual-values", HFILL }},
{ &hf_ftam_incomplete_pathname,
{ "incomplete-pathname", "ftam.incomplete_pathname",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Pathname-Attribute/incomplete-pathname", HFILL }},
{ &hf_ftam_complete_pathname,
{ "complete-pathname", "ftam.complete_pathname",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Pathname-Attribute/complete-pathname", HFILL }},
{ &hf_ftam_actual_values7,
{ "actual-values", "ftam.actual_values",
"", HFILL }},
{ &hf_ftam_attribute_value_asset_tions,
{ "attribute-value-asset-tions", "ftam.attribute_value_asset_tions",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"F-LIST-request/attribute-value-asset-tions", HFILL }},
{ &hf_ftam_scope,
{ "scope", "ftam.scope",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_objects_attributes_list,
{ "objects-attributes-list", "ftam.objects_attributes_list",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"", HFILL }},
{ &hf_ftam_attribute_value_assertions,
{ "attribute-value-assertions", "ftam.attribute_value_assertions",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"F-GROUP-SELECT-request/attribute-value-assertions", HFILL }},
{ &hf_ftam_maximum_set_size,
{ "maximum-set-size", "ftam.maximum_set_size",
"", HFILL }},
{ &hf_ftam_extension_attribute_names,
{ "extension-attribute-names", "ftam.extension_attribute_names",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Attribute-Extension-Set-Name/extension-attribute-names", HFILL }},
{ &hf_ftam_extension_attribute_names_item,
{ "Item", "ftam.extension_attribute_names_item",
"Attribute-Extensions/_item", HFILL }},
{ &hf_ftam_extension_set_attributes,
{ "extension-set-attributes", "ftam.extension_set_attributes",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Attribute-Extension-Set/extension-set-attributes", HFILL }},
{ &hf_ftam_extension_set_attributes_item,
{ "Item", "ftam.extension_set_attributes_item",
"Scope/_item/retrieval-scope", HFILL }},
{ &hf_ftam_OR_Set_item,
{ "Item", "ftam.OR_Set_item",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"OR-Set/_item", HFILL }},
{ &hf_ftam_AND_Set_item,
{ "Item", "ftam.AND_Set_item",
"AND-Set/_item/legal-quailfication-Pattern", HFILL }},
{ &hf_ftam_attribute_extensions_pattern,
{ "attribute-extensions-pattern", "ftam.attribute_extensions_pattern",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"AND-Set/_item/attribute-extensions-pattern", HFILL }},
{ &hf_ftam_equality_comparision,
{ "equality-comparision", "ftam.equality_comparision",
"", HFILL }},
{ &hf_ftam_pathname_value,
{ "pathname-value", "ftam.pathname_value",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Pathname-Pattern/pathname-value", HFILL }},
{ &hf_ftam_pathname_value_item,
{ "Item", "ftam.pathname_value_item",
"", HFILL }},
{ &hf_ftam_string_value,
{ "string-value", "ftam.string_value",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"String-Pattern/string-value", HFILL }},
{ &hf_ftam_string_value_item,
{ "Item", "ftam.string_value_item",
"Attribute-Extensions-Pattern/_item", HFILL }},
{ &hf_ftam_extension_set_attribute_Patterns,
{ "extension-set-attribute-Patterns", "ftam.extension_set_attribute_Patterns",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Attribute-Extensions-Pattern/_item/extension-set-attribute-Patterns", HFILL }},
{ &hf_ftam_extension_set_attribute_Patterns_item,
{ "Item", "ftam.extension_set_attribute_Patterns_item",
"Operation-Result/success-Object-count", HFILL }},
{ &hf_ftam_success_Object_names,
{ "success-Object-names", "ftam.success_Object_names",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Operation-Result/success-Object-names", HFILL }},
{ &hf_ftam_success_Object_names_item,
{ "Item", "ftam.success_Object_names_item",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Operation-Result/success-Object-names/_item", HFILL }},
{ &hf_ftam_Pathname_item,
{ "Item", "ftam.Pathname_item",
"Path-Access-Passwords/_item", HFILL }},
{ &hf_ftam_ap,
{ "ap", "ftam.ap",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(acse_AP_title_vals), 0,
"AE-title/ap", HFILL }},
{ &hf_ftam_ae,
{ "ae", "ftam.ae",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, VALS(acse_ASO_qualifier_vals), 0,
"AE-title/ae", HFILL }},
{ &hf_ftam_Attribute_Value_Assertions_item,
{ "Item", "ftam.Attribute_Value_Assertions_item",
- FT_NONE, BASE_NONE, NULL, 0,
+ FT_UINT32, BASE_DEC, NULL, 0,
"Attribute-Value-Assertions/_item", HFILL }},
{ &hf_ftam_Protocol_Version_version_1,
{ "version-1", "ftam.version-1",
{ "read-path-access-control", "ftam.read-path-access-control",
FT_BOOLEAN, 8, NULL, 0x04,
"", HFILL }},
- { &hf_ftam_Attribute_Names_read_l8gal_qualifiCatiOnS,
- { "read-l8gal-qualifiCatiOnS", "ftam.read-l8gal-qualifiCatiOnS",
+ { &hf_ftam_Attribute_Names_read_legal_qualifiCatiOnS,
+ { "read-legal-qualifiCatiOnS", "ftam.read-legal-qualifiCatiOnS",
FT_BOOLEAN, 8, NULL, 0x80,
"", HFILL }},
{ &hf_ftam_Attribute_Names_read_private_use,
/*--- proto_reg_handoff_ftam --- */
void proto_reg_handoff_ftam(void) {
- register_ber_oid_dissector("1.0.8571.1.1", dissect_ftam, proto_ftam,
- "ftam");
-
+ register_ber_oid_dissector("1.0.8571.1.1", dissect_ftam, proto_ftam,"iso-ftam(1)");
+ register_ber_oid_dissector("1.0.8571.2.1", dissect_ftam, proto_ftam,"ftam-pci(1)");
+ register_ber_oid_dissector("1.3.14.5.2.2", dissect_ftam, proto_ftam,"NIST file directory entry abstract syntax");
+
+ /* Unstructured text file document type FTAM-1 */
+ register_ber_oid_name("1.0.8571.5.1","ISO FTAM unstructured text");
+ register_ber_oid_name("1.0.8571.2.3","FTAM unstructured text abstract syntax");
+ register_ber_oid_name("1.0.8571.3.1","FTAM hierarchical file model");
+ register_ber_oid_name("1.0.8571.4.1","FTAM unstructured constraint set");
+
+ /* Unstructured text file document type FTAM-3 */
+ register_ber_oid_name("1.0.8571.5.3","ISO FTAM unstructured binary");
+ register_ber_oid_name("1.0.8571.2.4","FTAM unstructured binary abstract syntax");
+
+ /* Filedirectory file document type NBS-9 */
+ register_ber_oid_name("1.3.14.5.5.9","NBS-9 FTAM file directory file");
+
+ /* Filedirectory file document type NBS-9 (WITH OLD NIST OIDs)*/
+ register_ber_oid_name("1.3.9999.1.5.9","NBS-9-OLD FTAM file directory file");
+ register_ber_oid_name("1.3.9999.1.2.2","NIST file directory entry abstract syntax");
}