132142Sminshall /* 233685Sbostic * Copyright (c) 1988 Regents of the University of California. 333685Sbostic * All rights reserved. 433685Sbostic * 5*42770Sbostic * %sccs.include.redist.c% 633685Sbostic * 7*42770Sbostic * @(#)general.h 1.4 (Berkeley) 06/01/90 833685Sbostic */ 933685Sbostic 1033685Sbostic /* 1132142Sminshall * Some general definitions. 1232142Sminshall * 1332142Sminshall * @(#)general.h 3.1 (Berkeley) 8/11/87 1432142Sminshall */ 1532142Sminshall 1632142Sminshall 1732142Sminshall #define numberof(x) (sizeof x/sizeof x[0]) 1832142Sminshall #define highestof(x) (numberof(x)-1) 1932142Sminshall 2032142Sminshall #if defined(unix) 2132142Sminshall #define ClearElement(x) bzero((char *)&x, sizeof x) 2232142Sminshall #define ClearArray(x) bzero((char *)x, sizeof x) 2332142Sminshall #else /* defined(unix) */ 2432142Sminshall #define ClearElement(x) memset((char *)&x, 0, sizeof x) 2532142Sminshall #define ClearArray(x) memset((char *)x, 0, sizeof x) 2632142Sminshall #endif /* defined(unix) */ 2732142Sminshall 2832142Sminshall #if defined(unix) /* Define BSD equivalent mem* functions */ 2932142Sminshall #define memcpy(dest,src,n) bcopy(src,dest,n) 3032142Sminshall #define memmove(dest,src,n) bcopy(src,dest,n) 3132142Sminshall #define memset(s,c,n) if (c == 0) { \ 3232142Sminshall bzero(s,n); \ 3332142Sminshall } else { \ 3432142Sminshall register char *src = s; \ 3532142Sminshall register int count = n; \ 3632142Sminshall \ 3732142Sminshall while (count--) { \ 3832142Sminshall *src++ = c; \ 3932142Sminshall } \ 4032142Sminshall } 4132142Sminshall #define memcmp(s1,s2,n) bcmp(s1,s2,n) 4232142Sminshall #endif /* defined(unix) */ 43