blob: 1bed8581b8088089e8f64aec3339acc112a1d1d9 [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001/*
2 * This is the public interface for the processor (fixer) of the ASN.1 tree
3 * produced by the libasn1parser.
4 */
5#ifndef ASN1FIX_H
6#define ASN1FIX_H
7
8#include <asn1parser.h>
9
10/*
11 * Operation flags for the function below.
12 */
13enum asn1f_flags {
14 A1F_NOFLAGS,
vlmb5be8c32004-08-18 05:42:05 +000015 A1F_DEBUG = 0x01, /* Print debugging output */
vlmfa67ddc2004-06-03 03:38:44 +000016};
17
18/*
19 * Perform a set of semantics checks, transformations and small fixes
20 * on the given tree.
21 * RETURN VALUES:
22 * -1: Some fatal problems were encountered.
23 * 0: No inconsistencies were found.
24 * 1: Some warnings were issued, but no fatal problems encountered.
25 */
26int asn1f_process(asn1p_t *_asn,
27 enum asn1f_flags,
28 void (*error_log_callback)(int _severity, const char *fmt, ...));
29
vlmd9cd3f92004-06-28 21:21:24 +000030
31/*
32 * Explicitly mark type as known.
33 */
34int asn1f_make_known_external_type(const char *);
35
vlmfa67ddc2004-06-03 03:38:44 +000036#endif /* ASN1FIX_H */