Subversion Repositories pentevo

Rev

Blame | Last modification | View Log | Download | RSS feed | ?url?

  1. #ifndef LSTMACROEXP_H
  2. #define LSTMACROEXP_H
  3. /* lstmacroexp.h */
  4. /*****************************************************************************/
  5. /* SPDX-License-Identifier: GPL-2.0-only OR GPL-3.0-only                     */
  6. /*                                                                           */
  7. /* AS-Portierung                                                             */
  8. /*                                                                           */
  9. /* Functions & variables regarding macro expansion in listing                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12.  
  13. #include "datatypes.h"
  14.  
  15. typedef enum
  16. {
  17.   eLstMacroExpNone = 0,
  18.   eLstMacroExpRest = 1,
  19.   eLstMacroExpIf = 2,
  20.   eLstMacroExpMacro = 4,
  21.   eLstMacroExpAll = eLstMacroExpRest | eLstMacroExpIf | eLstMacroExpMacro
  22. } tLstMacroExp;
  23.  
  24. #ifdef __cplusplus
  25. #include "cppops.h"
  26. DefCPPOps_Mask(tLstMacroExp)
  27. #endif
  28.  
  29. #define LSTMACROEXPMOD_MAX 8
  30.  
  31. typedef struct
  32. {
  33.   unsigned Count;
  34.   Byte Modifiers[LSTMACROEXPMOD_MAX];
  35. } tLstMacroExpMod;
  36.  
  37. extern void SetLstMacroExp(tLstMacroExp NewMacroExp);
  38. extern tLstMacroExp GetLstMacroExp(void);
  39.  
  40. extern void InitLstMacroExpMod(tLstMacroExpMod *pLstMacroExpMod);
  41.  
  42. extern Boolean AddLstMacroExpMod(tLstMacroExpMod *pLstMacroExpMod, Boolean Set, tLstMacroExp Mod);
  43.  
  44. extern Boolean ChkLstMacroExpMod(const tLstMacroExpMod *pLstMacroExpMod);
  45.  
  46. extern void DumpLstMacroExpMod(const tLstMacroExpMod *pLstMacroExpMod, char *pDest, int DestLen);
  47.  
  48. extern tLstMacroExp ApplyLstMacroExpMod(tLstMacroExp Src, const tLstMacroExpMod *pLstMacroExpMod);
  49.  
  50. #endif /* LSTMACROEXP_H */
  51.