|
|
1.1 root 1: /*
2: * Copyright (c) 1988 Regents of the University of California.
3: * All rights reserved.
4: *
5: * Redistribution and use in source and binary forms are permitted
6: * provided that the above copyright notice and this paragraph are
7: * duplicated in all such forms and that any documentation,
8: * advertising materials, and other materials related to such
9: * distribution and use acknowledge that the software was developed
10: * by the University of California, Berkeley. The name of the
11: * University may not be used to endorse or promote products derived
12: * from this software without specific prior written permission.
13: * THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
14: * IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
15: * WARRANTIES OF MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
16: *
17: * @(#)general.h 4.1 (Berkeley) 12/4/88
18: */
19:
20: /*
21: * Some general definitions.
22: */
23:
24: #define numberof(x) (sizeof x/sizeof x[0])
25: #define highestof(x) (numberof(x)-1)
26:
27: #if defined(unix)
28: #define ClearElement(x) bzero((char *)&x, sizeof x)
29: #define ClearArray(x) bzero((char *)x, sizeof x)
30: #else /* defined(unix) */
31: #define ClearElement(x) memset((char *)&x, 0, sizeof x)
32: #define ClearArray(x) memset((char *)x, 0, sizeof x)
33: #endif /* defined(unix) */
34:
35: #if defined(unix) /* Define BSD equivalent mem* functions */
36: #define memcpy(dest,src,n) bcopy(src,dest,n)
37: #define memmove(dest,src,n) bcopy(src,dest,n)
38: #define memset(s,c,n) if (c == 0) { \
39: bzero(s,n); \
40: } else { \
41: register char *src = s; \
42: register int count = n; \
43: \
44: while (count--) { \
45: *src++ = c; \
46: } \
47: }
48: #define memcmp(s1,s2,n) bcmp(s1,s2,n)
49: #endif /* defined(unix) */
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.