blob: 141c82ba4132b3aef7f7b9a40b32f2272359d858 [file] [log] [blame]
vlmfa67ddc2004-06-03 03:38:44 +00001/*
vlm0c6d3812006-03-21 03:40:38 +00002 * Structures and prototypes related to parameterization
vlmfa67ddc2004-06-03 03:38:44 +00003 */
vlm0c6d3812006-03-21 03:40:38 +00004#ifndef ASN1_PARSER_PARAMETERIZATION_H
5#define ASN1_PARSER_PARAMETERIZATION_H
6
7struct asn1p_expr_s; /* Forward declaration */
vlmfa67ddc2004-06-03 03:38:44 +00008
9typedef struct asn1p_paramlist_s {
10 struct asn1p_param_s {
vlm0c6d3812006-03-21 03:40:38 +000011 /* Translated from */
vlmfa67ddc2004-06-03 03:38:44 +000012 asn1p_ref_t *governor;
13 char *argument;
vlm0c6d3812006-03-21 03:40:38 +000014 /* Translated into */
15 struct asn1p_expr_s *into_expr;
vlmfa67ddc2004-06-03 03:38:44 +000016 } *params;
17 int params_count;
18 int params_size;
vlmfa67ddc2004-06-03 03:38:44 +000019 int _lineno;
20} asn1p_paramlist_t;
21
22/*
23 * Constructor and destructor.
24 */
25asn1p_paramlist_t *asn1p_paramlist_new(int _lineno);
26void asn1p_paramlist_free(asn1p_paramlist_t *);
27
28asn1p_paramlist_t *asn1p_paramlist_clone(asn1p_paramlist_t *ref);
29
30int asn1p_paramlist_add_param(asn1p_paramlist_t *,
31 asn1p_ref_t *opt_gov, char *arg);
32
33
vlm0c6d3812006-03-21 03:40:38 +000034#endif /* ASN1_PARSER_PARAMETERIZATION_H */