1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142
|
/*
* compiler/core/print.h
*
* These are the prototypes for the typetree printing
* routines. Attempts to convert a typetree back into its original
* ASN.1 def.
*
* Mike Sample
* Mar 3/91
*
* Rewritten 91/09/05
*
* Copyright (C) 1991, 1992 Michael Sample
* and the University of British Columbia
*
* This program is free software; you can redistribute it and/or modify
* it under the terms of the GNU General Public License as published by
* the Free Software Foundation; either version 2 of the License, or
* (at your option) any later version.
*
* $Header: /baseline/SNACC/compiler/core/print.h,v 1.2 2001/07/12 19:34:33 leonberp Exp $
* $Log: print.h,v $
* Revision 1.2 2001/07/12 19:34:33 leonberp
* Changed namespace to SNACC and added compiler options: -ns and -nons. Also removed dead code.
*
* Revision 1.1.1.1 2000/08/21 20:36:01 leonberp
* First CVS Version of SNACC.
*
* Revision 1.2 1994/10/08 03:48:56 rj
* 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.
*
* Revision 1.1 1994/08/28 09:49:33 rj
* first check-in. for a list of changes to the snacc-1.1 distribution please refer to the ChangeLog.
*
*/
void PrintModule PROTO ((FILE *f, Module *mod));
void PrintExports PROTO ((FILE *f, Module *m));
void PrintOid PROTO ((FILE *f, OID *oid));
void PrintImportElmt PROTO ((FILE *f, ImportElmt *impElmt));
void PrintImportLists PROTO ((FILE *f, ImportModuleList *impLists));
void PrintTypeDefs PROTO ((FILE *f, TypeDefList *typeDefs));
void PrintType PROTO ((FILE *f, TypeDef *head, Type *t));
void PrintBasicType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt));
void PrintElmtType PROTO ((FILE *f, TypeDef *head, Type *t, NamedType *nt));
void PrintElmtTypes PROTO ((FILE *f, TypeDef *head, Type *t, NamedTypeList *e));
void PrintValueDefs PROTO ((FILE *f, ValueDefList *v));
void PrintValueDef PROTO ((FILE *f, ValueDef *v));
void PrintValue PROTO ((FILE *f, ValueDef *head, Type *valuesType, Value *v));
void PrintBasicValue PROTO ((FILE *f, ValueDef *head, Type *valuesType, Value *v, BasicValue *bv));
void PrintElmtValue PROTO ((FILE *f, ValueDef *head, Value *v, NamedValue *nv));
void PrintElmtValues PROTO ((FILE *f, ValueDef *head, Value *v, NamedValueList *e));
void PrintTag PROTO ((FILE *f, Tag *tag));
void PrintSubtype PROTO ((FILE *f, TypeDef *head, Type *t, Subtype *s));
void PrintSubtypeValue PROTO ((FILE *f, TypeDef *head, Type *t, SubtypeValue *s));
void PrintNamedElmts PROTO ((FILE *f, TypeDef *head, Type *t, ValueDefList *n));
void PrintInnerSubtype PROTO ((FILE *f, TypeDef *head, Type *t, InnerSubtype *i));
void PrintMultipleTypeConstraints PROTO ((FILE *f, TypeDef *head, Type *t, ConstraintList *c));
void PrintTypeById PROTO ((FILE *f, int typeId));
void PrintRosOperationMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosOperationMacroType *op));
void PrintRosErrorMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosErrorMacroType *err));
void PrintRosBindMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosBindMacroType *bind));
void PrintRosAseMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosAseMacroType *ase));
void PrintRosAcMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, RosAcMacroType *ac));
void PrintMtsasExtensionsMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasExtensionsMacroType *exts));
void PrintMtsasExtensionMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasExtensionMacroType *ext));
void PrintMtsasExtensionAttributeMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasExtensionAttributeMacroType *ext));
void PrintMtsasTokenMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasTokenMacroType *tok));
void PrintMtsasTokenDataMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasTokenDataMacroType *tok));
void PrintMtsasSecurityCategoryMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, MtsasSecurityCategoryMacroType *sec));
void PrintAsnObjectMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, AsnObjectMacroType *obj));
void PrintAsnPortMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, AsnPortMacroType *p));
void PrintAsnAbstractBindMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, AsnAbstractBindMacroType *bind));
void PrintAfAlgorithmMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *alg));
void PrintAfEncryptedMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *encrypt));
void PrintAfSignedMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *sign));
void PrintAfSignatureMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *sig));
void PrintAfProtectedMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, Type *p));
void PrintSnmpObjectTypeMacroType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt, SnmpObjectTypeMacroType *ot));
void PrintMacroDef PROTO ((FILE *f, TypeDef *head));
void PrintEncodedOid PROTO ((FILE *f, AsnOid *eoid));
void SpecialPrintType PROTO ((FILE *f, TypeDef *head, Type *t));
void SpecialPrintBasicType PROTO ((FILE *f, TypeDef *head, Type *t, BasicType *bt));
void SpecialPrintNamedElmts PROTO ((FILE *f, TypeDef *head, Type *t));
#ifdef WIN32
int snacc_snprintf(char *dst, size_t destsz, const char *format, ...);
#else
#define snacc_snprintf snprintf
#endif
|