useful.h
上传用户:xu_441
上传日期:2007-01-04
资源大小:1640k
文件大小:1k
源码类别:

Email客户端

开发平台:

Unix_Linux

  1. /*
  2.  * Copyright (c) 1998, 1999 Sendmail, Inc. and its suppliers.
  3.  * All rights reserved.
  4.  * Copyright (c) 1995-1997 Eric P. Allman.  All rights reserved.
  5.  * Copyright (c) 1988, 1993
  6.  * The Regents of the University of California.  All rights reserved.
  7.  *
  8.  * By using this file, you agree to the terms and conditions set
  9.  * forth in the LICENSE file which can be found at the top level of
  10.  * the sendmail distribution.
  11.  *
  12.  *
  13.  * $Id: useful.h,v 8.18 1999/07/13 15:05:57 ca Exp $
  14.  */
  15. #ifndef _USEFUL_H
  16. # define _USEFUL_H
  17. # include <sys/types.h>
  18. /* support for bool type */
  19. typedef int bool;
  20. # ifndef TRUE
  21. #  define TRUE 1
  22. #  define FALSE 0
  23. # endif /* ! TRUE */
  24. # ifndef NULL
  25. #  define NULL 0
  26. # endif /* ! NULL */
  27. /* bit hacking */
  28. # define bitset(bit, word) (((word) & (bit)) != 0)
  29. /* some simple functions */
  30. # ifndef max
  31. #  define max(a, b) ((a) > (b) ? (a) : (b))
  32. #  define min(a, b) ((a) < (b) ? (a) : (b))
  33. # endif /* ! max */
  34. /* assertions */
  35. # ifndef NASSERT
  36. #  define ASSERT(expr, msg, parm)
  37. if (!(expr))
  38. {
  39. fprintf(stderr, "assertion botch: %s:%d: ", __FILE__, __LINE__);
  40. fprintf(stderr, msg, parm);
  41. }
  42. # else /* ! NASSERT */
  43. #  define ASSERT(expr, msg, parm)
  44. # endif /* ! NASSERT */
  45. /* sccs id's */
  46. # ifndef lint
  47. #  ifdef __STDC__
  48. #   define SCCSID(arg) static char SccsId[] = #arg;
  49. #  else /* __STDC__ */
  50. #   define SCCSID(arg) static char SccsId[] = "arg";
  51. #  endif /* __STDC__ */
  52. # else /* ! lint */
  53. #  define SCCSID(arg)
  54. # endif /* ! lint */
  55. #endif /* ! _USEFUL_H */