]> git.saurik.com Git - apple/security.git/blob - SecuritySNACCRuntime/compiler/core/print.h
Security-28.tar.gz
[apple/security.git] / SecuritySNACCRuntime / compiler / core / print.h
1 /*
2 * compiler/core/print.h
3 *
4 * These are the prototypes for the typetree printing
5 * routines. Attempts to convert a typetree back into its original
6 * ASN.1 def.
7 *
8 * Mike Sample
9 * Mar 3/91
10 *
11 * Rewritten 91/09/05
12 *
13 * Copyright (C) 1991, 1992 Michael Sample
14 * and the University of British Columbia
15 *
16 * This program is free software; you can redistribute it and/or modify
17 * it under the terms of the GNU General Public License as published by
18 * the Free Software Foundation; either version 2 of the License, or
19 * (at your option) any later version.
20 *
21 * $Header: /cvs/Darwin/Security/SecuritySNACCRuntime/compiler/core/print.h,v 1.1 2001/06/20 21:27:58 dmitch Exp $
22 * $Log: print.h,v $
23 * Revision 1.1 2001/06/20 21:27:58 dmitch
24 * Adding missing snacc compiler files.
25 *
26 * Revision 1.1.1.1 1999/03/16 18:06:52 aram
27 * Originals from SMIME Free Library.
28 *
29 * Revision 1.2 1994/10/08 03:48:56 rj
30 * since i was still irritated by cpp standing for c++ and not the C preprocessor, i renamed them to cxx (which is one known suffix for C++ source files). since the standard #define is __cplusplus, cplusplus would have been the more obvious choice, but it is a little too long.
31 *
32 * Revision 1.1 1994/08/28 09:49:33 rj
33 * first check-in. for a list of changes to the snacc-1.1 distribution please refer to the ChangeLog.
34 *
35 */
36
37
38
39
40 void PrintModule PROTO ((FILE *f, Module *mod));
41
42 void PrintExports PROTO ((FILE *f, Module *m));
43
44 void PrintOid PROTO ((FILE *f, OID *oid));
45
46 void PrintImportElmt PROTO ((FILE *f, ImportElmt *impElmt));
47
48 void PrintImportLists PROTO ((FILE *f, ImportModuleList *impLists));
49
50 void PrintTypeDefs PROTO ((FILE *f, TypeDefList *typeDefs));
51
52 void PrintType PROTO ((FILE *f, TypeDef *head, Type *t));
53
54 void PrintBasicType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt));
55
56 void PrintElmtType PROTO ((FILE *f, TypeDef *head, Type *t, NamedType *nt));
57
58 void PrintElmtTypes PROTO ((FILE *f, TypeDef *head, Type *t, NamedTypeList *e));
59
60 void PrintValueDefs PROTO ((FILE *f, ValueDefList *v));
61
62 void PrintValueDef PROTO ((FILE *f, ValueDef *v));
63
64 void PrintValue PROTO ((FILE *f, ValueDef *head, Type *valuesType, Value *v));
65
66 void PrintBasicValue PROTO ((FILE *f, ValueDef *head, Type *valuesType, Value *v, BasicValue *bv));
67
68 void PrintElmtValue PROTO ((FILE *f, ValueDef *head, Value *v, NamedValue *nv));
69
70 void PrintElmtValues PROTO ((FILE *f, ValueDef *head, Value *v, NamedValueList *e));
71
72 void PrintTag PROTO ((FILE *f, Tag *tag));
73
74 void PrintSubtype PROTO ((FILE *f, TypeDef *head, Type *t, Subtype *s));
75
76 void PrintSubtypeValue PROTO ((FILE *f, TypeDef *head, Type *t, SubtypeValue *s));
77
78 void PrintNamedElmts PROTO ((FILE *f, TypeDef *head, Type *t, ValueDefList *n));
79
80 void PrintInnerSubtype PROTO ((FILE *f, TypeDef *head, Type *t, InnerSubtype *i));
81
82 void PrintMultipleTypeConstraints PROTO ((FILE *f, TypeDef *head, Type *t, ConstraintList *c));
83
84 void PrintTypeById PROTO ((FILE *f, int typeId));
85
86
87 void PrintRosOperationMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosOperationMacroType *op));
88
89 void PrintRosErrorMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosErrorMacroType *err));
90
91 void PrintRosBindMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosBindMacroType *bind));
92
93 void PrintRosAseMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosAseMacroType *ase));
94
95 void PrintRosAcMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosAcMacroType *ac));
96
97 void PrintMtsasExtensionsMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasExtensionsMacroType *exts));
98
99 void PrintMtsasExtensionMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasExtensionMacroType *ext));
100
101 void PrintMtsasExtensionAttributeMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasExtensionAttributeMacroType *ext));
102
103 void PrintMtsasTokenMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasTokenMacroType *tok));
104
105 void PrintMtsasTokenDataMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasTokenDataMacroType *tok));
106
107 void PrintMtsasSecurityCategoryMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasSecurityCategoryMacroType *sec));
108
109 void PrintAsnObjectMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, AsnObjectMacroType *obj));
110
111 void PrintAsnPortMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, AsnPortMacroType *p));
112
113 void PrintAsnAbstractBindMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, AsnAbstractBindMacroType *bind));
114
115 void PrintAfAlgorithmMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *alg));
116
117 void PrintAfEncryptedMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *encrypt));
118
119 void PrintAfSignedMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *sign));
120
121 void PrintAfSignatureMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *sig));
122
123 void PrintAfProtectedMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *p));
124
125 void PrintSnmpObjectTypeMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, SnmpObjectTypeMacroType *ot));
126
127 void PrintMacroDef PROTO ((FILE *f, TypeDef *head));
128
129 void PrintEncodedOid PROTO ((FILE *f, AsnOid *eoid));
130
131
132 void SpecialPrintType PROTO ((FILE *f, TypeDef *head, Type *t));
133
134 void SpecialPrintBasicType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt));
135
136 void SpecialPrintNamedElmts PROTO ((FILE *f, TypeDef *head, Type *t));