2004-06-03 03:38:44 +00:00
|
|
|
/*
|
|
|
|
* 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 */
|
|
|
|
|
2017-08-04 08:38:41 +00:00
|
|
|
#include "asn1p_integer.h"
|
2005-02-25 14:20:30 +00:00
|
|
|
#include "asn1p_list.h"
|
|
|
|
#include "asn1p_oid.h" /* Object identifiers (OIDs) */
|
2017-05-07 13:00:51 +00:00
|
|
|
#include "asn1p_module.h" /* ASN.1 definition module */
|
2005-02-25 14:20:30 +00:00
|
|
|
#include "asn1p_ref.h" /* References to custom types */
|
|
|
|
#include "asn1p_value.h" /* Value definition */
|
2006-03-21 03:40:38 +00:00
|
|
|
#include "asn1p_param.h" /* Parameterization */
|
2005-02-25 14:20:30 +00:00
|
|
|
#include "asn1p_constr.h" /* Type Constraints */
|
|
|
|
#include "asn1p_xports.h" /* IMports/EXports */
|
|
|
|
#include "asn1p_class.h" /* CLASS-related stuff */
|
|
|
|
#include "asn1p_expr.h" /* A single ASN.1 expression */
|
2004-06-03 03:38:44 +00:00
|
|
|
|
|
|
|
/*
|
|
|
|
* Parser flags.
|
|
|
|
*/
|
|
|
|
enum asn1p_flags {
|
|
|
|
A1P_NOFLAGS,
|
|
|
|
/*
|
|
|
|
* Enable verbose debugging output from lexer.
|
|
|
|
*/
|
2005-11-26 11:21:55 +00:00
|
|
|
A1P_LEXER_DEBUG = 0x0001
|
2004-06-03 03:38:44 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
/*
|
|
|
|
* 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);
|
|
|
|
|
2017-05-04 13:45:05 +00:00
|
|
|
int asn1p_lex_destroy();
|
2006-03-16 10:03:35 +00:00
|
|
|
|
2004-06-03 03:38:44 +00:00
|
|
|
#endif /* ASN1PARSER_H */
|