home *** CD-ROM | disk | FTP | other *** search
/ PC-Online 1996 May / PCOnline_05_1996.bin / linux / source / xap / xfm / xfm-1.000 / xfm-1 / xfm-1.3.2 / src / magic.h < prev    next >
Encoding:
C/C++ Source or Header  |  1995-04-04  |  950 b   |  49 lines

  1. /*-----------------------------------------------------------------------------
  2.   magic.h
  3.   
  4.   (c) Juan D. Martin 1995
  5.   (c) CNM-US 1995
  6.  
  7. -----------------------------------------------------------------------------*/
  8. #ifndef MAGIC_H
  9. #define MAGIC_H
  10.  
  11. #include "regexp.h"
  12.  
  13. #define M_LONG        0x0
  14. #define M_SHORT        0x1
  15. #define M_BYTE        0x2
  16. #define M_STRING    0x3
  17. #define M_MODE        0x4
  18. #define M_LMODE        0x5
  19. #define M_BUILTIN    0x6
  20. #define M_REGEXP    0x7
  21. #define M_TYPE        0xF        /* Mask for all types. */
  22. #define M_MASKED    0x10        /* Value is masked. */
  23. #define M_EQ        (0x0<<5)
  24. #define M_LT        (0x1<<5)
  25. #define M_GT        (0x2<<5)
  26. #define M_SET        (0x3<<5)
  27. #define M_OR        (0x4<<5)
  28. #define M_ANY        (0x5<<5)
  29. #define M_OP        (0x7<<5)    /* Mask for operations. */
  30.  
  31. typedef union
  32. {
  33.     long number;
  34.     char *string;
  35.     regexp *expr;
  36. } m_un;
  37.  
  38. typedef struct
  39. {
  40.     off_t offset;
  41.     m_un value;
  42.     long mask;
  43.     int flags;
  44.     char *message;
  45.     int subtypes;
  46. } hmagic;
  47.  
  48. #endif /* MAGIC_H */
  49.