aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1fix/asn1fix.h
blob: 1bed8581b8088089e8f64aec3339acc112a1d1d9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
/*
 * This is the public interface for the processor (fixer) of the ASN.1 tree
 * produced by the libasn1parser.
 */
#ifndef	ASN1FIX_H
#define	ASN1FIX_H

#include <asn1parser.h>

/*
 * Operation flags for the function below.
 */
enum asn1f_flags {
	A1F_NOFLAGS,
	A1F_DEBUG		= 0x01,	/* Print debugging output */
};

/*
 * Perform a set of semantics checks, transformations and small fixes
 * on the given tree.
 * RETURN VALUES:
 * 	-1:	Some fatal problems were encountered.
 *	 0:	No inconsistencies were found.
 *	 1:	Some warnings were issued, but no fatal problems encountered.
 */
int asn1f_process(asn1p_t *_asn,
	enum asn1f_flags,
	void (*error_log_callback)(int _severity, const char *fmt, ...));


/*
 * Explicitly mark type as known.
 */
int asn1f_make_known_external_type(const char *);

#endif	/* ASN1FIX_H */