ftp.nice.ch/pub/next/unix/mail/netinfo-sendmail.s.tar.gz#/useful.h

This is useful.h in view mode; [Download] [Up]

/*
 * 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";
static char useful_h_rcsid[] = "@(#)$Id: useful.h,v 4.6.0.10 1991/06/24 20:18:55 paul Exp $";
# 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 */

/* define the types of some common functions */
#ifdef __STDC__
# include <string.h>
# ifndef __STRICT_BSD__
#  include <unistd.h>
#  include <stdlib.h>
# endif /* !__STRICT_BSD__ */
#else /* !__STDC__ */
extern char	*strcpy(), *strncpy();
extern char	*strcat(), *strncat();
extern char	*malloc();
extern TIME_TYPE	time();
extern char	*ctime();
extern char	*getenv();
#endif /* __STDC__ */
extern int	errno;

#ifndef SYSV 

#ifndef NeXT
extern char	*index(), *rindex();
#endif /* NeXT */

#else /* SYSV */
# include <fcntl.h>
# ifndef O_SYNC
#  ifdef O_DIRECT
#   define	O_SYNC	O_DIRECT
#  endif /* O_DIRECT */
# endif /* !O_SYNC */
# 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
# ifdef ISC
#  include <sys/dirent.h>
# else /* !ISC */
#  include <dirent.h>
# endif /* ISC */
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 */

These are the contents of the former NiCE NeXT User Group NeXTSTEP/OpenStep software archive, currently hosted by Netfuture.ch.