Standard.h
上传用户:liguizhu
上传日期:2015-11-01
资源大小:2422k
文件大小:1k
源码类别:

P2P编程

开发平台:

Visual C++

  1. /*
  2. ------------------------------------------------------------------------------
  3. Standard definitions and types, Bob Jenkins
  4. ------------------------------------------------------------------------------
  5. */
  6. #ifndef STANDARD
  7. # define STANDARD
  8. # ifndef STDIO
  9. #  include <stdio.h>
  10. #  define STDIO
  11. # endif
  12. # ifndef STDDEF
  13. #  include <stddef.h>
  14. #  define STDDEF
  15. # endif
  16. typedef  unsigned long  int  ub4;   /* unsigned 4-byte quantities */
  17. #define UB4MAXVAL 0xffffffff
  18. typedef    signed long  int  sb4;
  19. #define UB4BITS 32
  20. #define SB4MAXVAL 0x7fffffff
  21. typedef  unsigned short int  ub2;
  22. #define UB2MAXVAL 0xffff
  23. #define UB2BITS 16
  24. typedef    signed short int  sb2;
  25. #define SB2MAXVAL 0x7fff
  26. typedef  unsigned       char ub1;
  27. #define UB1MAXVAL 0xff
  28. #define UB1BITS 8
  29. typedef    signed       char sb1;   /* signed 1-byte quantities */
  30. #define SB1MAXVAL 0x7f
  31. typedef                 int  word;  /* fastest type available */
  32. #define bis(target,mask)  ((target) |=  (mask))
  33. #define bic(target,mask)  ((target) &= ~(mask))
  34. #define bit(target,mask)  ((target) &   (mask))
  35. #ifndef min
  36. # define min(a,b) (((a)<(b)) ? (a) : (b))
  37. #endif /* min */
  38. #ifndef max
  39. # define max(a,b) (((a)<(b)) ? (b) : (a))
  40. #endif /* max */
  41. #ifndef align
  42. # define align(a) (((ub4)a+(sizeof(void *)-1))&(~(sizeof(void *)-1)))
  43. #endif /* align */
  44. #ifndef abs
  45. # define abs(a)   (((a)>0) ? (a) : -(a))
  46. #endif
  47. #define TRUE  1
  48. #define FALSE 0
  49. #define SUCCESS 0  /* 1 on VAX */
  50. #endif /* STANDARD */