aboutsummaryrefslogtreecommitdiffstats
path: root/libasn1parser/asn1p_param.h
blob: 141c82ba4132b3aef7f7b9a40b32f2272359d858 (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
/*
 * Structures and prototypes related to parameterization
 */
#ifndef	ASN1_PARSER_PARAMETERIZATION_H
#define	ASN1_PARSER_PARAMETERIZATION_H

struct asn1p_expr_s;	/* Forward declaration */

typedef struct asn1p_paramlist_s {
	struct asn1p_param_s {
		/* Translated from */
		asn1p_ref_t	*governor;
		char		*argument;
		/* Translated into */
		struct asn1p_expr_s	*into_expr;
	} *params;
	int params_count;
	int params_size;
	int _lineno;
} asn1p_paramlist_t;

/*
 * Constructor and destructor.
 */
asn1p_paramlist_t *asn1p_paramlist_new(int _lineno);
void asn1p_paramlist_free(asn1p_paramlist_t *);

asn1p_paramlist_t *asn1p_paramlist_clone(asn1p_paramlist_t *ref);

int asn1p_paramlist_add_param(asn1p_paramlist_t *,
		asn1p_ref_t *opt_gov, char *arg);


#endif	/* ASN1_PARSER_PARAMETERIZATION_H */