BSD 4_2 release
[unix-history] / usr / src / usr.lib / sendmail / include / useful.h
/*
** USEFUL.H -- Some useful stuff.
**
** @(#)useful.h 4.1 7/25/83
*/
# ifndef makedev
# include <sys/types.h>
# endif
/* support for bool type */
typedef char bool;
# define TRUE 1
# define FALSE 0
# ifndef NULL
# define NULL 0
# endif NULL
/* bit hacking */
# define bitset(bit, word) (((word) & (bit)) != 0)
/* some simple functions */
# ifndef max
# define max(a, b) ((a) > (b) ? (a) : (b))
# define min(a, b) ((a) < (b) ? (a) : (b))
# endif max
/* assertions */
# ifndef NASSERT
# define ASSERT(expr, msg, parm)\
if (!(expr))\
{\
fprintf(stderr, "assertion botch: %s:%d: ", __FILE__, __LINE__);\
fprintf(stderr, msg, parm);\
}
# else NASSERT
# define ASSERT(expr, msg, parm)
# endif NASSERT
/* sccs id's */
# ifndef lint
# define SCCSID(arg) static char SccsId[] = "arg";
# else lint
# define SCCSID(arg)
# endif lint
/* define the types of some common functions */
extern char *strcpy(), *strncpy();
extern char *strcat(), *strncat();
extern char *malloc();
extern char *index(), *rindex();
extern int errno;
extern char *sprintf();
extern time_t time();
extern char *ctime();
# ifndef V6
extern char *getenv();
# endif V6
# ifndef VMUNIX
typedef unsigned short u_short;
typedef long u_long;
typedef char u_char;
typedef int void;
# endif VMUNIX