BSD 4_3_Tahoe release
[unix-history] / usr / src / ucb / telnet / Source / general.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 this notice is preserved and that due credit is given
* to the University of California at Berkeley. The name of the University
* may not be used to endorse or promote products derived from this
* software without specific prior written permission. This software
* is provided ``as is'' without express or implied warranty.
*
* @(#)general.h 1.2 (Berkeley) 3/8/88
*/
/*
* Some general definitions.
*
* @(#)general.h 3.1 (Berkeley) 8/11/87
*/
#define numberof(x) (sizeof x/sizeof x[0])
#define highestof(x) (numberof(x)-1)
#if defined(unix)
#define ClearElement(x) bzero((char *)&x, sizeof x)
#define ClearArray(x) bzero((char *)x, sizeof x)
#else /* defined(unix) */
#define ClearElement(x) memset((char *)&x, 0, sizeof x)
#define ClearArray(x) memset((char *)x, 0, sizeof x)
#endif /* defined(unix) */
#if defined(unix) /* Define BSD equivalent mem* functions */
#define memcpy(dest,src,n) bcopy(src,dest,n)
#define memmove(dest,src,n) bcopy(src,dest,n)
#define memset(s,c,n) if (c == 0) { \
bzero(s,n); \
} else { \
register char *src = s; \
register int count = n; \
\
while (count--) { \
*src++ = c; \
} \
}
#define memcmp(s1,s2,n) bcmp(s1,s2,n)
#endif /* defined(unix) */