1 # ifndef FORWARDTYPES_H
2 # define FORWARDTYPES_H
4 # include "lclForwardTypes.h"
7 /* Microsoft doesn't support ISO C99 yet */
11 abst_typedef /*@null@*/ struct s_sRef *sRef;
12 abst_typedef /*@null@*/ struct s_uentry *uentry;
13 typedef struct s_hashNode *hashNode;
14 immut_typedef int typeIdSet;
15 typedef /*@only@*/ uentry o_uentry;
16 abst_typedef struct s_mttok *mttok;
17 abst_typedef /*@null@*/ struct s_idDecl *idDecl;
18 abst_typedef /*@null@*/ struct s_usymtab *usymtab;
19 abst_typedef /*@null@*/ struct s_exprNode *exprNode;
20 abst_typedef /*@null@*/ struct s_guardSet *guardSet;
21 abst_typedef /*@null@*/ struct s_sRefSet *sRefSet;
22 abst_typedef /*@null@*/ struct s_sRefList *sRefList ;
23 abst_typedef /*@null@*/ struct s_aliasTable *aliasTable;
24 abst_typedef /*@null@*/ struct s_fileloc *fileloc;
25 abst_typedef /*@null@*/ struct s_cstringTable *cstringTable;
26 abst_typedef /*@null@*/ struct s_genericTable *genericTable;
27 abst_typedef /*@null@*/ struct s_annotationInfo *annotationInfo;
28 abst_typedef /*@null@*/ struct s_inputStream *inputStream;
29 abst_typedef /*@null@*/ struct s_stateValue *stateValue;
30 abst_typedef /*@null@*/ struct s_pointers *pointers;
31 abst_typedef /*@null@*/ genericTable valueTable;
32 abst_typedef /*@null@*/ genericTable metaStateTable;
33 abst_typedef /*@null@*/ genericTable annotationTable;
34 abst_typedef /*@null@*/ struct s_metaStateInfo *metaStateInfo;
36 abst_typedef /*@null@*/ struct s_functionConstraint *functionConstraint;
37 abst_typedef struct s_metaStateConstraint *metaStateConstraint;
38 abst_typedef /*@null@*/ struct s_metaStateConstraintList *metaStateConstraintList ;
39 abst_typedef struct s_metaStateSpecifier *metaStateSpecifier;
40 abst_typedef /*@null@*/ struct s_metaStateExpression *metaStateExpression;
42 abst_typedef /*@null@*/ struct s_functionClause *functionClause;
43 abst_typedef /*@null@*/ struct s_functionClauseList *functionClauseList;
45 abst_typedef struct s_globalsClause *globalsClause;
46 abst_typedef struct s_modifiesClause *modifiesClause;
47 abst_typedef /*@null@*/ struct s_warnClause *warnClause;
48 abst_typedef struct s_stateClause *stateClause;
50 abst_typedef /*@null@*/ struct s_stateClauseList *stateClauseList;
52 /* The mt grammar nodes: */
53 abst_typedef struct s_mtDeclarationNode *mtDeclarationNode;
54 abst_typedef /*@null@*/ struct s_mtDeclarationPiece *mtDeclarationPiece;
55 abst_typedef /*@null@*/ struct s_mtDeclarationPieces *mtDeclarationPieces;
56 abst_typedef /*@null@*/ struct s_mtContextNode *mtContextNode;
57 abst_typedef struct s_mtValuesNode *mtValuesNode;
58 abst_typedef struct s_mtDefaultsNode *mtDefaultsNode;
59 abst_typedef /*@null@*/ struct s_mtDefaultsDeclList *mtDefaultsDeclList;
60 abst_typedef struct s_mtDefaultsDecl *mtDefaultsDecl;
61 abst_typedef struct s_mtAnnotationsNode *mtAnnotationsNode;
62 abst_typedef /*@null@*/ struct s_mtAnnotationList *mtAnnotationList;
63 abst_typedef struct s_mtAnnotationDecl *mtAnnotationDecl;
64 abst_typedef struct s_mtMergeNode *mtMergeNode;
65 abst_typedef struct s_mtMergeItem *mtMergeItem;
66 abst_typedef /*@null@*/ struct s_mtMergeClauseList *mtMergeClauseList;
67 abst_typedef struct s_mtMergeClause *mtMergeClause;
68 abst_typedef /*@null@*/ struct s_mtTransferClauseList *mtTransferClauseList;
69 abst_typedef struct s_mtTransferClause *mtTransferClause;
70 abst_typedef /*@null@*/ struct s_mtLoseReferenceList *mtLoseReferenceList;
71 abst_typedef struct s_mtLoseReference *mtLoseReference;
72 abst_typedef struct s_mtTransferAction *mtTransferAction;
73 abst_typedef sRefSet globSet;
75 abst_typedef /*@null@*/ struct s_constraint *constraint;
76 abst_typedef /*@null@*/ struct s_constraintList *constraintList;
78 abst_typedef /*@null@*/ struct s_ctypeList *ctypeList;
79 abst_typedef /*@null@*/ ctypeList fileIdList;
81 /* DRL modified 9 26 00 */
83 abst_typedef /*@null@*/ struct s_constraintExpr *constraintExpr;
85 abst_typedef /*@untainted@*/ /*@null@*/ char *cstring;
86 typedef /*@only@*/ cstring o_cstring;
88 abst_typedef /*@null@*/ struct s_cstringSList *cstringSList;
90 typedef enum e_LSLInitRuleCode LSLInitRuleCode;
92 immut_typedef int ctype;
95 typedef bool (*sRefTest) (sRef);
97 /* sRef, fileloc -> void; modifies sRef */
98 typedef void (*sRefMod) (sRef, fileloc);
100 /* sRef, int, fileloc -> void; modifies sRef */
101 typedef void (*sRefModVal) (sRef, int, fileloc);
104 typedef void (*sRefShower) (sRef);
107 # error "Multiple include"