/*** <<< INCLUDES [LogLine] >>> ***/ #include #include #include #include #include /*** <<< DEPS [LogLine] >>> ***/ extern asn_TYPE_descriptor_t asn_DEF_LogLine; /*** <<< TYPE-DECLS [LogLine] >>> ***/ typedef struct LogLine { IA5String_t line_digest; struct varsets { A_SEQUENCE_OF(VariablePartSet_t) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } varsets; /* * This type is extensible, * possible extensions are below. */ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } LogLine_t; /*** <<< CODE [LogLine] >>> ***/ static int memb_varsets_1_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_consume_bytes_f *app_errlog, void *app_key) { size_t size; if(!sptr) { _ASN_ERRLOG(app_errlog, app_key, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } { /* Determine the number of elements */ const A_SEQUENCE_OF(void) *list; (const void *)list = sptr; size = list->count; } if((size >= 1)) { /* Constraint check succeeded */ return 0; } else { _ASN_ERRLOG(app_errlog, app_key, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } /*** <<< STAT-DEFS [LogLine] >>> ***/ static asn_TYPE_member_t asn_MBR_varsets[] = { { ATF_NOFLAGS, 0, 0, .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_VariablePartSet, .memb_constraints = 0, /* Defer to actual type */ .name = "" }, }; static ber_tlv_tag_t asn_DEF_varsets_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_SET_OF_specifics_t asn_DEF_varsets_specs = { sizeof(struct varsets), offsetof(struct varsets, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_varsets = { "varsets", SEQUENCE_OF_free, SEQUENCE_OF_print, SEQUENCE_OF_constraint, SEQUENCE_OF_decode_ber, SEQUENCE_OF_encode_der, 0, /* Not implemented yet */ SEQUENCE_OF_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_varsets_tags, sizeof(asn_DEF_varsets_tags) /sizeof(asn_DEF_varsets_tags[0]), /* 1 */ asn_DEF_varsets_tags, /* Same as above */ sizeof(asn_DEF_varsets_tags) /sizeof(asn_DEF_varsets_tags[0]), /* 1 */ asn_MBR_varsets, 1, /* Single element */ &asn_DEF_varsets_specs /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_LogLine[] = { { ATF_NOFLAGS, 0, offsetof(struct LogLine, line_digest), .tag = (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_IA5String, .memb_constraints = 0, /* Defer to actual type */ .name = "line-digest" }, { ATF_NOFLAGS, 0, offsetof(struct LogLine, varsets), .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_varsets, .memb_constraints = memb_varsets_1_constraint, .name = "varsets" }, }; static ber_tlv_tag_t asn_DEF_LogLine_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_DEF_LogLine_tag2el[] = { { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* varsets at 25 */ { (ASN_TAG_CLASS_UNIVERSAL | (22 << 2)), 0, 0, 0 }, /* line-digest at 23 */ }; static asn_SEQUENCE_specifics_t asn_DEF_LogLine_specs = { sizeof(struct LogLine), offsetof(struct LogLine, _asn_ctx), asn_DEF_LogLine_tag2el, 2, /* Count of tags in the map */ 1, /* Start extensions */ 3 /* Stop extensions */ }; asn_TYPE_descriptor_t asn_DEF_LogLine = { "LogLine", SEQUENCE_free, SEQUENCE_print, SEQUENCE_constraint, SEQUENCE_decode_ber, SEQUENCE_encode_der, 0, /* Not implemented yet */ SEQUENCE_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_LogLine_tags, sizeof(asn_DEF_LogLine_tags) /sizeof(asn_DEF_LogLine_tags[0]), /* 1 */ asn_DEF_LogLine_tags, /* Same as above */ sizeof(asn_DEF_LogLine_tags) /sizeof(asn_DEF_LogLine_tags[0]), /* 1 */ asn_MBR_LogLine, 2, /* Elements count */ &asn_DEF_LogLine_specs /* Additional specs */ }; /*** <<< INCLUDES [VariablePartSet] >>> ***/ #include #include #include #include #include /*** <<< DEPS [VariablePartSet] >>> ***/ extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet; /*** <<< TYPE-DECLS [VariablePartSet] >>> ***/ typedef struct VariablePartSet { struct vparts { A_SEQUENCE_OF(VariablePart_t) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } vparts; ActionItem_t resolution; /* * This type is extensible, * possible extensions are below. */ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } VariablePartSet_t; /*** <<< CODE [VariablePartSet] >>> ***/ static int memb_vparts_2_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_consume_bytes_f *app_errlog, void *app_key) { if(!sptr) { _ASN_ERRLOG(app_errlog, app_key, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } if(1 /* No applicable constraints whatsoever */) { /* Nothing is here. See below */ } return td->check_constraints(td, sptr, app_errlog, app_key); } /*** <<< STAT-DEFS [VariablePartSet] >>> ***/ static asn_TYPE_member_t asn_MBR_vparts[] = { { ATF_NOFLAGS, 0, 0, .tag = -1 /* Ambiguous tag (CHOICE?) */, .tag_mode = 0, .type = (void *)&asn_DEF_VariablePart, .memb_constraints = 0, /* Defer to actual type */ .name = "" }, }; static ber_tlv_tag_t asn_DEF_vparts_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_SET_OF_specifics_t asn_DEF_vparts_specs = { sizeof(struct vparts), offsetof(struct vparts, _asn_ctx), 1, /* XER encoding is XMLValueList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_vparts = { "vparts", SEQUENCE_OF_free, SEQUENCE_OF_print, SEQUENCE_OF_constraint, SEQUENCE_OF_decode_ber, SEQUENCE_OF_encode_der, 0, /* Not implemented yet */ SEQUENCE_OF_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_vparts_tags, sizeof(asn_DEF_vparts_tags) /sizeof(asn_DEF_vparts_tags[0]), /* 1 */ asn_DEF_vparts_tags, /* Same as above */ sizeof(asn_DEF_vparts_tags) /sizeof(asn_DEF_vparts_tags[0]), /* 1 */ asn_MBR_vparts, 1, /* Single element */ &asn_DEF_vparts_specs /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_VariablePartSet[] = { { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts), .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_vparts, .memb_constraints = memb_vparts_2_constraint, .name = "vparts" }, { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, resolution), .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_ActionItem, .memb_constraints = 0, /* Defer to actual type */ .name = "resolution" }, }; static ber_tlv_tag_t asn_DEF_VariablePartSet_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_DEF_VariablePartSet_tag2el[] = { { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 0, 0, 1 }, /* vparts at 33 */ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, -1, 0 }, /* resolution at 35 */ }; static asn_SEQUENCE_specifics_t asn_DEF_VariablePartSet_specs = { sizeof(struct VariablePartSet), offsetof(struct VariablePartSet, _asn_ctx), asn_DEF_VariablePartSet_tag2el, 2, /* Count of tags in the map */ 1, /* Start extensions */ 3 /* Stop extensions */ }; asn_TYPE_descriptor_t asn_DEF_VariablePartSet = { "VariablePartSet", SEQUENCE_free, SEQUENCE_print, SEQUENCE_constraint, SEQUENCE_decode_ber, SEQUENCE_encode_der, 0, /* Not implemented yet */ SEQUENCE_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_VariablePartSet_tags, sizeof(asn_DEF_VariablePartSet_tags) /sizeof(asn_DEF_VariablePartSet_tags[0]), /* 1 */ asn_DEF_VariablePartSet_tags, /* Same as above */ sizeof(asn_DEF_VariablePartSet_tags) /sizeof(asn_DEF_VariablePartSet_tags[0]), /* 1 */ asn_MBR_VariablePartSet, 2, /* Elements count */ &asn_DEF_VariablePartSet_specs /* Additional specs */ }; /*** <<< INCLUDES [VariablePart] >>> ***/ #include #include #include #include #include /*** <<< DEPS [VariablePart] >>> ***/ typedef enum VariablePart_PR { VariablePart_PR_NOTHING, /* No components present */ VariablePart_PR_vset, VariablePart_PR_vrange, /* Extensions may appear below */ } VariablePart_PR; extern asn_TYPE_descriptor_t asn_DEF_VariablePart; /*** <<< TYPE-DECLS [VariablePart] >>> ***/ typedef struct VariablePart { VariablePart_PR present; union { struct vset { A_SET_OF(VisibleString_t) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } vset; struct vrange { VisibleString_t from; VisibleString_t to; /* * This type is extensible, * possible extensions are below. */ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } vrange; /* * This type is extensible, * possible extensions are below. */ } choice; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } VariablePart_t; /*** <<< CODE [VariablePart] >>> ***/ static int memb_vset_3_constraint(asn_TYPE_descriptor_t *td, const void *sptr, asn_app_consume_bytes_f *app_errlog, void *app_key) { size_t size; if(!sptr) { _ASN_ERRLOG(app_errlog, app_key, "%s: value not given (%s:%d)", td->name, __FILE__, __LINE__); return -1; } { /* Determine the number of elements */ const A_SET_OF(void) *list; (const void *)list = sptr; size = list->count; } if((size >= 1)) { /* Constraint check succeeded */ return 0; } else { _ASN_ERRLOG(app_errlog, app_key, "%s: constraint failed (%s:%d)", td->name, __FILE__, __LINE__); return -1; } } /*** <<< STAT-DEFS [VariablePart] >>> ***/ static asn_TYPE_member_t asn_MBR_vset[] = { { ATF_NOFLAGS, 0, 0, .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_VisibleString, .memb_constraints = 0, /* Defer to actual type */ .name = "" }, }; static ber_tlv_tag_t asn_DEF_vset_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) }; static asn_SET_OF_specifics_t asn_DEF_vset_specs = { sizeof(struct vset), offsetof(struct vset, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_vset = { "vset", SET_OF_free, SET_OF_print, SET_OF_constraint, SET_OF_decode_ber, SET_OF_encode_der, 0, /* Not implemented yet */ SET_OF_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_vset_tags, sizeof(asn_DEF_vset_tags) /sizeof(asn_DEF_vset_tags[0]), /* 1 */ asn_DEF_vset_tags, /* Same as above */ sizeof(asn_DEF_vset_tags) /sizeof(asn_DEF_vset_tags[0]), /* 1 */ asn_MBR_vset, 1, /* Single element */ &asn_DEF_vset_specs /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_vrange[] = { { ATF_NOFLAGS, 0, offsetof(struct vrange, from), .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_VisibleString, .memb_constraints = 0, /* Defer to actual type */ .name = "from" }, { ATF_NOFLAGS, 0, offsetof(struct vrange, to), .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_VisibleString, .memb_constraints = 0, /* Defer to actual type */ .name = "to" }, }; static ber_tlv_tag_t asn_DEF_vrange_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_DEF_vrange_tag2el[] = { { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 0, 0, 1 }, /* from at 45 */ { (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), 1, -1, 0 }, /* to at 46 */ }; static asn_SEQUENCE_specifics_t asn_DEF_vrange_specs = { sizeof(struct vrange), offsetof(struct vrange, _asn_ctx), asn_DEF_vrange_tag2el, 2, /* Count of tags in the map */ 1, /* Start extensions */ 3 /* Stop extensions */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_vrange = { "vrange", SEQUENCE_free, SEQUENCE_print, SEQUENCE_constraint, SEQUENCE_decode_ber, SEQUENCE_encode_der, 0, /* Not implemented yet */ SEQUENCE_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_vrange_tags, sizeof(asn_DEF_vrange_tags) /sizeof(asn_DEF_vrange_tags[0]), /* 1 */ asn_DEF_vrange_tags, /* Same as above */ sizeof(asn_DEF_vrange_tags) /sizeof(asn_DEF_vrange_tags[0]), /* 1 */ asn_MBR_vrange, 2, /* Elements count */ &asn_DEF_vrange_specs /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_VariablePart[] = { { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vset), .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_vset, .memb_constraints = memb_vset_3_constraint, .name = "vset" }, { ATF_NOFLAGS, 0, offsetof(struct VariablePart, choice.vrange), .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_vrange, .memb_constraints = 0, /* Defer to actual type */ .name = "vrange" }, }; static asn_TYPE_tag2member_t asn_DEF_VariablePart_tag2el[] = { { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* vrange at 45 */ { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 0, 0, 0 }, /* vset at 42 */ }; static asn_CHOICE_specifics_t asn_DEF_VariablePart_specs = { sizeof(struct VariablePart), offsetof(struct VariablePart, _asn_ctx), offsetof(struct VariablePart, present), sizeof(((struct VariablePart *)0)->present), asn_DEF_VariablePart_tag2el, 2, /* Count of tags in the map */ 1 /* Whether extensible */ }; asn_TYPE_descriptor_t asn_DEF_VariablePart = { "VariablePart", CHOICE_free, CHOICE_print, CHOICE_constraint, CHOICE_decode_ber, CHOICE_encode_der, 0, /* Not implemented yet */ CHOICE_encode_xer, CHOICE_outmost_tag, 0, /* No effective tags (pointer) */ 0, /* No effective tags (count) */ 0, /* No tags (pointer) */ 0, /* No tags (count) */ asn_MBR_VariablePart, 2, /* Elements count */ &asn_DEF_VariablePart_specs /* Additional specs */ }; /*** <<< INCLUDES [ActionItem] >>> ***/ #include #include #include #include #include #include /*** <<< DEPS [ActionItem] >>> ***/ typedef enum accept_as { accept_as_unknown = 0, accept_as_safe = 1, accept_as_unsafe = 2, /* * Enumeration is extensible */ } accept_as_e; extern asn_TYPE_descriptor_t asn_DEF_ActionItem; /*** <<< TYPE-DECLS [ActionItem] >>> ***/ typedef struct ActionItem { ENUMERATED_t accept_as; struct notify { BOOLEAN_t critical; struct email { A_SET_OF(VisibleString_t) list; /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } email; /* * This type is extensible, * possible extensions are below. */ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } *notify; /* * This type is extensible, * possible extensions are below. */ /* Context for parsing across buffer boundaries */ asn_struct_ctx_t _asn_ctx; } ActionItem_t; /*** <<< STAT-DEFS [ActionItem] >>> ***/ static asn_TYPE_member_t asn_MBR_email[] = { { ATF_NOFLAGS, 0, 0, .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_VisibleString, .memb_constraints = 0, /* Defer to actual type */ .name = "" }, }; static ber_tlv_tag_t asn_DEF_email_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)) }; static asn_SET_OF_specifics_t asn_DEF_email_specs = { sizeof(struct email), offsetof(struct email, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_email = { "email", SET_OF_free, SET_OF_print, SET_OF_constraint, SET_OF_decode_ber, SET_OF_encode_der, 0, /* Not implemented yet */ SET_OF_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_email_tags, sizeof(asn_DEF_email_tags) /sizeof(asn_DEF_email_tags[0]), /* 1 */ asn_DEF_email_tags, /* Same as above */ sizeof(asn_DEF_email_tags) /sizeof(asn_DEF_email_tags[0]), /* 1 */ asn_MBR_email, 1, /* Single element */ &asn_DEF_email_specs /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_notify[] = { { ATF_NOFLAGS, 0, offsetof(struct notify, critical), .tag = (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_BOOLEAN, .memb_constraints = 0, /* Defer to actual type */ .name = "critical" }, { ATF_NOFLAGS, 0, offsetof(struct notify, email), .tag = (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_email, .memb_constraints = 0, /* Defer to actual type */ .name = "email" }, }; static ber_tlv_tag_t asn_DEF_notify_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_DEF_notify_tag2el[] = { { (ASN_TAG_CLASS_UNIVERSAL | (1 << 2)), 0, 0, 0 }, /* critical at 61 */ { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2)), 1, 0, 0 }, /* email at 62 */ }; static asn_SEQUENCE_specifics_t asn_DEF_notify_specs = { sizeof(struct notify), offsetof(struct notify, _asn_ctx), asn_DEF_notify_tag2el, 2, /* Count of tags in the map */ 1, /* Start extensions */ 3 /* Stop extensions */ }; static /* Use -fall-defs-global to expose */ asn_TYPE_descriptor_t asn_DEF_notify = { "notify", SEQUENCE_free, SEQUENCE_print, SEQUENCE_constraint, SEQUENCE_decode_ber, SEQUENCE_encode_der, 0, /* Not implemented yet */ SEQUENCE_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_notify_tags, sizeof(asn_DEF_notify_tags) /sizeof(asn_DEF_notify_tags[0]), /* 1 */ asn_DEF_notify_tags, /* Same as above */ sizeof(asn_DEF_notify_tags) /sizeof(asn_DEF_notify_tags[0]), /* 1 */ asn_MBR_notify, 2, /* Elements count */ &asn_DEF_notify_specs /* Additional specs */ }; static asn_TYPE_member_t asn_MBR_ActionItem[] = { { ATF_NOFLAGS, 0, offsetof(struct ActionItem, accept_as), .tag = (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_ENUMERATED, .memb_constraints = 0, /* Defer to actual type */ .name = "accept-as" }, { ATF_POINTER, 1, offsetof(struct ActionItem, notify), .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_notify, .memb_constraints = 0, /* Defer to actual type */ .name = "notify" }, }; static ber_tlv_tag_t asn_DEF_ActionItem_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)) }; static asn_TYPE_tag2member_t asn_DEF_ActionItem_tag2el[] = { { (ASN_TAG_CLASS_UNIVERSAL | (10 << 2)), 0, 0, 0 }, /* accept-as at 55 */ { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), 1, 0, 0 }, /* notify at 61 */ }; static asn_SEQUENCE_specifics_t asn_DEF_ActionItem_specs = { sizeof(struct ActionItem), offsetof(struct ActionItem, _asn_ctx), asn_DEF_ActionItem_tag2el, 2, /* Count of tags in the map */ 1, /* Start extensions */ 3 /* Stop extensions */ }; asn_TYPE_descriptor_t asn_DEF_ActionItem = { "ActionItem", SEQUENCE_free, SEQUENCE_print, SEQUENCE_constraint, SEQUENCE_decode_ber, SEQUENCE_encode_der, 0, /* Not implemented yet */ SEQUENCE_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_ActionItem_tags, sizeof(asn_DEF_ActionItem_tags) /sizeof(asn_DEF_ActionItem_tags[0]), /* 1 */ asn_DEF_ActionItem_tags, /* Same as above */ sizeof(asn_DEF_ActionItem_tags) /sizeof(asn_DEF_ActionItem_tags[0]), /* 1 */ asn_MBR_ActionItem, 2, /* Elements count */ &asn_DEF_ActionItem_specs /* Additional specs */ };