diff options
Diffstat (limited to 'nx-X11/lib/FS/FSlibos.h')
-rw-r--r-- | nx-X11/lib/FS/FSlibos.h | 332 |
1 files changed, 0 insertions, 332 deletions
diff --git a/nx-X11/lib/FS/FSlibos.h b/nx-X11/lib/FS/FSlibos.h deleted file mode 100644 index d14ee8ef8..000000000 --- a/nx-X11/lib/FS/FSlibos.h +++ /dev/null @@ -1,332 +0,0 @@ -/* $XdotOrg: xc/lib/FS/FSlibos.h,v 1.5 2005/11/08 06:33:25 jkj Exp $ */ -/* $Xorg: FSlibos.h,v 1.4 2001/02/09 02:03:25 xorgcvs Exp $ */ - -/* @(#)FSlibos.h 4.1 91/05/02 - * Copyright 1990 Network Computing Devices; - * Portions Copyright 1987 by Digital Equipment Corporation - * - * Permission to use, copy, modify, distribute, and sell this software - * and its documentation for any purpose is hereby granted without fee, - * provided that the above copyright notice appear in all copies and - * that both that copyright notice and this permission notice appear - * in supporting documentation, and that the names of Network Computing - * Devices or Digital not be used in advertising or publicity pertaining - * to distribution of the software without specific, written prior - * permission. Network Computing Devices or Digital make no representations - * about the suitability of this software for any purpose. It is provided - * "as is" without express or implied warranty. - * - * NETWORK COMPUTING DEVICES AND DIGITAL DISCLAIM ALL WARRANTIES WITH - * REGARD TO THIS SOFTWARE, INCLUDING ALL IMPLIED WARRANTIES OF - * MERCHANTABILITY AND FITNESS, IN NO EVENT SHALL NETWORK COMPUTING DEVICES - * OR DIGITAL BE LIABLE FOR ANY SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES - * OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, - * WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, - * ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS - * SOFTWARE. - */ - -/* - -Copyright 1987, 1994, 1998 The Open Group - -Permission to use, copy, modify, distribute, and sell this software and its -documentation for any purpose is hereby granted without fee, provided that -the above copyright notice appear in all copies and that both that -copyright notice and this permission notice appear in supporting -documentation. - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -OPEN GROUP BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN -AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN -CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. - -Except as contained in this notice, the name of The Open Group shall not be -used in advertising or otherwise to promote the sale, use or other dealings -in this Software without prior written authorization from The Open Group. - -*/ -/* $XFree86: xc/lib/FS/FSlibos.h,v 3.10 2003/09/01 20:50:10 herrb Exp $ */ - -/* - * FSlib networking & os include file - */ - -#include <X11/Xfuncs.h> -#include <X11/Xosdefs.h> - -#ifndef WIN32 - -#if defined(__SCO__) || defined(__UNIXWARE__) -#include <stdint.h> /* For SIZE_MAX */ -#endif - -/* - * makedepend screws up on #undef OPEN_MAX, so we define a new symbol - */ - -#ifndef FS_OPEN_MAX - -#ifndef X_NOT_POSIX -#ifdef _POSIX_SOURCE -#include <limits.h> -#else -#define _POSIX_SOURCE -#include <limits.h> -#undef _POSIX_SOURCE -#endif -#endif -#ifndef SIZE_MAX -# ifdef ULONG_MAX -# define SIZE_MAX ULONG_MAX -# else -# define SIZE_MAX UINT_MAX -# endif -#endif -#ifndef OPEN_MAX -#ifdef SVR4 -#define OPEN_MAX 256 -#else -#include <sys/param.h> -#ifndef OPEN_MAX -#ifdef __OSF1__ -#define OPEN_MAX 256 -#else -#ifdef NOFILE -#define OPEN_MAX NOFILE -#else -#if !defined(__UNIXOS2__) && !defined(__QNX__) -#ifdef __GNU__ -#define OPEN_MAX (sysconf(_SC_OPEN_MAX)) -#else /* !__GNU__ */ -#define OPEN_MAX NOFILES_MAX -#endif /* __GNU__ */ -#else /* !__UNIXOS2__ && !__QNX__ */ -#define OPEN_MAX 256 -#endif /* __UNIXOS2__ */ -#endif -#endif -#endif -#endif -#endif - -#ifdef __GNU__ -#define FS_OPEN_MAX 256 -#else /*!__GNU__*/ -#if OPEN_MAX > 256 -#define FS_OPEN_MAX 256 -#else -#define FS_OPEN_MAX OPEN_MAX -#endif -#endif /*__GNU__*/ - -#endif /* FS_OPEN_MAX */ - -/* Utek leaves kernel macros around in include files (bleah) */ - -#ifdef dirty -#undef dirty -#endif - -#ifdef WORD64 -#define NMSKBITS 64 -#else -#define NMSKBITS 32 -#endif - -#define MSKCNT ((FS_OPEN_MAX + NMSKBITS - 1) / NMSKBITS) - -#ifdef LONG64 -typedef unsigned int FdSet[MSKCNT]; -#else -typedef unsigned long FdSet[MSKCNT]; -#endif - -#if (MSKCNT==1) -#define BITMASK(i) (1 << (i)) -#define MASKIDX(i) 0 -#endif - -#if (MSKCNT>1) -#define BITMASK(i) (1 << ((i) & (NMSKBITS - 1))) -#define MASKIDX(i) ((i) / NMSKBITS) -#endif - -#define MASKWORD(buf, i) buf[MASKIDX(i)] -#define BITSET(buf, i) MASKWORD(buf, i) |= BITMASK(i) -#define BITCLEAR(buf, i) MASKWORD(buf, i) &= ~BITMASK(i) -#define GETBIT(buf, i) (MASKWORD(buf, i) & BITMASK(i)) - -#if (MSKCNT==1) -#define COPYBITS(src, dst) dst[0] = src[0] -#define CLEARBITS(buf) buf[0] = 0 -#define MASKANDSETBITS(dst, b1, b2) dst[0] = (b1[0] & b2[0]) -#define ORBITS(dst, b1, b2) dst[0] = (b1[0] | b2[0]) -#define UNSETBITS(dst, b1) (dst[0] &= ~b1[0]) -#define _FSANYSET(src) (src[0]) -#endif - -#if (MSKCNT==2) -#define COPYBITS(src, dst) { dst[0] = src[0]; dst[1] = src[1]; } -#define CLEARBITS(buf) { buf[0] = 0; buf[1] = 0; } -#define MASKANDSETBITS(dst, b1, b2) {\ - dst[0] = (b1[0] & b2[0]);\ - dst[1] = (b1[1] & b2[1]); } -#define ORBITS(dst, b1, b2) {\ - dst[0] = (b1[0] | b2[0]);\ - dst[1] = (b1[1] | b2[1]); } -#define UNSETBITS(dst, b1) {\ - dst[0] &= ~b1[0]; \ - dst[1] &= ~b1[1]; } -#define _FSANYSET(src) (src[0] || src[1]) -#endif - -#if (MSKCNT==3) -#define COPYBITS(src, dst) { dst[0] = src[0]; dst[1] = src[1]; \ - dst[2] = src[2]; } -#define CLEARBITS(buf) { buf[0] = 0; buf[1] = 0; buf[2] = 0; } -#define MASKANDSETBITS(dst, b1, b2) {\ - dst[0] = (b1[0] & b2[0]);\ - dst[1] = (b1[1] & b2[1]);\ - dst[2] = (b1[2] & b2[2]); } -#define ORBITS(dst, b1, b2) {\ - dst[0] = (b1[0] | b2[0]);\ - dst[1] = (b1[1] | b2[1]);\ - dst[2] = (b1[2] | b2[2]); } -#define UNSETBITS(dst, b1) {\ - dst[0] &= ~b1[0]; \ - dst[1] &= ~b1[1]; \ - dst[2] &= ~b1[2]; } -#define _FSANYSET(src) (src[0] || src[1] || src[2]) -#endif - -#if (MSKCNT==4) -#define COPYBITS(src, dst) dst[0] = src[0]; dst[1] = src[1]; \ - dst[2] = src[2]; dst[3] = src[3] -#define CLEARBITS(buf) buf[0] = 0; buf[1] = 0; buf[2] = 0; buf[3] = 0 -#define MASKANDSETBITS(dst, b1, b2) \ - dst[0] = (b1[0] & b2[0]);\ - dst[1] = (b1[1] & b2[1]);\ - dst[2] = (b1[2] & b2[2]);\ - dst[3] = (b1[3] & b2[3]) -#define ORBITS(dst, b1, b2) \ - dst[0] = (b1[0] | b2[0]);\ - dst[1] = (b1[1] | b2[1]);\ - dst[2] = (b1[2] | b2[2]);\ - dst[3] = (b1[3] | b2[3]) -#define UNSETBITS(dst, b1) \ - dst[0] &= ~b1[0]; \ - dst[1] &= ~b1[1]; \ - dst[2] &= ~b1[2]; \ - dst[3] &= ~b1[3] -#define _FSANYSET(src) (src[0] || src[1] || src[2] || src[3]) -#endif - -#if (MSKCNT>4) -#define COPYBITS(src, dst) bcopy((caddr_t) src, (caddr_t) dst, sizeof(FdSet)) -#define CLEARBITS(buf) bzero((caddr_t) buf, sizeof(FdSet)) -#define MASKANDSETBITS(dst, b1, b2) \ - { int cri; \ - for (cri=0; cri<MSKCNT; cri++) \ - dst[cri] = (b1[cri] & b2[cri]) } -#define ORBITS(dst, b1, b2) \ - { int cri; \ - for (cri=0; cri<MSKCNT; cri++) \ - dst[cri] = (b1[cri] | b2[cri]) } -#define UNSETBITS(dst, b1) \ - { int cri; \ - for (cri=0; cri<MSKCNT; cri++) \ - dst[cri] &= ~b1[cri]; } -#if (MSKCNT==8) -#define _FSANYSET(src) (src[0] || src[1] || src[2] || src[3] || \ - src[4] || src[5] || src[6] || src[7]) -#endif -/* - * If MSKCNT>4 and not 8, then _FSANYSET is a routine defined in FSlibInt.c. - * - * #define _FSANYSET(src) (src[0] || src[1] || src[2] || src[3] || src[4] ...) - */ -#endif - - -#else - -#include <X11/Xwinsock.h> -#include <X11/Xw32defs.h> - -typedef fd_set FdSet; - -#define CLEARBITS(set) FD_ZERO(&set) -#define BITSET(set,s) FD_SET(s,&set) -#define _FSANYSET(set) set.fd_count - -#endif - -#include <X11/Xtrans/Xtrans.h> -#include <stdlib.h> -#include <string.h> - -/* - * The following definitions can be used for locking requests in multi-threaded - * address spaces. - */ -#define LockDisplay(dis) -#define LockMutex(mutex) -#define UnlockMutex(mutex) -#define UnlockDisplay(dis) -#define FSfree(ptr) free((ptr)) - - -/* - * Note that some machines do not return a valid pointer for malloc(0), in - * which case we provide an alternate under the control of the - * define MALLOC_0_RETURNS_NULL. This is necessary because some - * FSlib code expects malloc(0) to return a valid pointer to storage. - */ - -#ifdef MALLOC_0_RETURNS_NULL -#define FSmalloc(size) malloc(((size) > 0 ? (size) : 1)) -#define FSrealloc(ptr, size) realloc((ptr), ((size) > 0 ? (size) : 1)) -#define FScalloc(nelem, elsize) calloc(((nelem) > 0 ? (nelem) : 1), (elsize)) - -#else - -#define FSmalloc(size) malloc((size)) -#define FSrealloc(ptr, size) realloc((ptr), (size)) -#define FScalloc(nelem, elsize) calloc((nelem), (elsize)) -#endif - -/* - * ReadvFromServer and WritevToSever use struct iovec, normally found - * in Berkeley systems in <sys/uio.h>. See the readv(2) and writev(2) - * manual pages for details. - * - * struct iovec { - * caddr_t iov_base; - * int iov_len; - * }; - */ - -#ifdef USG - -#if defined(USG) && !defined(CRAY) && !defined(umips) && !defined(MOTOROLA) -#ifndef __TIMEVAL__ -#define __TIMEVAL__ -struct timeval { /* BSD has in <sys/time.h> */ - long tv_sec; - long tv_usec; -}; - -#endif /* __TIMEVAL__ */ - -#endif /* not CRAY or umips */ - -#endif /* USG */ - - -#define SearchString(string, char) index((string), (char)) |