blob: 2862195a7ac81f8a714879db46a2e247cea71e49 [file] [log] [blame]
Lev Walkinf15320b2004-06-03 03:38:44 +00001typedef union {
2 asn1p_t *a_grammar;
3 asn1p_module_flags_e a_module_flags;
4 asn1p_module_t *a_module;
5 asn1p_expr_type_e a_type; /* ASN.1 Type */
6 asn1p_expr_t *a_expr; /* Constructed collection */
7 asn1p_constraint_t *a_constr; /* Constraint */
8 enum asn1p_constraint_type_e a_ctype;/* Constraint type */
9 asn1p_xports_t *a_xports; /* IMports/EXports */
Lev Walkinb36317c2005-08-12 10:09:10 +000010 struct AssignedIdentifier a_aid; /* Assigned Identifier */
Lev Walkinf15320b2004-06-03 03:38:44 +000011 asn1p_oid_t *a_oid; /* Object Identifier */
12 asn1p_oid_arc_t a_oid_arc; /* Single OID's arc */
13 struct asn1p_type_tag_s a_tag; /* A tag */
14 asn1p_ref_t *a_ref; /* Reference to custom type */
15 asn1p_wsyntx_t *a_wsynt; /* WITH SYNTAX contents */
16 asn1p_wsyntx_chunk_t *a_wchunk; /* WITH SYNTAX chunk */
17 struct asn1p_ref_component_s a_refcomp; /* Component of a reference */
18 asn1p_value_t *a_value; /* Number, DefinedValue, etc */
19 struct asn1p_param_s a_parg; /* A parameter argument */
20 asn1p_paramlist_t *a_plist; /* A pargs list */
Lev Walkin9c974182004-09-15 11:59:51 +000021 struct asn1p_expr_marker_s a_marker; /* OPTIONAL/DEFAULT */
Lev Walkinf15320b2004-06-03 03:38:44 +000022 enum asn1p_constr_pres_e a_pres; /* PRESENT/ABSENT/OPTIONAL */
Lev Walkind21c5052004-09-29 13:18:09 +000023 asn1c_integer_t a_int;
Lev Walkinf15320b2004-06-03 03:38:44 +000024 char *tv_str;
25 struct {
26 char *buf;
27 int len;
28 } tv_opaque;
29 struct {
30 char *name;
31 struct asn1p_type_tag_s tag;
32 } tv_nametag;
Lev Walkin1004aa92004-09-08 00:28:11 +000033} YYSTYPE;
34#define TOK_PPEQ 257
35#define TOK_opaque 258
36#define TOK_bstring 259
37#define TOK_cstring 260
38#define TOK_hstring 261
39#define TOK_identifier 262
40#define TOK_number 263
Lev Walkind9574ae2005-03-24 16:22:35 +000041#define TOK_tuple 264
42#define TOK_quadruple 265
43#define TOK_number_negative 266
44#define TOK_typereference 267
45#define TOK_capitalreference 268
46#define TOK_typefieldreference 269
47#define TOK_valuefieldreference 270
48#define TOK_ABSENT 271
49#define TOK_ABSTRACT_SYNTAX 272
50#define TOK_ALL 273
51#define TOK_ANY 274
52#define TOK_APPLICATION 275
53#define TOK_AUTOMATIC 276
54#define TOK_BEGIN 277
55#define TOK_BIT 278
56#define TOK_BMPString 279
57#define TOK_BOOLEAN 280
58#define TOK_BY 281
59#define TOK_CHARACTER 282
60#define TOK_CHOICE 283
61#define TOK_CLASS 284
62#define TOK_COMPONENT 285
63#define TOK_COMPONENTS 286
64#define TOK_CONSTRAINED 287
65#define TOK_CONTAINING 288
66#define TOK_DEFAULT 289
67#define TOK_DEFINITIONS 290
68#define TOK_DEFINED 291
69#define TOK_EMBEDDED 292
70#define TOK_ENCODED 293
71#define TOK_ENCODING_CONTROL 294
72#define TOK_END 295
73#define TOK_ENUMERATED 296
74#define TOK_EXPLICIT 297
75#define TOK_EXPORTS 298
76#define TOK_EXTENSIBILITY 299
77#define TOK_EXTERNAL 300
78#define TOK_FALSE 301
79#define TOK_FROM 302
80#define TOK_GeneralizedTime 303
81#define TOK_GeneralString 304
82#define TOK_GraphicString 305
83#define TOK_IA5String 306
84#define TOK_IDENTIFIER 307
85#define TOK_IMPLICIT 308
86#define TOK_IMPLIED 309
87#define TOK_IMPORTS 310
88#define TOK_INCLUDES 311
89#define TOK_INSTANCE 312
90#define TOK_INSTRUCTIONS 313
91#define TOK_INTEGER 314
92#define TOK_ISO646String 315
93#define TOK_MAX 316
94#define TOK_MIN 317
95#define TOK_MINUS_INFINITY 318
96#define TOK_NULL 319
97#define TOK_NumericString 320
98#define TOK_OBJECT 321
99#define TOK_ObjectDescriptor 322
100#define TOK_OCTET 323
101#define TOK_OF 324
102#define TOK_OPTIONAL 325
103#define TOK_PATTERN 326
104#define TOK_PDV 327
105#define TOK_PLUS_INFINITY 328
106#define TOK_PRESENT 329
107#define TOK_PrintableString 330
108#define TOK_PRIVATE 331
109#define TOK_REAL 332
110#define TOK_RELATIVE_OID 333
111#define TOK_SEQUENCE 334
112#define TOK_SET 335
113#define TOK_SIZE 336
114#define TOK_STRING 337
115#define TOK_SYNTAX 338
116#define TOK_T61String 339
117#define TOK_TAGS 340
118#define TOK_TeletexString 341
119#define TOK_TRUE 342
120#define TOK_TYPE_IDENTIFIER 343
121#define TOK_UNIQUE 344
122#define TOK_UNIVERSAL 345
123#define TOK_UniversalString 346
124#define TOK_UTCTime 347
125#define TOK_UTF8String 348
126#define TOK_VideotexString 349
127#define TOK_VisibleString 350
128#define TOK_WITH 351
129#define TOK_EXCEPT 352
130#define TOK_INTERSECTION 353
131#define TOK_UNION 354
132#define TOK_TwoDots 355
133#define TOK_ThreeDots 356
Lev Walkin1004aa92004-09-08 00:28:11 +0000134
Lev Walkinf15320b2004-06-03 03:38:44 +0000135
136extern YYSTYPE asn1p_lval;