📄 asn1parser.h
字号:
/* * This is a parser of the ASN.1 grammar. */#ifndef ASN1PARSER_H#define ASN1PARSER_H#ifdef HAVE_CONFIG_H#include "config.h"#endif /* HAVE_CONFIG_H */#ifdef HAVE_SYS_TYPES_H#include <sys/types.h>#endif /* HAVE_SYS_TYPES_H */#ifdef HAVE_INTTYPES_H#include <inttypes.h> /* POSIX 1003.1-2001, C99 */#else /* HAVE_INTTYPES_H */#ifdef HAVE_STDINT_H#include <stdint.h> /* SUSv2+ */#endif /* HAVE_STDINT_H */#endif /* HAVE_INTTYPES_H *//* * Basic integer type used in numerous places. * ASN.1 does not define any limits on this number, so it must be sufficiently * large to accomodate typical inputs. It does not have to be a dynamically * allocated type with potentially unlimited width: consider the width of * an integer defined here as one of the "compiler limitations". * NOTE: this is NOT a type for ASN.1 "INTEGER" type representation, this * type is used by the compiler itself to handle large integer values * specified inside ASN.1 grammar. */typedef intmax_t asn1c_integer_t;#ifdef PRIdMAX#define PRIdASN PRIdMAX#define PRIuASN PRIuMAX#else#define PRIdASN "lld" /* Or j? */#define PRIuASN "llu" /* Or j? */#endif#include "asn1p_list.h"#include "asn1p_oid.h" /* Object identifiers (OIDs) */#include "asn1p_ref.h" /* References to custom types */#include "asn1p_value.h" /* Value definition */#include "asn1p_param.h" /* Parametrization */#include "asn1p_constr.h" /* Type Constraints */#include "asn1p_xports.h" /* IMports/EXports */#include "asn1p_module.h" /* ASN.1 definition module */#include "asn1p_class.h" /* CLASS-related stuff */#include "asn1p_expr.h" /* A single ASN.1 expression *//* * Parser flags. */enum asn1p_flags { A1P_NOFLAGS, /* * Enable verbose debugging output from lexer. */ A1P_LEXER_DEBUG = 0x0001, /* * Embedded types restricted to ASN.1:1988 */ A1P_TYPES_RESTRICT_TO_1988 = 0x0010, /* * Embedded constructs (concepts) restricted to ASN.1:1990 */ A1P_CONSTRUCTS_RESTRICT_TO_1990 = 0x0020,};/* * Perform low-level parsing of ASN.1 module[s] * and return a list of module trees. */asn1p_t *asn1p_parse_file(const char *filename, enum asn1p_flags);asn1p_t *asn1p_parse_buffer(const char *buffer, int size /* = -1 */, enum asn1p_flags);#endif /* ASN1PARSER_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -