home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ctcoll95.zip / AEHNLICH / BITFLD.H < prev    next >
Text File  |  1995-04-06  |  723b  |  23 lines

  1. /* Defininitionen und Makros fuer Bitfelder.
  2.  * Ein Bitfeld ist in dieser Version einfach vom Typ unsigned int.
  3.  * Bit(feld)operationen sind also elementar.
  4.  *
  5.  * (c) Guido Gronek, Lion Ges. f. Systementwicklung m.b.H. & c't 5/95
  6.  */
  7.  
  8. typedef unsigned BITFLD;
  9.  
  10. #define BITFLD_MAX      31
  11.  
  12. #define BITCLR(B,n)     ( (B) &= ~(1L<<(n)) )
  13. #define BITSET(B,n)     ( (B) |= (1L<<(n)) )
  14. #define BITISCLR(B,n)   ( ((B) & (1L<<(n)))==0 )
  15. #define BITISSET(B,n)   ( ((B) & (1L<<(n))) )
  16.  
  17. #define BFRSHIFT(B,n)   ( (B) >> n )
  18. #define BFLSHIFT(B,n)   ( (B) << n )
  19. #define BFALL()         ( (BITFLD)~0L )
  20. #define BFNULL()        ( 0L )
  21. #define BFOR(B1,B2)     ( (B1) | (B2) )
  22. #define BFAND(B1,B2)    ( (B1) & (B2) )
  23.