blob: 93db90d990b979493e660aab9b2d6b44ca3f62eb [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001/*
Lev Walkina00d6b32006-03-21 03:40:38 +00002 * Structures and prototypes related to parameterization
Lev Walkinf15320b2004-06-03 03:38:44 +00003 */
Lev Walkina00d6b32006-03-21 03:40:38 +00004#ifndef ASN1_PARSER_PARAMETERIZATION_H
5#define ASN1_PARSER_PARAMETERIZATION_H
6
7struct asn1p_expr_s; /* Forward declaration */
Lev Walkinf15320b2004-06-03 03:38:44 +00008
9typedef struct asn1p_paramlist_s {
10 struct asn1p_param_s {
Lev Walkina00d6b32006-03-21 03:40:38 +000011 /* Translated from */
Lev Walkinf15320b2004-06-03 03:38:44 +000012 asn1p_ref_t *governor;
13 char *argument;
14 } *params;
15 int params_count;
16 int params_size;
Lev Walkinf15320b2004-06-03 03:38:44 +000017 int _lineno;
18} asn1p_paramlist_t;
19
20/*
21 * Constructor and destructor.
22 */
23asn1p_paramlist_t *asn1p_paramlist_new(int _lineno);
24void asn1p_paramlist_free(asn1p_paramlist_t *);
25
26asn1p_paramlist_t *asn1p_paramlist_clone(asn1p_paramlist_t *ref);
27
28int asn1p_paramlist_add_param(asn1p_paramlist_t *,
29 asn1p_ref_t *opt_gov, char *arg);
30
31
Lev Walkina00d6b32006-03-21 03:40:38 +000032#endif /* ASN1_PARSER_PARAMETERIZATION_H */