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

📄 asn1p_value.h

📁 ASN.1解析解码工具,可以解析各种ASN.1格式的文件,并对相应的BER文件解码
💻 H
字号:
/* * A generic value of different syntaxes. */#ifndef	ASN1_PARSER_VALUE_H#define	ASN1_PARSER_VALUE_Hstruct asn1p_constraint_s;	/* Forward declaration */struct asn1p_expr_s;/* * A wrapper around various kinds of values. */typedef struct asn1p_value_s {	/*	 * The value of the element.	 */	enum {		ATV_NOVALUE,		ATV_TYPE,	/* A type (as in CONTAINING Type) */		ATV_NULL,	/* A "NULL" value of type NULL. */		ATV_REAL,	/* A constant floating-point value */		ATV_INTEGER,	/* An integer constant */		ATV_MAX,		ATV_MIN,		ATV_TRUE,		ATV_FALSE,		ATV_TUPLE,	/* { 1, 15 } */		ATV_QUADRUPLE,	/* { 0, 14, 0, 255 } */		ATV_STRING,	/* "abcdef" */		ATV_UNPARSED,		ATV_BITVECTOR,		ATV_VALUESET,	/* { 1 | 2 | 3 } */		ATV_REFERENCED,	/* Reference to a value defined elsewhere */		ATV_CHOICE_IDENTIFIER	/* ChoiceIdentifier value */	} type;	/* Value type and location */	union {		struct asn1p_constraint_s *constraint;	/* ValueSet */		struct asn1p_expr_s	*v_type;	/* Type */		asn1p_ref_t	*reference;		asn1c_integer_t	 v_integer;		double		 v_double;		/*		 * Binary bits vector.		 */		struct {			uint8_t *buf;			int size;		} string;		struct {			uint8_t *bits;			int size_in_bits;		} binary_vector;		struct {			char *identifier;			struct asn1p_value_s *value;		} choice_identifier;	} value;} asn1p_value_t;/* * Destructor and constructors for value. * If ref, bits or buffer are omitted, the corresponding function returns * (asn1p_value_t *)0 with errno = EINVAL. * Allocated value (where applicable) is guaranteed to be NUL-terminated. */void asn1p_value_free(asn1p_value_t *);asn1p_value_t *asn1p_value_fromref(asn1p_ref_t *ref, int do_copy);asn1p_value_t *asn1p_value_fromconstr(struct asn1p_constraint_s *ct, int dc);asn1p_value_t *asn1p_value_frombits(uint8_t *bits, int size_in_bits, int dc);asn1p_value_t *asn1p_value_frombuf(char *buffer, int size, int do_copy);asn1p_value_t *asn1p_value_fromdouble(double);asn1p_value_t *asn1p_value_fromint(asn1c_integer_t);asn1p_value_t *asn1p_value_fromtype(struct asn1p_expr_s *);asn1p_value_t *asn1p_value_clone(asn1p_value_t *);asn1p_value_t *asn1p_value_clone_with_resolver(asn1p_value_t *,		asn1p_value_t *(*resolver)(asn1p_value_t *, void *rarg),		void *rarg);#endif	/* ASN1_PARSER_VALUE_H */

⌨️ 快捷键说明

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