|
|
DataMuseum.dkPresents historical artifacts from the history of: DKUUG/EUUG Conference tapes |
This is an automatic "excavation" of a thematic subset of
See our Wiki for more about DKUUG/EUUG Conference tapes Excavated with: AutoArchaeologist - Free & Open Source Software. |
top - metrics - downloadIndex: T u
Length: 3026 (0xbd2)
Types: TextFile
Names: »useful.h«
└─⟦9ae75bfbd⟧ Bits:30007242 EUUGD3: Starter Kit
└─⟦bfebc70e2⟧ »EurOpenD3/mail/sendmail-5.65b+IDA-1.4.3.tar.Z«
└─⟦f9e35cd84⟧
└─⟦this⟧ »sendmail/src/useful.h«
/*
* Copyright (c) 1988 Regents of the University of California.
* All rights reserved.
*
* Redistribution and use in source and binary forms are permitted provided
* that: (1) source distributions retain this entire copyright notice and
* comment, and (2) distributions including binaries display the following
* acknowledgement: ``This product includes software developed by the
* University of California, Berkeley and its contributors'' in the
* documentation or other materials provided with the distribution and in
* all advertising materials mentioning features or use of this software.
* Neither the name of the University nor the names of its contributors may
* be used to endorse or promote products derived from this software without
* specific prior written permission.
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR IMPLIED
* WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
*
* @(#)useful.h 4.6 (Berkeley) 6/1/90
*/
#ifndef lint
# ifdef _DEFINE
static char useful_h_sccsid[] = "@(#)useful.h 4.6 (Berkeley) 6/1/9";
# endif /* _DEFINE */
#endif /* !lint */
#include <sys/types.h>
/* support for bool type. going from char to int increased BSS by 16 bytes */
typedef int 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 */
#ifdef __STDC__
# include <string.h>
# include <unistd.h>
# include <stdlib.h>
#else /* !__STDC__ */
extern char *strcpy(), *strncpy();
extern char *strcat(), *strncat();
extern char *malloc();
extern time_t time();
extern char *ctime();
extern char *getenv();
#endif /* __STDC__ */
extern int errno;
#ifndef SYSV
extern char *index(), *rindex();
#else /* SYSV */
# include <fcntl.h>
# define index strchr
# define rindex strrchr
# define bcopy(h,a,l) memcpy(a,h,l)
# define bzero(s,n) memset(s,0,n)
# define bcmp memcmp
# define vfork fork
# ifndef NOFILE
# include <sys/param.h>
# endif /* NOFILE */
# define getdtablesize() NOFILE
# ifndef SIGCHLD
# define SIGCHLD SIGCLD
# endif /* !SIGCHLD */
# define direct dirent
# include <dirent.h>
extern char *strchr(), *strrchr();
# include <grp.h>
# ifndef NGROUPS_MAX
# define initgroups(u,g) kill(0,0)
# endif /* !NGROUPS_MAX */
# ifndef MAX
# define MAX(a,b) ((a)>(b))?(a):(b)
# endif /* !MAX */
#endif /* !SYSV */