Annotation of researchv9/X11/src/X.V11R1/lib/X/Xlibos.h, revision 1.1.1.2

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"

unix.superglobalmegacorp.com

This archive runs on limited infrastructure. Preserving old code on modern bandwidth. Automated agents are requested to crawl responsibly.