aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1compiler/asn1c_misc.h
blob: 2f82b0b65557b26f7cf52e2440929376915a9df9 (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
#ifndef	_ASN1_COMPILER_MISC_H_
#define	_ASN1_COMPILER_MISC_H_

/*
 * Make the target language identifier out of one or more names.
 * The function will concatenate the names and replace unsafe characters
 * with safe ones.
 */
char *asn1c_make_identifier(int unsafe_only_spaces, char *arg1, ...);

/*
 * Return the type name of the specified expression.
 */
enum tnfmt {
	TNF_UNMODIFIED,		/* Return unmodified type name */
	TNF_INCLUDE,		/* Format for #include <> */
	TNF_CTYPE,		/* Format as normal C-ish type (append "_t") */
	TNF_SAFE,		/* Replace unsafe characters with _ */
	TNF_RSAFE,		/* Recursion-safe C type format */
};
char *asn1c_type_name(arg_t *arg, asn1p_expr_t *expr, enum tnfmt _format);

/*
 * Open the arbitrary file by its base name and extension.
 */
FILE *asn1c_open_file(arg_t *arg, const char *base_part, const char *extension);

#endif	/* _ASN1_COMPILER_MISC_H_ */