⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 44-choice-in-sequence-ok.asn1.-p

📁 RSA加密/解密算法源码 asn1c-0.9.12
💻 -P
字号:
/*** <<< INCLUDES [T] >>> ***/#include <NULL.h>#include <constr_CHOICE.h>#include <constr_SEQUENCE.h>/*** <<< DEPS [T] >>> ***/typedef enum b_PR {	b_PR_NOTHING,	/* No components present */	b_PR_c,	b_PR_d,	b_PR_e,	b_PR_h,} b_PR;typedef enum e_PR {	e_PR_NOTHING,	/* No components present */	e_PR_f,	e_PR_g,} e_PR;typedef enum h_PR {	h_PR_NOTHING,	/* No components present */	h_PR_i,	h_PR_j,} h_PR;/*** <<< TYPE-DECLS [T] >>> ***/typedef struct T {	NULL_t	 a;	struct b {		b_PR present;		union {			NULL_t	 c;			NULL_t	 d;			struct e {				e_PR present;				union {					NULL_t	 f;					NULL_t	 g;				} choice;								/* Context for parsing across buffer boundaries */				asn_struct_ctx_t _asn_ctx;			} e;			struct h {				h_PR present;				union {					NULL_t	 i;					NULL_t	 j;				} choice;								/* Context for parsing across buffer boundaries */				asn_struct_ctx_t _asn_ctx;			} h;		} choice;				/* Context for parsing across buffer boundaries */		asn_struct_ctx_t _asn_ctx;	} b;		/* Context for parsing across buffer boundaries */	asn_struct_ctx_t _asn_ctx;} T_t;/*** <<< FUNC-DECLS [T] >>> ***/extern asn_TYPE_descriptor_t asn_DEF_T;/*** <<< STAT-DEFS [T] >>> ***/static asn_TYPE_member_t asn_MBR_e_6[] = {	{ ATF_NOFLAGS, 0, offsetof(struct e, choice.f),		.tag = (ASN_TAG_CLASS_PRIVATE | (7 << 2)),		.tag_mode = -1,	/* IMPLICIT tag at current level */		.type = (void *)&asn_DEF_NULL,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "f"		},	{ ATF_NOFLAGS, 0, offsetof(struct e, choice.g),		.tag = (ASN_TAG_CLASS_PRIVATE | (8 << 2)),		.tag_mode = -1,	/* IMPLICIT tag at current level */		.type = (void *)&asn_DEF_NULL,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "g"		},};static asn_TYPE_tag2member_t asn_MAP_e_6_tag2el[] = {    { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 0, 0, 0 }, /* f at 20 */    { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 } /* g at 21 */};static asn_CHOICE_specifics_t asn_SPC_e_6_specs = {	sizeof(struct e),	offsetof(struct e, _asn_ctx),	offsetof(struct e, present),	sizeof(((struct e *)0)->present),	asn_MAP_e_6_tag2el,	2,	/* Count of tags in the map */	0	/* Whether extensible */};static /* Use -fall-defs-global to expose */asn_TYPE_descriptor_t asn_DEF_e_6 = {	"e",	"e",	CHOICE_free,	CHOICE_print,	CHOICE_constraint,	CHOICE_decode_ber,	CHOICE_encode_der,	CHOICE_decode_xer,	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_e_6,	2,	/* Elements count */	&asn_SPC_e_6_specs	/* Additional specs */};static asn_TYPE_member_t asn_MBR_h_9[] = {	{ ATF_NOFLAGS, 0, offsetof(struct h, choice.i),		.tag = (ASN_TAG_CLASS_PRIVATE | (1 << 2)),		.tag_mode = -1,	/* IMPLICIT tag at current level */		.type = (void *)&asn_DEF_NULL,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "i"		},	{ ATF_NOFLAGS, 0, offsetof(struct h, choice.j),		.tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),		.tag_mode = -1,	/* IMPLICIT tag at current level */		.type = (void *)&asn_DEF_NULL,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "j"		},};static asn_TYPE_tag2member_t asn_MAP_h_9_tag2el[] = {    { (ASN_TAG_CLASS_PRIVATE | (1 << 2)), 0, 0, 0 }, /* i at 24 */    { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 1, 0, 0 } /* j at 25 */};static asn_CHOICE_specifics_t asn_SPC_h_9_specs = {	sizeof(struct h),	offsetof(struct h, _asn_ctx),	offsetof(struct h, present),	sizeof(((struct h *)0)->present),	asn_MAP_h_9_tag2el,	2,	/* Count of tags in the map */	0	/* Whether extensible */};static /* Use -fall-defs-global to expose */asn_TYPE_descriptor_t asn_DEF_h_9 = {	"h",	"h",	CHOICE_free,	CHOICE_print,	CHOICE_constraint,	CHOICE_decode_ber,	CHOICE_encode_der,	CHOICE_decode_xer,	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_h_9,	2,	/* Elements count */	&asn_SPC_h_9_specs	/* Additional specs */};static asn_TYPE_member_t asn_MBR_b_3[] = {	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.c),		.tag = (ASN_TAG_CLASS_PRIVATE | (5 << 2)),		.tag_mode = -1,	/* IMPLICIT tag at current level */		.type = (void *)&asn_DEF_NULL,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "c"		},	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.d),		.tag = (ASN_TAG_CLASS_PRIVATE | (6 << 2)),		.tag_mode = -1,	/* IMPLICIT tag at current level */		.type = (void *)&asn_DEF_NULL,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "d"		},	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.e),		.tag = -1 /* Ambiguous tag (CHOICE?) */,		.tag_mode = 0,		.type = (void *)&asn_DEF_e_6,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "e"		},	{ ATF_NOFLAGS, 0, offsetof(struct b, choice.h),		.tag = (ASN_TAG_CLASS_PRIVATE | (9 << 2)),		.tag_mode = +1,	/* EXPLICIT tag at current level */		.type = (void *)&asn_DEF_h_9,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "h"		},};static asn_TYPE_tag2member_t asn_MAP_b_3_tag2el[] = {    { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 0, 0, 0 }, /* c at 17 */    { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */    { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 2, 0, 0 }, /* f at 20 */    { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 2, 0, 0 }, /* g at 21 */    { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 3, 0, 0 } /* h at 24 */};static asn_CHOICE_specifics_t asn_SPC_b_3_specs = {	sizeof(struct b),	offsetof(struct b, _asn_ctx),	offsetof(struct b, present),	sizeof(((struct b *)0)->present),	asn_MAP_b_3_tag2el,	5,	/* Count of tags in the map */	0	/* Whether extensible */};static /* Use -fall-defs-global to expose */asn_TYPE_descriptor_t asn_DEF_b_3 = {	"b",	"b",	CHOICE_free,	CHOICE_print,	CHOICE_constraint,	CHOICE_decode_ber,	CHOICE_encode_der,	CHOICE_decode_xer,	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_b_3,	4,	/* Elements count */	&asn_SPC_b_3_specs	/* Additional specs */};static asn_TYPE_member_t asn_MBR_T_1[] = {	{ ATF_NOFLAGS, 0, offsetof(struct T, a),		.tag = (ASN_TAG_CLASS_PRIVATE | (2 << 2)),		.tag_mode = -1,	/* IMPLICIT tag at current level */		.type = (void *)&asn_DEF_NULL,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "a"		},	{ ATF_NOFLAGS, 0, offsetof(struct T, b),		.tag = -1 /* Ambiguous tag (CHOICE?) */,		.tag_mode = 0,		.type = (void *)&asn_DEF_b_3,		.memb_constraints = 0,	/* Defer constraints checking to the member type */		.name = "b"		},};static ber_tlv_tag_t asn_DEF_T_1_tags[] = {	(ASN_TAG_CLASS_PRIVATE | (1 << 2)),	(ASN_TAG_CLASS_UNIVERSAL | (16 << 2))};static asn_TYPE_tag2member_t asn_MAP_T_1_tag2el[] = {    { (ASN_TAG_CLASS_PRIVATE | (2 << 2)), 0, 0, 0 }, /* a at 15 */    { (ASN_TAG_CLASS_PRIVATE | (5 << 2)), 1, 0, 0 }, /* c at 17 */    { (ASN_TAG_CLASS_PRIVATE | (6 << 2)), 1, 0, 0 }, /* d at 18 */    { (ASN_TAG_CLASS_PRIVATE | (7 << 2)), 1, 0, 0 }, /* f at 20 */    { (ASN_TAG_CLASS_PRIVATE | (8 << 2)), 1, 0, 0 }, /* g at 21 */    { (ASN_TAG_CLASS_PRIVATE | (9 << 2)), 1, 0, 0 } /* h at 24 */};static asn_SEQUENCE_specifics_t asn_SPC_T_1_specs = {	sizeof(struct T),	offsetof(struct T, _asn_ctx),	asn_MAP_T_1_tag2el,	6,	/* Count of tags in the map */	-1,	/* Start extensions */	-1	/* Stop extensions */};asn_TYPE_descriptor_t asn_DEF_T = {	"T",	"T",	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_T_1_tags,	sizeof(asn_DEF_T_1_tags)		/sizeof(asn_DEF_T_1_tags[0]) - 1, /* 1 */	asn_DEF_T_1_tags,	/* Same as above */	sizeof(asn_DEF_T_1_tags)		/sizeof(asn_DEF_T_1_tags[0]), /* 2 */	asn_MBR_T_1,	2,	/* Elements count */	&asn_SPC_T_1_specs	/* Additional specs */};

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -