xref: /csrg-svn/usr.bin/telnet/general.h (revision 32142)
1*32142Sminshall /*
2*32142Sminshall  * Some general definitions.
3*32142Sminshall  *
4*32142Sminshall  * @(#)general.h	3.1 (Berkeley) 8/11/87
5*32142Sminshall  */
6*32142Sminshall 
7*32142Sminshall 
8*32142Sminshall #define	numberof(x)	(sizeof x/sizeof x[0])
9*32142Sminshall #define	highestof(x)	(numberof(x)-1)
10*32142Sminshall 
11*32142Sminshall #if	defined(unix)
12*32142Sminshall #define	ClearElement(x)		bzero((char *)&x, sizeof x)
13*32142Sminshall #define	ClearArray(x)		bzero((char *)x, sizeof x)
14*32142Sminshall #else	/* defined(unix) */
15*32142Sminshall #define	ClearElement(x)		memset((char *)&x, 0, sizeof x)
16*32142Sminshall #define	ClearArray(x)		memset((char *)x, 0, sizeof x)
17*32142Sminshall #endif	/* defined(unix) */
18*32142Sminshall 
19*32142Sminshall #if	defined(unix)		/* Define BSD equivalent mem* functions */
20*32142Sminshall #define	memcpy(dest,src,n)	bcopy(src,dest,n)
21*32142Sminshall #define	memmove(dest,src,n)	bcopy(src,dest,n)
22*32142Sminshall #define	memset(s,c,n)		if (c == 0) { \
23*32142Sminshall 				    bzero(s,n); \
24*32142Sminshall 				} else { \
25*32142Sminshall 				    register char *src = s; \
26*32142Sminshall 				    register int count = n; \
27*32142Sminshall 					\
28*32142Sminshall 				    while (count--) { \
29*32142Sminshall 					*src++ = c; \
30*32142Sminshall 				    } \
31*32142Sminshall 				}
32*32142Sminshall #define	memcmp(s1,s2,n)		bcmp(s1,s2,n)
33*32142Sminshall #endif	/* defined(unix) */
34