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