asn1c/libasn1compiler/asn1compiler.h

82 lines
1.7 KiB
C

#ifndef ASN1_COMPILER_H
#define ASN1_COMPILER_H
#include <asn1parser.h>
enum asn1c_flags {
A1C_NOFLAGS,
/*
* Debug the compiler.
*/
A1C_DEBUG = 0x0001,
/*
* Do not split the target output in several files, just print it.
* (Note: the output is not likely to be compilable in this case).
*/
A1C_PRINT_COMPILED = 0x0002,
/*
* Generate only the tables for ASN.1 types,
* do not emit ASN.1 parsing support code.
*/
A1C_OMIT_SUPPORT_CODE = 0x0004,
/*
* Use native data types instead of INTEGER_t et al.
*/
A1C_USE_NATIVE_TYPES = 0x0008,
/*
* Do not use C99 extensions.
*/
A1C_NO_C99 = 0x0010,
/*
* Enable use of unnamed unions (non-portable feature).
*/
A1C_UNNAMED_UNIONS = 0x0020,
/*
* Don't make the asn1_DEF_'s of structure members "static".
*/
A1C_ALL_DEFS_GLOBAL = 0x0040,
/*
* Do not generate constraint checking code.
*/
A1C_NO_CONSTRAINTS = 0x0080,
/*
* Generate type_id_PR_member things identifiers of id_PR_member.
*/
A1C_COMPOUND_NAMES = 0x0100,
/*
* Do not generate courtesy #includes for external dependencies.
*/
A1C_NO_INCLUDE_DEPS = 0x0200,
/*
* Compile members of CHOICE as indirect pointers.
*/
A1C_INDIRECT_CHOICE = 0x0400,
/*
* -fskeletons-copy
* Copy support files rather than symlink them.
*/
A1C_SKELETONS_COPY = 0x0800,
/*
* -gen-PER
* Generate PER support code
*/
A1C_GEN_PER = 0x1000,
/*
* -pdu={all|auto|Type}
* Generate PDU table
*/
A1C_PDU_ALL = 0x2000,
A1C_PDU_AUTO = 0x4000,
A1C_PDU_TYPE = 0x8000
};
/*
* Compile the ASN.1 specification.
*/
int asn1_compile(asn1p_t *asn, const char *datadir, enum asn1c_flags,
int argc, int optc, char **argv);
void asn1c__add_pdu_type(const char *typename);
#endif /* ASN1_COMPILER_H */