Keep track of each side's idea of what the state of each option is.
[unix-history] / usr / src / usr.bin / telnet / general.h
CommitLineData
897ce52e
KB
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
b36fc510
KB
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.
897ce52e 16 *
b36fc510 17 * @(#)general.h 1.3 (Berkeley) %G%
897ce52e
KB
18 */
19
5f5fd947
GM
20/*
21 * Some general definitions.
22 *
23 * @(#)general.h 3.1 (Berkeley) 8/11/87
24 */
25
26
27#define numberof(x) (sizeof x/sizeof x[0])
28#define highestof(x) (numberof(x)-1)
29
30#if defined(unix)
31#define ClearElement(x) bzero((char *)&x, sizeof x)
32#define ClearArray(x) bzero((char *)x, sizeof x)
33#else /* defined(unix) */
34#define ClearElement(x) memset((char *)&x, 0, sizeof x)
35#define ClearArray(x) memset((char *)x, 0, sizeof x)
36#endif /* defined(unix) */
37
38#if defined(unix) /* Define BSD equivalent mem* functions */
39#define memcpy(dest,src,n) bcopy(src,dest,n)
40#define memmove(dest,src,n) bcopy(src,dest,n)
41#define memset(s,c,n) if (c == 0) { \
42 bzero(s,n); \
43 } else { \
44 register char *src = s; \
45 register int count = n; \
46 \
47 while (count--) { \
48 *src++ = c; \
49 } \
50 }
51#define memcmp(s1,s2,n) bcmp(s1,s2,n)
52#endif /* defined(unix) */