xref: /original-bsd/usr.sbin/sendmail/src/useful.h (revision 1403a0cd)
1 /*
2 **  USEFUL.H -- Some useful stuff.
3 **
4 **	@(#)useful.h	4.1		07/25/83
5 */
6 
7 # ifndef makedev
8 # include <sys/types.h>
9 # endif
10 
11 /* support for bool type */
12 typedef char	bool;
13 # define TRUE	1
14 # define FALSE	0
15 
16 # ifndef NULL
17 # define NULL	0
18 # endif NULL
19 
20 /* bit hacking */
21 # define bitset(bit, word)	(((word) & (bit)) != 0)
22 
23 /* some simple functions */
24 # ifndef max
25 # define max(a, b)	((a) > (b) ? (a) : (b))
26 # define min(a, b)	((a) < (b) ? (a) : (b))
27 # endif max
28 
29 /* assertions */
30 # ifndef NASSERT
31 # define ASSERT(expr, msg, parm)\
32 	if (!(expr))\
33 	{\
34 		fprintf(stderr, "assertion botch: %s:%d: ", __FILE__, __LINE__);\
35 		fprintf(stderr, msg, parm);\
36 	}
37 # else NASSERT
38 # define ASSERT(expr, msg, parm)
39 # endif NASSERT
40 
41 /* sccs id's */
42 # ifndef lint
43 # define SCCSID(arg)	static char SccsId[] = "arg";
44 # else lint
45 # define SCCSID(arg)
46 # endif lint
47 
48 /* define the types of some common functions */
49 extern char	*strcpy(), *strncpy();
50 extern char	*strcat(), *strncat();
51 extern char	*malloc();
52 extern char	*index(), *rindex();
53 extern int	errno;
54 extern char	*sprintf();
55 extern time_t	time();
56 extern char	*ctime();
57 # ifndef V6
58 extern char	*getenv();
59 # endif V6
60 # ifndef VMUNIX
61 typedef unsigned short	u_short;
62 typedef long		u_long;
63 typedef char		u_char;
64 typedef int		void;
65 # endif VMUNIX
66