📄 42-real-life-ok.asn1.-pr
字号:
/*** <<< INCLUDES [LogLine] >>> ***/#include <IA5String.h>#include <asn_SEQUENCE_OF.h>#include <constr_SEQUENCE_OF.h>#include <constr_SEQUENCE.h>/*** <<< FWD-DECLS [LogLine] >>> ***/struct VariablePartSet;/*** <<< TYPE-DECLS [LogLine] >>> ***/typedef struct LogLine { IA5String_t line_digest; struct varsets { A_SEQUENCE_OF(struct VariablePartSet) 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;/*** <<< FUNC-DECLS [LogLine] >>> ***/extern asn_TYPE_descriptor_t asn_DEF_LogLine;/*** <<< POST-INCLUDE [LogLine] >>> ***/#include <VariablePartSet.h>/*** <<< CODE [LogLine] >>> ***/static intmemb_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_3[] = { { ATF_NOFLAGS, 0, 0, .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_VariablePartSet, .memb_constraints = 0, /* Defer constraints checking to the member type */ .name = "" },};static ber_tlv_tag_t asn_DEF_varsets_3_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};static asn_SET_OF_specifics_t asn_SPC_varsets_3_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_3 = { "varsets", "varsets", SEQUENCE_OF_free, SEQUENCE_OF_print, SEQUENCE_OF_constraint, SEQUENCE_OF_decode_ber, SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_varsets_3_tags, sizeof(asn_DEF_varsets_3_tags) /sizeof(asn_DEF_varsets_3_tags[0]), /* 1 */ asn_DEF_varsets_3_tags, /* Same as above */ sizeof(asn_DEF_varsets_3_tags) /sizeof(asn_DEF_varsets_3_tags[0]), /* 1 */ asn_MBR_varsets_3, 1, /* Single element */ &asn_SPC_varsets_3_specs /* Additional specs */};static asn_TYPE_member_t asn_MBR_LogLine_1[] = { { 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 constraints checking to the member 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_3, .memb_constraints = memb_varsets_1_constraint, .name = "varsets" },};static ber_tlv_tag_t asn_DEF_LogLine_1_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};static asn_TYPE_tag2member_t asn_MAP_LogLine_1_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_SPC_LogLine_1_specs = { sizeof(struct LogLine), offsetof(struct LogLine, _asn_ctx), asn_MAP_LogLine_1_tag2el, 2, /* Count of tags in the map */ 1, /* Start extensions */ 3 /* Stop extensions */};asn_TYPE_descriptor_t asn_DEF_LogLine = { "LogLine", "LogLine", SEQUENCE_free, SEQUENCE_print, SEQUENCE_constraint, SEQUENCE_decode_ber, SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_LogLine_1_tags, sizeof(asn_DEF_LogLine_1_tags) /sizeof(asn_DEF_LogLine_1_tags[0]), /* 1 */ asn_DEF_LogLine_1_tags, /* Same as above */ sizeof(asn_DEF_LogLine_1_tags) /sizeof(asn_DEF_LogLine_1_tags[0]), /* 1 */ asn_MBR_LogLine_1, 2, /* Elements count */ &asn_SPC_LogLine_1_specs /* Additional specs */};/*** <<< INCLUDES [VariablePartSet] >>> ***/#include <ActionItem.h>#include <asn_SEQUENCE_OF.h>#include <constr_SEQUENCE_OF.h>#include <constr_SEQUENCE.h>/*** <<< FWD-DECLS [VariablePartSet] >>> ***/struct VariablePart;/*** <<< TYPE-DECLS [VariablePartSet] >>> ***/typedef struct VariablePartSet { struct vparts { A_SEQUENCE_OF(struct VariablePart) 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;/*** <<< FUNC-DECLS [VariablePartSet] >>> ***/extern asn_TYPE_descriptor_t asn_DEF_VariablePartSet;/*** <<< POST-INCLUDE [VariablePartSet] >>> ***/#include <VariablePart.h>/*** <<< CODE [VariablePartSet] >>> ***/static intmemb_vparts_1_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_2[] = { { ATF_NOFLAGS, 0, 0, .tag = -1 /* Ambiguous tag (CHOICE?) */, .tag_mode = 0, .type = (void *)&asn_DEF_VariablePart, .memb_constraints = 0, /* Defer constraints checking to the member type */ .name = "" },};static ber_tlv_tag_t asn_DEF_vparts_2_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};static asn_SET_OF_specifics_t asn_SPC_vparts_2_specs = { sizeof(struct vparts), offsetof(struct vparts, _asn_ctx), 0, /* XER encoding is XMLDelimitedItemList */};static /* Use -fall-defs-global to expose */asn_TYPE_descriptor_t asn_DEF_vparts_2 = { "vparts", "vparts", SEQUENCE_OF_free, SEQUENCE_OF_print, SEQUENCE_OF_constraint, SEQUENCE_OF_decode_ber, SEQUENCE_OF_encode_der, SEQUENCE_OF_decode_xer, SEQUENCE_OF_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_vparts_2_tags, sizeof(asn_DEF_vparts_2_tags) /sizeof(asn_DEF_vparts_2_tags[0]), /* 1 */ asn_DEF_vparts_2_tags, /* Same as above */ sizeof(asn_DEF_vparts_2_tags) /sizeof(asn_DEF_vparts_2_tags[0]), /* 1 */ asn_MBR_vparts_2, 1, /* Single element */ &asn_SPC_vparts_2_specs /* Additional specs */};static asn_TYPE_member_t asn_MBR_VariablePartSet_1[] = { { ATF_NOFLAGS, 0, offsetof(struct VariablePartSet, vparts), .tag = (ASN_TAG_CLASS_UNIVERSAL | (16 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_vparts_2, .memb_constraints = memb_vparts_1_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 constraints checking to the member type */ .name = "resolution" },};static ber_tlv_tag_t asn_DEF_VariablePartSet_1_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};static asn_TYPE_tag2member_t asn_MAP_VariablePartSet_1_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_SPC_VariablePartSet_1_specs = { sizeof(struct VariablePartSet), offsetof(struct VariablePartSet, _asn_ctx), asn_MAP_VariablePartSet_1_tag2el, 2, /* Count of tags in the map */ 1, /* Start extensions */ 3 /* Stop extensions */};asn_TYPE_descriptor_t asn_DEF_VariablePartSet = { "VariablePartSet", "VariablePartSet", SEQUENCE_free, SEQUENCE_print, SEQUENCE_constraint, SEQUENCE_decode_ber, SEQUENCE_encode_der, SEQUENCE_decode_xer, SEQUENCE_encode_xer, 0, /* Use generic outmost tag fetcher */ asn_DEF_VariablePartSet_1_tags, sizeof(asn_DEF_VariablePartSet_1_tags) /sizeof(asn_DEF_VariablePartSet_1_tags[0]), /* 1 */ asn_DEF_VariablePartSet_1_tags, /* Same as above */ sizeof(asn_DEF_VariablePartSet_1_tags) /sizeof(asn_DEF_VariablePartSet_1_tags[0]), /* 1 */ asn_MBR_VariablePartSet_1, 2, /* Elements count */ &asn_SPC_VariablePartSet_1_specs /* Additional specs */};/*** <<< INCLUDES [VariablePart] >>> ***/#include <VisibleString.h>#include <asn_SET_OF.h>#include <constr_SET_OF.h>#include <constr_SEQUENCE.h>#include <constr_CHOICE.h>/*** <<< DEPS [VariablePart] >>> ***/typedef enum VariablePart_PR { VariablePart_PR_NOTHING, /* No components present */ VariablePart_PR_vset, VariablePart_PR_vrange, /* Extensions may appear below */} VariablePart_PR;/*** <<< 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;/*** <<< FUNC-DECLS [VariablePart] >>> ***/extern asn_TYPE_descriptor_t asn_DEF_VariablePart;/*** <<< CODE [VariablePart] >>> ***/static intmemb_vset_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_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_2[] = { { ATF_NOFLAGS, 0, 0, .tag = (ASN_TAG_CLASS_UNIVERSAL | (26 << 2)), .tag_mode = 0, .type = (void *)&asn_DEF_VisibleString, .memb_constraints = 0, /* Defer constraints checking to the member type */ .name = "" },};static ber_tlv_tag_t asn_DEF_vset_2_tags[] = { (ASN_TAG_CLASS_UNIVERSAL | (17 << 2))};static asn_SET_OF_specifics_t asn_SPC_vset_2_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_2 = { "vset", "vset", SET_OF_free, SET_OF_print, SET_OF_constraint, SET_OF_decode_ber, SET_OF_encode_der, SET_OF_decode_xer,
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -