|
|
1.1 root 1: /* 1.1.1.2 ! root 2: * Xlib include file for v9 based systems. 1.1 root 3: */ 4: 1.1.1.2 ! root 5: #include <sys/utsname.h> ! 6: #include <sys/filio.h> ! 7: #include <ipc.h> 1.1 root 8: 9: #include <sys/param.h> /* needed for XConnDis.c */ 10: 11: #define MAXSOCKS ( NOFILE - 1 ) 12: #define MSKCNT ((MAXSOCKS + 31) / 32) /* size of bit array */ 13: 14: #if (MSKCNT==1) 15: #define BITMASK(i) (1 << (i)) 16: #define MASKIDX(i) 0 17: #endif 18: #if (MSKCNT>1) 19: #define BITMASK(i) (1 << ((i) & 31)) 20: #define MASKIDX(i) ((i) >> 5) 21: #endif 22: 23: #define MASKWORD(buf, i) buf[MASKIDX(i)] 24: #define BITSET(buf, i) MASKWORD(buf, i) |= BITMASK(i) 25: #define BITCLEAR(buf, i) MASKWORD(buf, i) &= ~BITMASK(i) 26: #define GETBIT(buf, i) (MASKWORD(buf, i) & BITMASK(i)) 27: 28: #if (MSKCNT==1) 29: #define COPYBITS(src, dst) dst[0] = src[0] 30: #define CLEARBITS(buf) buf[0] = 0 31: #define MASKANDSETBITS(dst, b1, b2) dst[0] = (b1[0] & b2[0]) 32: #define ORBITS(dst, b1, b2) dst[0] = (b1[0] | b2[0]) 33: #define UNSETBITS(dst, b1) (dst[0] &= ~b1[0]) 34: #define ANYSET(src) (src[0]) 35: #endif 36: #if (MSKCNT==2) 37: #define COPYBITS(src, dst) { dst[0] = src[0]; dst[1] = src[1]; } 38: #define CLEARBITS(buf) { buf[0] = 0; buf[1] = 0; } 39: #define MASKANDSETBITS(dst, b1, b2) {\ 40: dst[0] = (b1[0] & b2[0]);\ 41: dst[1] = (b1[1] & b2[1]); } 42: #define ORBITS(dst, b1, b2) {\ 43: dst[0] = (b1[0] | b2[0]);\ 44: dst[1] = (b1[1] | b2[1]); } 45: #define UNSETBITS(dst, b1) {\ 46: dst[0] &= ~b1[0]; \ 47: dst[1] &= ~b1[1]; } 48: #define ANYSET(src) (src[0] || src[1]) 49: #endif 50: #if (MSKCNT==3) 51: #define COPYBITS(src, dst) { dst[0] = src[0]; dst[1] = src[1]; dst[2] = src[2]; } 52: #define CLEARBITS(buf) { buf[0] = 0; buf[1] = 0; buf[2] = 0; } 53: #define MASKANDSETBITS(dst, b1, b2) {\ 54: dst[0] = (b1[0] & b2[0]);\ 55: dst[1] = (b1[1] & b2[1]);\ 56: dst[2] = (b1[2] & b2[2]); } 57: #define ORBITS(dst, b1, b2) {\ 58: dst[0] = (b1[0] | b2[0]);\ 59: dst[1] = (b1[1] | b2[1]);\ 60: dst[2] = (b1[2] | b2[2]); } 61: #define UNSETBITS(dst, b1) {\ 62: dst[0] &= ~b1[0]; \ 63: dst[1] &= ~b1[1]; \ 64: dst[2] &= ~b1[2]; } 65: #define ANYSET(src) (src[0] || src[1] || src[2]) 66: #endif 67: #if (MSKCNT>3) 68: #define COPYBITS(src, dst) bcopy((caddr_t) src, (caddr_t) dst,\ 69: MSKCNT*sizeof(long)) 70: #define CLEARBITS(buf) bzero((caddr_t) buf, MSKCNT*sizeof(long)) 71: #define MASKANDSETBITS(dst, b1, b2) { int cri;\ 72: for (cri=0; i<MSKCNT; cri++) \ 73: dst[cri] = (b1[cri] & b2[cri]); } 74: #define ORBITS(dst, b1, b2) { int cri;\ 75: for (cri=0; i<MSKCNT; cri++) \ 76: dst[cri] = (b1[cri] | b2[cri]); } 77: #define UNSETBITS(dst, b1) { int cri;\ 78: for (cri=0; i<MSKCNT; cri++) \ 79: dst[cri] &= ~b1[cri]; } 80: #define ANYSET(src) (src[0] || src[1] || src[2]) 81: #endif 82: 83: char *malloc(), *realloc(), *calloc(), *alloca(); 84: 85: char *strncpy(), *strncat(); 86: 87: void exit(); 88: void bcopy(); 89: void perror(); 90: void free(); 91: 92: #define LockDisplay(dis) 93: #define LockMutex(mutex) 94: #define UnlockMutex(mutex) 95: #define UnlockDisplay(dis) 96: #define Xfree(ptr) free((ptr)) 97: #define Xalloca(size) alloca((size)) 98: /* 99: * Note that some machines do not return a valid pointer for malloc(0), in 100: * which case we provide an alternate under the control of the 101: * define MALLOC_0_RETURNS_NULL. This is necessary because some 102: * Xlib code expects malloc(0) to return a valid pointer to storage. 103: */ 104: #ifdef MALLOC_0_RETURNS_NULL 105: 106: # define Xmalloc(size) malloc(max((size),1)) 107: # define Xrealloc(ptr, size) realloc((ptr), max((size),1)) 108: # define Xcalloc(nelem, elsize) calloc(max((nelem),1), (elsize)) 109: 110: #else 111: 112: # define Xmalloc(size) malloc((size)) 113: # define Xrealloc(ptr, size) realloc((ptr), (size)) 114: # define Xcalloc(nelem, elsize) calloc((nelem), (elsize)) 115: 116: #endif 117: 118: #define BytesReadable(fd, ptr) ioctl ((fd), FIONREAD, (ptr)) 119: #define ReadFromServer(dpy, data, size) read((dpy), (data), (size)) 120: #define WriteToServer(dpy, bufind, size) write((dpy), (bufind), (size)) 121: 122: extern char *index(); 123: #define SearchString(string, char) index((string), (char)) 124: 125: #define KeymapDefault "/.X11keymap" 126: #define ErrorDataBase "/usr/lib/X11/XErrorDB"
This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.