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

📄 asn1p_expr2uclass.h

📁 ASN.1解析解码工具,可以解析各种ASN.1格式的文件,并对相应的BER文件解码
💻 H
字号:
#ifndef	ASN1_PARSER_EXPR2UCLASS_H#define	ASN1_PARSER_EXPR2UCLASS_H#ifndef	__GNUC__#define	__attribute__(x)	/* unused */#endif#if 0static int expr_type2uclass_value[ASN_EXPR_TYPE_MAX]		__attribute__ ((unused)) = {	[ ASN_BASIC_BOOLEAN ]		= 1,	[ ASN_BASIC_INTEGER ]		= 2,	[ ASN_BASIC_BIT_STRING ]	= 3,	[ ASN_BASIC_OCTET_STRING ]	= 4,	[ ASN_BASIC_NULL ]		= 5,	[ ASN_BASIC_OBJECT_IDENTIFIER ]	= 6,	[ ASN_STRING_ObjectDescriptor ]	= 7,	[ ASN_BASIC_EXTERNAL ]		= 8,	[ ASN_BASIC_REAL ]		= 9,	[ ASN_BASIC_ENUMERATED ]	= 10,	[ ASN_BASIC_EMBEDDED_PDV ]	= 11,	[ ASN_STRING_UTF8String ]	= 12,	[ ASN_BASIC_RELATIVE_OID ]	= 13,	[ ASN_CONSTR_SEQUENCE ]		= 16,	[ ASN_CONSTR_SEQUENCE_OF ]	= 16,	[ ASN_CONSTR_SET ]		= 17,	[ ASN_CONSTR_SET_OF ]		= 17,	[ ASN_STRING_NumericString ]	= 18,	[ ASN_STRING_PrintableString ]	= 19,	[ ASN_STRING_TeletexString ]	= 20,	[ ASN_STRING_T61String ]	= 20,	[ ASN_STRING_VideotexString ]	= 21,	[ ASN_STRING_IA5String ]	= 22,	[ ASN_BASIC_UTCTime ]		= 23,	[ ASN_BASIC_GeneralizedTime ]	= 24,	[ ASN_STRING_GraphicString ]	= 25,	[ ASN_STRING_VisibleString ]	= 26,	[ ASN_STRING_ISO646String ]	= 26,	[ ASN_STRING_GeneralString ]	= 27,	[ ASN_STRING_UniversalString ]	= 28,	[ ASN_BASIC_CHARACTER_STRING ]	= 29,	[ ASN_STRING_BMPString ]	= 30,};static enum asn1p_expr_type expr_utag2type[32] __attribute__ ((unused)) = {	[ 0 ]	= 0,			/* If zero length, end-of-content */	[ 1 ]	= ASN_BASIC_BOOLEAN,	[ 2 ]	= ASN_BASIC_INTEGER,	[ 3 ]	= ASN_BASIC_BIT_STRING,	[ 4 ]	= ASN_BASIC_OCTET_STRING,	[ 5 ]	= ASN_BASIC_NULL,	[ 6 ]	= ASN_BASIC_OBJECT_IDENTIFIER,	[ 7 ]	= ASN_STRING_ObjectDescriptor,	[ 8 ]	= ASN_BASIC_EXTERNAL,	[ 9 ]	= ASN_BASIC_REAL,	[ 10 ]	= ASN_BASIC_ENUMERATED,	[ 11 ]	= ASN_BASIC_EMBEDDED_PDV,	[ 12 ]	= ASN_STRING_UTF8String,	[ 13 ]	= ASN_BASIC_RELATIVE_OID,	[ 14 ]	= 0,	[ 15 ]	= 0,	[ 16 ]	= ASN_CONSTR_SEQUENCE,		/* Or SEQUENCE OF */	[ 17 ]	= ASN_CONSTR_SET,		/* Or SET OF */	[ 18 ]	= ASN_STRING_NumericString,	/* " "|"0".."9" */	[ 19 ]	= ASN_STRING_PrintableString,	[ 20 ]	= ASN_STRING_TeletexString,	[ 21 ]	= ASN_STRING_VideotexString,	[ 22 ]	= ASN_STRING_IA5String,	[ 23 ]	= ASN_BASIC_UTCTime,	[ 24 ]	= ASN_BASIC_GeneralizedTime,	[ 25 ]	= ASN_STRING_GraphicString,	[ 26 ]	= ASN_STRING_VisibleString,	[ 27 ]	= ASN_STRING_GeneralString,	[ 28 ]	= ASN_STRING_UniversalString,	/* 32-bit UCS-4 */	[ 29 ]	= ASN_BASIC_CHARACTER_STRING,	[ 30 ]	= ASN_STRING_BMPString,		/* 16-bit UCS-2 */};#endifstatic enum asn1p_expr_type expr_utag2type[32] __attribute__ ((unused)) = {	A1TC_INVALID,			/* If zero length, end-of-content */
	ASN_BASIC_BOOLEAN,
	ASN_BASIC_INTEGER,
	ASN_BASIC_BIT_STRING,
	ASN_BASIC_OCTET_STRING,
	ASN_BASIC_NULL,
	ASN_BASIC_OBJECT_IDENTIFIER,
	ASN_STRING_ObjectDescriptor,
	ASN_BASIC_EXTERNAL,
	ASN_BASIC_REAL,
	ASN_BASIC_ENUMERATED,
	ASN_BASIC_EMBEDDED_PDV,
	ASN_STRING_UTF8String,
	ASN_BASIC_RELATIVE_OID,
	A1TC_INVALID,
	A1TC_INVALID,
	ASN_CONSTR_SEQUENCE,		/* Or SEQUENCE OF */
	ASN_CONSTR_SET,		/* Or SET OF */
	ASN_STRING_NumericString,	/* " "|"0".."9" */
	ASN_STRING_PrintableString,
	ASN_STRING_TeletexString,
	ASN_STRING_VideotexString,
	ASN_STRING_IA5String,
	ASN_BASIC_UTCTime,
	ASN_BASIC_GeneralizedTime,
	ASN_STRING_GraphicString,
	ASN_STRING_VisibleString,
	ASN_STRING_GeneralString,
	ASN_STRING_UniversalString,	/* 32-bit UCS-4 */
	ASN_BASIC_CHARACTER_STRING,
	ASN_STRING_BMPString,		/* 16-bit UCS-2 */
};/* * Convert the [UNIVERSAL value] into the internal type or a string. */#define	ASN_UNIVERSAL_TAG2TYPE(utag)					\	(								\	(((int)(utag)) < 0						\	|| ((int)(utag)) >= (int)(sizeof(expr_utag2type)		\		/ sizeof(expr_utag2type[0])))				\		? 0							\		: expr_utag2type[(int)(utag)]				\	)#define	ASN_UNIVERSAL_TAG2STR(utag)					\	ASN_EXPR_TYPE2STR(ASN_UNIVERSAL_TAG2TYPE(utag))#define ASN_EXPR_TYPE2UCLASS(utag) asn_expr_type2uclass(utag)int asn_expr_type2uclass(int tag);#endif	/* ASN1_PARSER_EXPR2UCLASS_H */

⌨️ 快捷键说明

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