]> git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/compiler/core/asn1module.h
Security-54.tar.gz
[apple/security.git] / SecuritySNACCRuntime / compiler / core / asn1module.h
1 /*
2 * compiler/core/asn1module.h
3 *
4 * "Asn1Module" ASN.1 module C type definitions and prototypes
5 *
6 * This .h file was by snacc on Sun Feb 7 23:38:26 1993
7 *
8 * UBC snacc written compiler by Mike Sample
9 *
10 * NOTE: This is a machine generated file - editing not recommended
11 */
12
13
14 #ifndef _asn1module_h_
15 #define _asn1module_h_
16
17
18
19
20 typedef enum
21 {
22 PRESENT_CT = 0,
23 ABSENT_CT = 1,
24 EMPTY_CT = 2,
25 OPTIONAL_CT = 3
26 } ConstraintEnum; /* ENUMERATED { PRESENT_CT (0), ABSENT_CT (1), EMPTY_CT (2), OPTIONAL_CT (3) } */
27
28
29
30
31 typedef enum
32 {
33 FULL_CT = 0,
34 PARTIAL_CT = 1,
35 SINGLE_CT = 2
36 } InnerSubtypeEnum; /* ENUMERATED { FULL_CT (0), PARTIAL_CT (1), SINGLE_CT (2) } */
37
38
39
40
41 typedef enum
42 {
43 SNMP_MANDATORY = 0,
44 SNMP_OPTIONAL = 1,
45 SNMP_OBSOLETE = 2,
46 SNMP_DEPRECATED = 3
47 } SnmpObjectTypeMacroTypeEnum1; /* ENUMERATED { SNMP_MANDATORY (0), SNMP_OPTIONAL (1), SNMP_OBSOLETE (2), SNMP_DEPRECATED (3) } */
48
49
50
51
52 typedef enum
53 {
54 SNMP_READ_ONLY = 0,
55 SNMP_READ_WRITE = 1,
56 SNMP_WRITE_ONLY = 2,
57 SNMP_NOT_ACCESSIBLE = 3
58 } SnmpObjectTypeMacroTypeEnum; /* ENUMERATED { SNMP_READ_ONLY (0), SNMP_READ_WRITE (1), SNMP_WRITE_ONLY (2), SNMP_NOT_ACCESSIBLE (3) } */
59
60
61
62
63 typedef enum
64 {
65 CONSUMER_PORT = 0,
66 SUPPLIER_PORT = 1,
67 SYMMETRIC_PORT = 2
68 } AsnPortEnum; /* ENUMERATED { CONSUMER_PORT (0), SUPPLIER_PORT (1), SYMMETRIC_PORT (2) } */
69
70
71
72
73 typedef enum
74 {
75 EXPORTS_ALL = 0,
76 EXPORTS_NOTHING = 1,
77 EXPORTS_SOME = 2
78 } ModuleEnum2; /* ENUMERATED { EXPORTS_ALL (0), EXPORTS_NOTHING (1), EXPORTS_SOME (2) } */
79
80
81
82
83 typedef enum
84 {
85 EXPLICIT_TAGS = 0,
86 IMPLICIT_TAGS = 1
87 } ModuleEnum1; /* ENUMERATED { EXPLICIT_TAGS (0), IMPLICIT_TAGS (1) } */
88
89
90
91
92 typedef enum
93 {
94 MOD_OK = 0,
95 MOD_NOT_LINKED = 1,
96 MOD_ERROR = 2
97 } ModuleEnum; /* ENUMERATED { MOD_OK (0), MOD_NOT_LINKED (1), MOD_ERROR (2) } */
98
99
100
101
102 typedef AsnInt AsnRefineMacroType; /* INTEGER */
103
104
105
106
107 typedef enum
108 {
109 MIN_INT = 0,
110 MAX_INT = 1
111 } SpecialIntegerValue; /* ENUMERATED { MIN_INT (0), MAX_INT (1) } */
112
113
114
115
116 typedef enum
117 {
118 MINUS_INFINITY_REAL = 0,
119 PLUS_INFINITY_REAL = 1
120 } SpecialRealValue; /* ENUMERATED { MINUS_INFINITY_REAL (0), PLUS_INFINITY_REAL (1) } */
121
122
123
124
125 typedef enum
126 {
127 C_CHOICE = 0,
128 C_LIST = 1,
129 C_ANY = 2,
130 C_ANYDEFINEDBY = 3,
131 C_LIB = 4,
132 C_STRUCT = 5,
133 C_TYPEREF = 6,
134 C_NO_TYPE = 7,
135 C_TYPEDEF = 8
136 } CTypeId; /* ENUMERATED { C_CHOICE (0), C_LIST (1), C_ANY (2), C_ANYDEFINEDBY (3), C_LIB (4), C_STRUCT (5), C_TYPEREF (6), C_NO_TYPE (7), C_TYPEDEF (8) } */
137
138
139
140
141 typedef struct OidOrInt /* CHOICE */
142 {
143 enum OidOrIntChoiceId
144 {
145 OIDORINT_OID,
146 OIDORINT_INTID
147 } choiceId;
148 union OidOrIntChoiceUnion
149 {
150 AsnOid *oid; /* OBJECT IDENTIFIER */
151 AsnInt intId; /* INTEGER */
152 } a;
153 } OidOrInt;
154
155
156
157
158 typedef AsnList OidList; /* SEQUENCE OF OBJECT IDENTIFIER */
159
160
161
162
163 typedef char *MyString; /* PrintableString */
164
165
166
167
168 typedef struct ModuleId /* SEQUENCE */
169 {
170 MyString name; /* MyString */
171 OID *oid; /* OBJECT IDENTIFIER OPTIONAL */
172 } ModuleId;
173
174
175
176
177 typedef struct AnyRef /* SEQUENCE */
178 {
179 MyString anyIdName; /* MyString */
180 struct OidOrInt *id; /* OidOrInt */
181 } AnyRef;
182
183
184
185
186 typedef AsnList AnyRefList; /* SEQUENCE OF AnyRef */
187
188
189
190
191 typedef AsnList AttributeList; /* SEQUENCE OF MyString */
192
193
194
195
196 typedef MyString MacroDef; /* MyString */
197
198
199
200
201
202
203
204
205 typedef AsnList ImportModuleList; /* SEQUENCE OF ImportModule */
206
207
208
209
210 typedef AsnList ImportElmtList; /* SEQUENCE OF ImportElmt */
211
212
213
214
215 typedef AsnList TypeDefList; /* SEQUENCE OF TypeDef */
216
217
218
219
220 typedef AsnList TagList; /* SEQUENCE OF Tag */
221
222
223
224
225 typedef AsnList NamedTypeList; /* SEQUENCE OF NamedType */
226
227
228
229
230 typedef AsnList ValueList; /* SEQUENCE OF Value */
231
232
233
234
235 typedef AsnList TypeOrValueList; /* SEQUENCE OF TypeOrValue */
236
237
238
239
240 typedef AsnList AsnPortList; /* SEQUENCE OF AsnPort */
241
242
243
244
245 typedef AsnList SubtypeList; /* SEQUENCE OF Subtype */
246
247
248
249
250 typedef AsnList ConstraintList; /* SEQUENCE OF Constraint */
251
252
253
254
255 typedef AsnList ValueDefList; /* SEQUENCE OF ValueDef */
256
257
258
259
260 typedef struct ImportElmtChoice /* CHOICE */
261 {
262 enum ImportElmtChoiceChoiceId
263 {
264 IMPORTELMTCHOICE_TYPE,
265 IMPORTELMTCHOICE_VALUE
266 } choiceId;
267 union ImportElmtChoiceChoiceUnion
268 {
269 struct TypeDef *type; /* [0] IMPLICIT TypeDef */
270 struct ValueDef *value; /* [1] IMPLICIT ValueDef */
271 } a;
272 } ImportElmtChoice;
273
274
275
276
277 typedef struct Module /* SEQUENCE */
278 {
279 ModuleEnum status; /* ModuleEnum */
280 struct ModuleId *modId; /* ModuleId */
281 ModuleEnum1 tagDefault; /* ModuleEnum1 */
282 ModuleEnum2 exportStatus; /* ModuleEnum2 */
283 ImportModuleList *imports; /* ImportModuleList */
284 TypeDefList *typeDefs; /* TypeDefList */
285 ValueDefList *valueDefs; /* ValueDefList */
286 AsnBool hasAnys; /* BOOLEAN */
287 MyString asn1SrcFileName; /* MyString */
288 MyString cHdrFileName; /* MyString */
289 MyString cSrcFileName; /* MyString */
290 MyString cxxHdrFileName; /* MyString */
291 MyString cxxSrcFileName; /* MyString */
292 #ifdef _IBM_ENC_
293 MyString dbHdrFileName; /* 19.8.93 IBM-ENC */
294 MyString dbSrcFileName; /* 19.8.93 IBM-ENC */
295 #endif /* _IBM_ENC_ */
296 #if META
297 MyString cxxname;
298 #endif
299 #if IDL
300 MyString idlFileName; /* MyString */
301 MyString idlname;
302 #endif
303 } Module;
304
305
306
307
308 typedef struct ImportModule /* SEQUENCE */
309 {
310 struct ModuleId *modId; /* ModuleId */
311 ImportElmtList *importElmts; /* ImportElmtList */
312 struct Module *moduleRef; /* Module */
313 AsnInt lineNo; /* INTEGER */
314 } ImportModule;
315
316
317
318
319 typedef struct ImportElmt /* SEQUENCE */
320 {
321 struct ImportElmtChoice *resolvedRef; /* ImportElmtChoice OPTIONAL */
322 MyString name; /* MyString */
323 AsnBool privateScope; /* BOOLEAN */
324 AsnInt lineNo; /* INTEGER */
325 } ImportElmt;
326
327
328
329
330 typedef struct TypeDef /* SEQUENCE */
331 {
332 AsnBool exported; /* BOOLEAN */
333 AsnBool recursive; /* BOOLEAN */
334 AsnBool isPdu; /* BOOLEAN */
335 AsnInt localRefCount; /* INTEGER */
336 AsnInt importRefCount; /* INTEGER */
337 AsnInt tmpRefCount; /* INTEGER */
338 AsnBool visited; /* BOOLEAN */
339 MyString definedName; /* MyString */
340 struct Type *type; /* Type */
341 struct CTDI *cTypeDefInfo; /* CTDI */
342 struct CxxTDI *cxxTypeDefInfo; /* CxxTDI */
343 struct IDLTDI *idlTypeDefInfo; /* IDLTDI */
344 AttributeList *attrList; /* AttributeList */
345 TypeDefList *refList; /* TypeDefList */
346 AnyRefList *anyRefs; /* AnyRefList */
347 } TypeDef;
348
349
350
351
352 typedef struct Tag /* SEQUENCE */
353 {
354 AsnInt tclass; /* INTEGER */
355 AsnInt form; /* INTEGER */
356 AsnInt code; /* INTEGER */
357 AsnBool explicit; /* BOOLEAN */
358 struct Value *valueRef; /* Value */
359 } Tag;
360
361
362
363
364 typedef struct Type /* SEQUENCE */
365 {
366 AsnBool optional; /* BOOLEAN */
367 AsnBool implicit; /* BOOLEAN */
368 TagList *tags; /* TagList */
369 struct NamedValue *defaultVal; /* [0] IMPLICIT NamedValue OPTIONAL */
370 struct Subtype *subtypes; /* [1] Subtype OPTIONAL */
371 struct BasicType *basicType; /* [2] BasicType */
372 AsnInt lineNo; /* INTEGER */
373 struct CTRI *cTypeRefInfo; /* CTRI */
374 struct CxxTRI *cxxTypeRefInfo; /* CxxTRI */
375 struct IDLTRI *idlTypeRefInfo; /* IDLTRI */
376 AttributeList *attrList; /* AttributeList */
377 } Type;
378
379
380
381
382 typedef ValueDefList NamedNumberList; /* ValueDefList */
383
384
385
386
387 typedef struct BasicType /* CHOICE */
388 {
389 enum BasicTypeChoiceId
390 {
391 BASICTYPE_UNKNOWN,
392 BASICTYPE_BOOLEAN,
393 BASICTYPE_INTEGER,
394 BASICTYPE_BITSTRING,
395 BASICTYPE_OCTETSTRING,
396 BASICTYPE_NULL,
397 BASICTYPE_OID,
398 BASICTYPE_REAL,
399 BASICTYPE_ENUMERATED,
400 BASICTYPE_SEQUENCE,
401 BASICTYPE_SEQUENCEOF,
402 BASICTYPE_SET,
403 BASICTYPE_SETOF,
404 BASICTYPE_CHOICE,
405 BASICTYPE_SELECTION,
406 BASICTYPE_COMPONENTSOF,
407 BASICTYPE_ANY,
408 BASICTYPE_ANYDEFINEDBY,
409 BASICTYPE_LOCALTYPEREF,
410 BASICTYPE_IMPORTTYPEREF,
411 BASICTYPE_MACROTYPE,
412 BASICTYPE_MACRODEF
413 } choiceId;
414 union BasicTypeChoiceUnion
415 {
416 AsnNull unknown; /* [0] IMPLICIT NULL */
417 AsnNull boolean; /* [1] IMPLICIT NULL */
418 NamedNumberList *integer; /* [2] IMPLICIT NamedNumberList */
419 NamedNumberList *bitString; /* [3] IMPLICIT NamedNumberList */
420 AsnNull octetString; /* [4] IMPLICIT NULL */
421 AsnNull null; /* [5] IMPLICIT NULL */
422 AsnNull oid; /* [6] IMPLICIT NULL */
423 AsnNull real; /* [7] IMPLICIT NULL */
424 NamedNumberList *enumerated; /* [8] IMPLICIT NamedNumberList */
425 NamedTypeList *sequence; /* [9] IMPLICIT NamedTypeList */
426 struct Type *sequenceOf; /* [10] IMPLICIT Type */
427 NamedTypeList *set; /* [11] IMPLICIT NamedTypeList */
428 struct Type *setOf; /* [12] IMPLICIT Type */
429 NamedTypeList *choice; /* [13] IMPLICIT NamedTypeList */
430 struct SelectionType *selection; /* [14] IMPLICIT SelectionType */
431 struct Type *componentsOf; /* [15] IMPLICIT Type */
432 AsnNull any; /* [16] IMPLICIT NULL */
433 struct AnyDefinedByType *anyDefinedBy; /* [17] IMPLICIT AnyDefinedByType */
434 struct TypeRef *localTypeRef; /* [19] IMPLICIT TypeRef */
435 struct TypeRef *importTypeRef; /* [20] IMPLICIT TypeRef */
436 struct MacroType *macroType; /* [21] MacroType */
437 MacroDef macroDef; /* [22] IMPLICIT MacroDef */
438 } a;
439 } BasicType;
440
441
442
443
444 typedef struct MacroType /* CHOICE */
445 {
446 enum MacroTypeChoiceId
447 {
448 MACROTYPE_ROSOPERATION,
449 MACROTYPE_ROSERROR,
450 MACROTYPE_ROSBIND,
451 MACROTYPE_ROSUNBIND,
452 MACROTYPE_ROSASE,
453 MACROTYPE_ROSAC,
454 MACROTYPE_MTSASEXTENSION,
455 MACROTYPE_MTSASEXTENSIONS,
456 MACROTYPE_MTSASEXTENSIONATTRIBUTE,
457 MACROTYPE_MTSASTOKEN,
458 MACROTYPE_MTSASTOKENDATA,
459 MACROTYPE_MTSASSECURITYCATEGORY,
460 MACROTYPE_ASNOBJECT,
461 MACROTYPE_ASNPORT,
462 MACROTYPE_ASNREFINE,
463 MACROTYPE_ASNABSTRACTBIND,
464 MACROTYPE_ASNABSTRACTUNBIND,
465 MACROTYPE_ASNABSTRACTOPERATION,
466 MACROTYPE_ASNABSTRACTERROR,
467 MACROTYPE_AFALGORITHM,
468 MACROTYPE_AFENCRYPTED,
469 MACROTYPE_AFPROTECTED,
470 MACROTYPE_AFSIGNATURE,
471 MACROTYPE_AFSIGNED,
472 MACROTYPE_SNMPOBJECTTYPE
473 } choiceId;
474 union MacroTypeChoiceUnion
475 {
476 struct RosOperationMacroType *rosOperation; /* [0] IMPLICIT RosOperationMacroType */
477 struct RosErrorMacroType *rosError; /* [1] IMPLICIT RosErrorMacroType */
478 struct RosBindMacroType *rosBind; /* [2] IMPLICIT RosBindMacroType */
479 struct RosBindMacroType *rosUnbind; /* [3] IMPLICIT RosBindMacroType */
480 struct RosAseMacroType *rosAse; /* [4] IMPLICIT RosAseMacroType */
481 struct RosAcMacroType *rosAc; /* [5] IMPLICIT RosAcMacroType */
482 struct MtsasExtensionMacroType *mtsasExtension; /* [6] IMPLICIT MtsasExtensionMacroType */
483 struct MtsasExtensionsMacroType *mtsasExtensions; /* [7] IMPLICIT MtsasExtensionsMacroType */
484 struct MtsasExtensionAttributeMacroType *mtsasExtensionAttribute; /* [8] IMPLICIT MtsasExtensionAttributeMacroType */
485 struct MtsasTokenMacroType *mtsasToken; /* [9] IMPLICIT MtsasTokenMacroType */
486 struct MtsasTokenDataMacroType *mtsasTokenData; /* [10] IMPLICIT MtsasTokenDataMacroType */
487 struct MtsasSecurityCategoryMacroType *mtsasSecurityCategory; /* [11] IMPLICIT MtsasSecurityCategoryMacroType */
488 struct AsnObjectMacroType *asnObject; /* [12] IMPLICIT AsnObjectMacroType */
489 struct AsnPortMacroType *asnPort; /* [13] IMPLICIT AsnPortMacroType */
490 AsnRefineMacroType asnRefine; /* [14] IMPLICIT AsnRefineMacroType */
491 struct AsnAbstractBindMacroType *asnAbstractBind; /* [15] IMPLICIT AsnAbstractBindMacroType */
492 struct AsnAbstractBindMacroType *asnAbstractUnbind; /* [16] IMPLICIT AsnAbstractBindMacroType */
493 struct RosOperationMacroType *asnAbstractOperation; /* [17] IMPLICIT RosOperationMacroType */
494 struct RosErrorMacroType *asnAbstractError; /* [18] IMPLICIT RosErrorMacroType */
495 struct Type *afAlgorithm; /* [19] IMPLICIT Type */
496 struct Type *afEncrypted; /* [20] IMPLICIT Type */
497 struct Type *afProtected; /* [21] IMPLICIT Type */
498 struct Type *afSignature; /* [22] IMPLICIT Type */
499 struct Type *afSigned; /* [23] IMPLICIT Type */
500 struct SnmpObjectTypeMacroType *snmpObjectType; /* [24] IMPLICIT SnmpObjectTypeMacroType */
501 } a;
502 } MacroType;
503
504
505
506
507 typedef struct AnyDefinedByType /* SEQUENCE */
508 {
509 MyString fieldName; /* MyString */
510 struct NamedType *link; /* NamedType OPTIONAL */
511 } AnyDefinedByType;
512
513
514
515
516 typedef struct SelectionType /* SEQUENCE */
517 {
518 MyString fieldName; /* MyString */
519 struct Type *typeRef; /* Type */
520 struct NamedType *link; /* NamedType OPTIONAL */
521 } SelectionType;
522
523
524
525
526 typedef struct NamedType /* SEQUENCE */
527 {
528 MyString fieldName; /* MyString */
529 struct Type *type; /* Type */
530 } NamedType;
531
532
533
534
535 typedef struct TypeRef /* SEQUENCE */
536 {
537 MyString typeName; /* MyString */
538 MyString moduleName; /* MyString */
539 struct Module *module; /* Module */
540 struct TypeDef *link; /* TypeDef */
541 } TypeRef;
542
543
544
545
546 typedef struct RosOperationMacroType /* SEQUENCE */
547 {
548 struct NamedType *arguments; /* NamedType */
549 struct NamedType *result; /* NamedType */
550 TypeOrValueList *errors; /* [0] IMPLICIT TypeOrValueList OPTIONAL */
551 TypeOrValueList *linkedOps; /* [1] IMPLICIT TypeOrValueList OPTIONAL */
552 } RosOperationMacroType;
553
554
555
556
557 typedef struct TypeOrValue /* CHOICE */
558 {
559 enum TypeOrValueChoiceId
560 {
561 TYPEORVALUE_TYPE,
562 TYPEORVALUE_VALUE
563 } choiceId;
564 union TypeOrValueChoiceUnion
565 {
566 struct Type *type; /* [0] IMPLICIT Type */
567 struct Value *value; /* [1] IMPLICIT Value */
568 } a;
569 } TypeOrValue;
570
571
572
573
574 typedef struct RosErrorMacroType /* SEQUENCE */
575 {
576 struct NamedType *parameter; /* NamedType */
577 } RosErrorMacroType;
578
579
580
581
582 typedef struct RosBindMacroType /* SEQUENCE */
583 {
584 struct NamedType *argument; /* NamedType */
585 struct NamedType *result; /* NamedType */
586 struct NamedType *error; /* NamedType */
587 } RosBindMacroType;
588
589
590
591
592 typedef struct RosAseMacroType /* SEQUENCE */
593 {
594 ValueList *operations; /* ValueList */
595 ValueList *consumerInvokes; /* ValueList */
596 ValueList *supplierInvokes; /* ValueList */
597 } RosAseMacroType;
598
599
600
601
602 typedef struct RosAcMacroType /* SEQUENCE */
603 {
604 ValueList *nonRoElements; /* ValueList */
605 struct Type *bindMacroType; /* Type */
606 struct Type *unbindMacroType; /* Type */
607 struct Value *remoteOperations; /* Value */
608 ValueList *operationsOf; /* ValueList */
609 ValueList *initiatorConsumerOf; /* ValueList */
610 ValueList *responderConsumerOf; /* ValueList */
611 OidList *abstractSyntaxes; /* OidList */
612 } RosAcMacroType;
613
614
615
616
617 typedef struct MtsasExtensionMacroType /* SEQUENCE */
618 {
619 struct NamedType *elmtType; /* [0] IMPLICIT NamedType OPTIONAL */
620 struct Value *defaultValue; /* [1] IMPLICIT Value OPTIONAL */
621 AsnBool *criticalForSubmission; /* [2] IMPLICIT BOOLEAN OPTIONAL */
622 AsnBool *criticalForTransfer; /* [3] IMPLICIT BOOLEAN OPTIONAL */
623 AsnBool *criticalForDelivery; /* [4] IMPLICIT BOOLEAN OPTIONAL */
624 } MtsasExtensionMacroType;
625
626
627
628
629 typedef struct MtsasExtensionsMacroType /* SEQUENCE */
630 {
631 ValueList *extensions; /* ValueList */
632 } MtsasExtensionsMacroType;
633
634
635
636
637 typedef struct MtsasExtensionAttributeMacroType /* SEQUENCE */
638 {
639 struct Type *type; /* Type OPTIONAL */
640 } MtsasExtensionAttributeMacroType;
641
642
643
644
645 typedef struct MtsasTokenMacroType /* SEQUENCE */
646 {
647 struct Type *type; /* Type OPTIONAL */
648 } MtsasTokenMacroType;
649
650
651
652
653 typedef struct MtsasTokenDataMacroType /* SEQUENCE */
654 {
655 struct Type *type; /* Type OPTIONAL */
656 } MtsasTokenDataMacroType;
657
658
659
660
661 typedef struct MtsasSecurityCategoryMacroType /* SEQUENCE */
662 {
663 struct Type *type; /* Type OPTIONAL */
664 } MtsasSecurityCategoryMacroType;
665
666
667
668
669 typedef struct AsnObjectMacroType /* SEQUENCE */
670 {
671 AsnPortList *ports; /* AsnPortList OPTIONAL */
672 } AsnObjectMacroType;
673
674
675
676
677 typedef struct AsnPort /* SEQUENCE */
678 {
679 struct Value *portValue; /* Value */
680 AsnPortEnum portType; /* AsnPortEnum */
681 } AsnPort;
682
683
684
685
686 typedef struct AsnPortMacroType /* SEQUENCE */
687 {
688 TypeOrValueList *abstractOps; /* [0] IMPLICIT TypeOrValueList OPTIONAL */
689 TypeOrValueList *consumerInvokes; /* [1] IMPLICIT TypeOrValueList OPTIONAL */
690 TypeOrValueList *supplierInvokes; /* [2] IMPLICIT TypeOrValueList OPTIONAL */
691 } AsnPortMacroType;
692
693
694
695
696 typedef struct AsnAbstractBindMacroType /* SEQUENCE */
697 {
698 AsnPortList *ports; /* [0] IMPLICIT AsnPortList OPTIONAL */
699 struct Type *type; /* [1] IMPLICIT Type OPTIONAL */
700 } AsnAbstractBindMacroType;
701
702
703
704
705 typedef struct SnmpObjectTypeMacroType /* SEQUENCE */
706 {
707 struct Type *syntax; /* Type */
708 SnmpObjectTypeMacroTypeEnum access; /* SnmpObjectTypeMacroTypeEnum */
709 SnmpObjectTypeMacroTypeEnum1 status; /* SnmpObjectTypeMacroTypeEnum1 */
710 struct Value *description; /* [0] IMPLICIT Value OPTIONAL */
711 struct Value *reference; /* [1] IMPLICIT Value OPTIONAL */
712 TypeOrValueList *index; /* [2] IMPLICIT TypeOrValueList OPTIONAL */
713 struct Value *defVal; /* [3] IMPLICIT Value OPTIONAL */
714 } SnmpObjectTypeMacroType;
715
716
717
718
719 typedef struct Subtype /* CHOICE */
720 {
721 enum SubtypeChoiceId
722 {
723 SUBTYPE_SINGLE,
724 SUBTYPE_AND,
725 SUBTYPE_OR,
726 SUBTYPE_NOT
727 } choiceId;
728 union SubtypeChoiceUnion
729 {
730 struct SubtypeValue *single; /* [0] SubtypeValue */
731 SubtypeList *and; /* [1] IMPLICIT SubtypeList */
732 SubtypeList *or; /* [2] IMPLICIT SubtypeList */
733 struct Subtype *not; /* [3] Subtype */
734 } a;
735 } Subtype;
736
737
738
739
740 typedef struct SubtypeValue /* CHOICE */
741 {
742 enum SubtypeValueChoiceId
743 {
744 SUBTYPEVALUE_SINGLEVALUE,
745 SUBTYPEVALUE_CONTAINED,
746 SUBTYPEVALUE_VALUERANGE,
747 SUBTYPEVALUE_PERMITTEDALPHABET,
748 SUBTYPEVALUE_SIZECONSTRAINT,
749 SUBTYPEVALUE_INNERSUBTYPE
750 } choiceId;
751 union SubtypeValueChoiceUnion
752 {
753 struct Value *singleValue; /* [0] IMPLICIT Value */
754 struct Type *contained; /* [1] IMPLICIT Type */
755 struct ValueRangeSubtype *valueRange; /* [2] IMPLICIT ValueRangeSubtype */
756 struct Subtype *permittedAlphabet; /* [3] Subtype */
757 struct Subtype *sizeConstraint; /* [4] Subtype */
758 struct InnerSubtype *innerSubtype; /* [5] IMPLICIT InnerSubtype */
759 } a;
760 } SubtypeValue;
761
762
763
764
765 typedef struct ValueRangeSubtype /* SEQUENCE */
766 {
767 AsnBool lowerEndInclusive; /* BOOLEAN */
768 AsnBool upperEndInclusive; /* BOOLEAN */
769 struct Value *lowerEndValue; /* Value */
770 struct Value *upperEndValue; /* Value */
771 } ValueRangeSubtype;
772
773
774
775
776 typedef struct InnerSubtype /* SEQUENCE */
777 {
778 InnerSubtypeEnum constraintType; /* InnerSubtypeEnum */
779 ConstraintList *constraints; /* ConstraintList */
780 } InnerSubtype;
781
782
783
784
785 typedef struct Constraint /* SEQUENCE */
786 {
787 MyString fieldRef; /* MyString */
788 ConstraintEnum presenceConstraint; /* ConstraintEnum */
789 struct Subtype *valueConstraints; /* Subtype */
790 } Constraint;
791
792
793
794
795 typedef struct ValueDef /* SEQUENCE */
796 {
797 AsnBool exported; /* BOOLEAN */
798 MyString definedName; /* MyString */
799 struct Value *value; /* Value */
800 } ValueDef;
801
802
803
804
805 typedef struct Value /* SEQUENCE */
806 {
807 struct Type *type; /* Type OPTIONAL */
808 AsnInt valueType; /* INTEGER */
809 struct BasicValue *basicValue; /* BasicValue */
810 AsnInt lineNo; /* INTEGER */
811 } Value;
812
813
814
815
816 typedef struct BasicValue /* CHOICE */
817 {
818 enum BasicValueChoiceId
819 {
820 BASICVALUE_UNKNOWN,
821 BASICVALUE_EMPTY,
822 BASICVALUE_INTEGER,
823 BASICVALUE_SPECIALINTEGER,
824 BASICVALUE_LONGINTEGER,
825 BASICVALUE_BOOLEAN,
826 BASICVALUE_REAL,
827 BASICVALUE_SPECIALREAL,
828 BASICVALUE_ASCIITEXT,
829 BASICVALUE_ASCIIHEX,
830 BASICVALUE_ASCIIBITSTRING,
831 BASICVALUE_OID,
832 BASICVALUE_LINKEDOID,
833 BASICVALUE_BERVALUE,
834 BASICVALUE_PERVALUE,
835 BASICVALUE_NAMEDVALUE,
836 BASICVALUE_NULL,
837 BASICVALUE_LOCALVALUEREF,
838 BASICVALUE_IMPORTVALUEREF,
839 BASICVALUE_VALUENOTATION
840 } choiceId;
841 union BasicValueChoiceUnion
842 {
843 AsnNull unknown; /* [0] IMPLICIT NULL */
844 AsnNull empty; /* [1] IMPLICIT NULL */
845 AsnInt integer; /* [2] IMPLICIT INTEGER */
846 SpecialIntegerValue specialInteger; /* [3] IMPLICIT SpecialIntegerValue */
847 AsnInt longInteger; /* [4] IMPLICIT INTEGER */
848 AsnBool boolean; /* [5] IMPLICIT BOOLEAN */
849 AsnReal real; /* [6] IMPLICIT REAL */
850 SpecialRealValue specialReal; /* [7] IMPLICIT SpecialRealValue */
851 AsnOcts *asciiText; /* [8] IMPLICIT OCTET STRING */
852 AsnOcts *asciiHex; /* [9] IMPLICIT OCTET STRING */
853 AsnOcts *asciiBitString; /* [10] IMPLICIT OCTET STRING */
854 AsnOid *oid; /* [11] IMPLICIT OBJECT IDENTIFIER */
855 OID *linkedOid; /* [12] IMPLICIT OBJECT IDENTIFIER */
856 AsnOcts *berValue; /* [13] IMPLICIT OCTET STRING */
857 AsnOcts *perValue; /* [14] IMPLICIT OCTET STRING */
858 struct NamedValue *namedValue; /* [15] IMPLICIT NamedValue */
859 AsnNull null; /* [16] IMPLICIT NULL */
860 struct ValueRef *localValueRef; /* [17] IMPLICIT ValueRef */
861 struct ValueRef *importValueRef; /* [18] IMPLICIT ValueRef */
862 AsnOcts *valueNotation; /* [19] IMPLICIT OCTET STRING */
863 } a;
864 } BasicValue;
865
866
867
868
869 typedef struct ValueRef /* SEQUENCE */
870 {
871 MyString valueName; /* MyString */
872 MyString moduleName; /* MyString */
873 struct ValueDef *link; /* ValueDef */
874 struct Module *module; /* Module */
875 } ValueRef;
876
877
878
879
880 typedef struct NamedValue /* SEQUENCE */
881 {
882 MyString fieldName; /* MyString */
883 struct Value *value; /* Value */
884 } NamedValue;
885
886
887
888
889 typedef AsnList ModuleList; /* SEQUENCE OF Module */
890
891
892
893
894 typedef struct Modules /* [APPLICATION 0] IMPLICIT SEQUENCE */
895 {
896 AsnInt creationTime; /* INTEGER */
897 ModuleList *modules; /* ModuleList */
898 } Modules;
899
900
901
902
903 typedef AsnList NamedValueList; /* SEQUENCE OF NamedValue */
904
905
906 typedef struct CTDI /* SEQUENCE */
907 {
908 enum BasicTypeChoiceId asn1TypeId; /* INTEGER */
909 CTypeId cTypeId; /* CTypeId */
910 MyString cTypeName; /* MyString */
911 AsnBool isPdu; /* BOOLEAN */
912 AsnBool isEncDec; /* BOOLEAN */
913 AsnBool isPtrForTypeDef; /* BOOLEAN */
914 AsnBool isPtrForTypeRef; /* BOOLEAN */
915 AsnBool isPtrInChoice; /* BOOLEAN */
916 AsnBool isPtrForOpt; /* BOOLEAN */
917 MyString optTestRoutineName; /* MyString */
918 MyString defaultFieldName; /* MyString */
919 MyString printRoutineName; /* MyString */
920 MyString encodeRoutineName; /* MyString */
921 MyString decodeRoutineName; /* MyString */
922 MyString freeRoutineName; /* MyString */
923 AsnBool genPrintRoutine; /* BOOLEAN */
924 AsnBool genEncodeRoutine; /* BOOLEAN */
925 AsnBool genDecodeRoutine; /* BOOLEAN */
926 AsnBool genFreeRoutine; /* BOOLEAN */
927 AsnBool genTypeDef; /* BOOLEAN */
928 } CTDI;
929
930
931
932
933 typedef struct CNamedElmt /* SEQUENCE */
934 {
935 MyString name; /* MyString */
936 AsnInt value; /* INTEGER */
937 } CNamedElmt;
938
939
940
941
942 typedef struct CxxTDI /* SEQUENCE */
943 {
944 enum BasicTypeChoiceId asn1TypeId; /* INTEGER */
945 MyString className; /* MyString */
946 AsnBool isPdu; /* BOOLEAN */
947 AsnBool isEnc; /* BOOLEAN */
948 AsnBool isPtrForTypeDef; /* BOOLEAN */
949 AsnBool isPtrForOpt; /* BOOLEAN */
950 AsnBool isPtrInChoice; /* BOOLEAN */
951 AsnBool isPtrInSetAndSeq; /* BOOLEAN */
952 AsnBool isPtrInList; /* BOOLEAN */
953 MyString optTestRoutineName; /* MyString */
954 MyString defaultFieldName; /* MyString */
955 } CxxTDI;
956
957 typedef struct IDLTDI /* SEQUENCE */
958 {
959 enum BasicTypeChoiceId asn1TypeId; /* INTEGER */
960 MyString typeName; /* MyString */
961 AsnBool isPdu; /* BOOLEAN */
962 AsnBool isEnc; /* BOOLEAN */
963 AsnBool isPtrForTypeDef; /* BOOLEAN */
964 AsnBool isPtrForOpt; /* BOOLEAN */
965 AsnBool isPtrInChoice; /* BOOLEAN */
966 AsnBool isPtrInSetAndSeq; /* BOOLEAN */
967 AsnBool isPtrInList; /* BOOLEAN */
968 MyString optTestRoutineName; /* MyString */
969 MyString defaultFieldName; /* MyString */
970 } IDLTDI;
971
972
973
974
975 typedef AsnList CNamedElmts; /* SEQUENCE OF CNamedElmt */
976
977
978
979
980 typedef struct CxxTRI /* SEQUENCE */
981 {
982 AsnBool isEnc; /* BOOLEAN */
983 MyString className; /* MyString */
984 MyString fieldName; /* MyString */
985 AsnBool isPtr; /* BOOLEAN */
986 CNamedElmts *namedElmts; /* CNamedElmts */
987 MyString choiceIdSymbol; /* MyString */
988 AsnInt choiceIdValue; /* INTEGER */
989 MyString optTestRoutineName; /* MyString */
990 } CxxTRI;
991
992 typedef struct IDLTRI /* SEQUENCE */
993 {
994 AsnBool isEnc; /* BOOLEAN */
995 MyString typeName; /* MyString */
996 MyString fieldName; /* MyString */
997 AsnBool isPtr; /* BOOLEAN */
998 CNamedElmts *namedElmts; /* CNamedElmts */
999 MyString choiceIdSymbol; /* MyString */
1000 AsnInt choiceIdValue; /* INTEGER */
1001 MyString optTestRoutineName; /* MyString */
1002 } IDLTRI;
1003
1004
1005
1006
1007 typedef struct CTRI /* SEQUENCE */
1008 {
1009 CTypeId cTypeId; /* CTypeId */
1010 MyString cFieldName; /* MyString */
1011 MyString cTypeName; /* MyString */
1012 AsnBool isPtr; /* BOOLEAN */
1013 CNamedElmts *cNamedElmts; /* CNamedElmts OPTIONAL */
1014 AsnInt choiceIdValue; /* INTEGER */
1015 MyString choiceIdSymbol; /* MyString */
1016 MyString choiceIdEnumName; /* MyString */
1017 MyString choiceIdEnumFieldName; /* MyString */
1018 MyString optTestRoutineName; /* MyString */
1019 MyString printRoutineName; /* MyString */
1020 MyString encodeRoutineName; /* MyString */
1021 MyString decodeRoutineName; /* MyString */
1022 MyString freeRoutineName; /* MyString */
1023 AsnBool isEncDec; /* BOOLEAN */
1024 } CTRI;
1025
1026
1027
1028 #endif /* conditional include of asn1module.h */