130674Sminshall /* 230674Sminshall * Some general definitions. 330674Sminshall */ 430674Sminshall 530674Sminshall 630674Sminshall #define numberof(x) (sizeof x/sizeof x[0]) 730674Sminshall #define highestof(x) (numberof(x)-1) 830723Sminshall 9*31092Sminshall #if defined(unix) 10*31092Sminshall #define ClearElement(x) bzero((char *)&x, sizeof x) 1130723Sminshall #define ClearArray(x) bzero((char *)x, sizeof x) 12*31092Sminshall #else /* defined(unix) */ 13*31092Sminshall #define ClearStructure(x) memset((char *)&x, 0, sizeof x) 14*31092Sminshall #define ClearArray(x) memset((char *)x, 0, sizeof x) 15*31092Sminshall #endif /* defined(unix) */ 16*31092Sminshall 17*31092Sminshall #if defined(unix) /* Define BSD equivalent mem* functions */ 18*31092Sminshall #define memcpy(dest,src,n) bcopy(src,dest,n) 19*31092Sminshall #define memmove(dest,src,n) bcopy(src,dest,n) 20*31092Sminshall #define memset(s,c,n) if (c == 0) { \ 21*31092Sminshall bzero(s,n); \ 22*31092Sminshall } else { \ 23*31092Sminshall char buffer[100]; \ 24*31092Sminshall \ 25*31092Sminshall sprintf( \ 26*31092Sminshall "Attempt to use memchr(, != 0,) in %s, %s.\n, \ 27*31092Sminshall __FILE__, __LINE__); \ 28*31092Sminshall ExitString(stderr, buffer, 1); \ 29*31092Sminshall } 30*31092Sminshall #endif /* defined(unix) */ 31