722 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			C
		
	
	
	
			
		
		
	
	
			722 lines
		
	
	
		
			19 KiB
		
	
	
	
		
			C
		
	
	
	
/*
 | 
						|
 * Copyright (c) 1997-2003 by The XFree86 Project, Inc.
 | 
						|
 *
 | 
						|
 * Permission is hereby granted, free of charge, to any person obtaining a
 | 
						|
 * copy of this software and associated documentation files (the "Software"),
 | 
						|
 * to deal in the Software without restriction, including without limitation
 | 
						|
 * the rights to use, copy, modify, merge, publish, distribute, sublicense,
 | 
						|
 * and/or sell copies of the Software, and to permit persons to whom the
 | 
						|
 * Software is furnished to do so, subject to the following conditions:
 | 
						|
 *
 | 
						|
 * 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 COPYRIGHT HOLDER(S) OR AUTHOR(S) 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 copyright holder(s)
 | 
						|
 * and author(s) 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 copyright holder(s) and author(s).
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * This file is an attempt to make developing code for the new loadable module
 | 
						|
 * architecure simpler. It tries to use macros to hide all libc wrappers so
 | 
						|
 * that all that is needed to "port" a module to this architecture is to
 | 
						|
 * include this one header file
 | 
						|
 *
 | 
						|
 * Revision history:
 | 
						|
 *
 | 
						|
 *
 | 
						|
 * 0.4	Apr 12 1997	add the ANSI defines
 | 
						|
 * 0.3	Feb 24 1997	handle getenv
 | 
						|
 * 0.2	Feb 24 1997	hide few FILE functions
 | 
						|
 * 0.1	Feb 24 1997	hide the trivial functions mem* str*
 | 
						|
 */
 | 
						|
 | 
						|
#ifndef	XF86_LIBC_H
 | 
						|
#define XF86_LIBC_H 1
 | 
						|
 | 
						|
#include <X11/Xfuncs.h>
 | 
						|
#include <stddef.h>
 | 
						|
 | 
						|
/*
 | 
						|
 * The first set of definitions are required both for modules and
 | 
						|
 * libc_wrapper.c.
 | 
						|
 */
 | 
						|
 | 
						|
/*
 | 
						|
 * First, the new data types
 | 
						|
 *
 | 
						|
 * note: if some pointer is declared "opaque" here, pass it between
 | 
						|
 * xf86* functions only, and don't rely on it having a whatever internal
 | 
						|
 * structure, even if some source file might reveal the existence of
 | 
						|
 * such a structure.
 | 
						|
 */
 | 
						|
typedef void XF86FILE;		/* opaque FILE replacement */
 | 
						|
extern  XF86FILE* xf86stdin;
 | 
						|
extern  XF86FILE* xf86stdout;
 | 
						|
extern  XF86FILE* xf86stderr;
 | 
						|
 | 
						|
typedef void XF86fpos_t;	/* opaque fpos_t replacement */
 | 
						|
 | 
						|
#define _XF86NAMELEN	263	/* enough for a larger filename */
 | 
						|
				/* (divisble by 8) */
 | 
						|
typedef void XF86DIR;		/* opaque DIR replacement */
 | 
						|
 | 
						|
/* Note: the following is POSIX! POSIX only requires the d_name member. 
 | 
						|
 * Normal Unix has often a number of other members, but don't rely on that
 | 
						|
 */
 | 
						|
struct _xf86dirent {		/* types in struct dirent/direct: */
 | 
						|
	char	d_name[_XF86NAMELEN+1];	/* char [MAXNAMLEN]; might be smaller or unaligned */
 | 
						|
};
 | 
						|
typedef struct _xf86dirent XF86DIRENT;
 | 
						|
 | 
						|
typedef unsigned long xf86size_t;
 | 
						|
typedef signed long xf86ssize_t;
 | 
						|
typedef unsigned long xf86dev_t;
 | 
						|
typedef unsigned int xf86mode_t;
 | 
						|
typedef unsigned int xf86uid_t;
 | 
						|
typedef unsigned int xf86gid_t;
 | 
						|
 | 
						|
struct xf86stat {
 | 
						|
    xf86dev_t st_rdev;	/* This is incomplete, and makes assumptions */
 | 
						|
};
 | 
						|
 | 
						|
/* sysv IPC */
 | 
						|
typedef int xf86key_t;
 | 
						|
 | 
						|
/* setjmp/longjmp */
 | 
						|
#if defined(__ia64__)
 | 
						|
typedef int xf86jmp_buf[1024] __attribute__ ((aligned (16))); /* guarantees 128-bit alignment! */
 | 
						|
#else
 | 
						|
typedef int xf86jmp_buf[1024];
 | 
						|
#endif
 | 
						|
 | 
						|
/* for setvbuf */
 | 
						|
#define XF86_IONBF    1
 | 
						|
#define XF86_IOFBF    2
 | 
						|
#define XF86_IOLBF    3
 | 
						|
 | 
						|
/* for open (XXX not complete) */
 | 
						|
#define XF86_O_RDONLY	0x0000
 | 
						|
#define XF86_O_WRONLY	0x0001
 | 
						|
#define XF86_O_RDWR	0x0002
 | 
						|
#define XF86_O_CREAT	0x0200
 | 
						|
 | 
						|
/* for mmap */
 | 
						|
#define XF86_PROT_EXEC		0x0001
 | 
						|
#define XF86_PROT_READ		0x0002
 | 
						|
#define XF86_PROT_WRITE		0x0004
 | 
						|
#define XF86_PROT_NONE		0x0008
 | 
						|
#define XF86_MAP_FIXED		0x0001
 | 
						|
#define XF86_MAP_SHARED		0x0002
 | 
						|
#define XF86_MAP_PRIVATE	0x0004
 | 
						|
#define XF86_MAP_32BIT	        0x0040
 | 
						|
#define XF86_MAP_FAILED		((void *)-1)
 | 
						|
 | 
						|
/* for fseek */
 | 
						|
#define XF86_SEEK_SET	0
 | 
						|
#define XF86_SEEK_CUR	1
 | 
						|
#define XF86_SEEK_END	2
 | 
						|
 | 
						|
/* for access */
 | 
						|
#define XF86_R_OK       0
 | 
						|
#define XF86_W_OK       1
 | 
						|
#define XF86_X_OK       2
 | 
						|
#define XF86_F_OK       3
 | 
						|
 | 
						|
/* for chmod */
 | 
						|
#define XF86_S_ISUID   04000 /* set user ID on execution */
 | 
						|
#define XF86_S_ISGID   02000 /* set group ID on execution */
 | 
						|
#define XF86_S_ISVTX   01000 /* sticky bit */
 | 
						|
#define XF86_S_IRUSR   00400 /* read by owner */
 | 
						|
#define XF86_S_IWUSR   00200 /* write by owner */
 | 
						|
#define XF86_S_IXUSR   00100 /* execute/search by owner */
 | 
						|
#define XF86_S_IRGRP   00040 /* read by group */
 | 
						|
#define XF86_S_IWGRP   00020 /* write by group */
 | 
						|
#define XF86_S_IXGRP   00010 /* execute/search by group */
 | 
						|
#define XF86_S_IROTH   00004 /* read by others */
 | 
						|
#define XF86_S_IWOTH   00002 /* write by others */
 | 
						|
#define XF86_S_IXOTH   00001 /* execute/search by others */
 | 
						|
 | 
						|
/* for mknod */
 | 
						|
#define XF86_S_IFREG 0010000
 | 
						|
#define XF86_S_IFCHR 0020000
 | 
						|
#define XF86_S_IFBLK 0040000
 | 
						|
#define XF86_S_IFIFO 0100000
 | 
						|
 | 
						|
/*
 | 
						|
 * errno values
 | 
						|
 * They start at 1000 just so they don't match real errnos at all
 | 
						|
 */
 | 
						|
#define xf86_UNKNOWN		1000
 | 
						|
#define xf86_EACCES		1001
 | 
						|
#define xf86_EAGAIN		1002
 | 
						|
#define xf86_EBADF		1003
 | 
						|
#define xf86_EEXIST		1004
 | 
						|
#define xf86_EFAULT		1005
 | 
						|
#define xf86_EINTR		1006
 | 
						|
#define xf86_EINVAL		1007
 | 
						|
#define xf86_EISDIR		1008
 | 
						|
#define xf86_ELOOP		1009
 | 
						|
#define xf86_EMFILE		1010
 | 
						|
#define xf86_ENAMETOOLONG	1011
 | 
						|
#define xf86_ENFILE		1012
 | 
						|
#define xf86_ENOENT		1013
 | 
						|
#define xf86_ENOMEM		1014
 | 
						|
#define xf86_ENOSPC		1015
 | 
						|
#define xf86_ENOTDIR		1016
 | 
						|
#define xf86_EPIPE		1017
 | 
						|
#define xf86_EROFS		1018
 | 
						|
#define xf86_ETXTBSY		1019
 | 
						|
#define xf86_ENOTTY		1020
 | 
						|
#define xf86_ENOSYS		1021
 | 
						|
#define xf86_EBUSY		1022
 | 
						|
#define xf86_ENODEV		1023
 | 
						|
#define xf86_EIO		1024
 | 
						|
 | 
						|
#define xf86_ESRCH		1025
 | 
						|
#define xf86_ENXIO		1026
 | 
						|
#define xf86_E2BIG		1027
 | 
						|
#define xf86_ENOEXEC		1028
 | 
						|
#define xf86_ECHILD		1029
 | 
						|
#define xf86_ENOTBLK		1030
 | 
						|
#define xf86_EXDEV		1031
 | 
						|
#define xf86_EFBIG		1032
 | 
						|
#define xf86_ESPIPE		1033
 | 
						|
#define xf86_EMLINK		1034
 | 
						|
#define xf86_EDOM		1035
 | 
						|
#define xf86_ERANGE		1036
 | 
						|
 
 | 
						|
 | 
						|
/* sysv IPV */
 | 
						|
/* xf86shmget() */
 | 
						|
#define XF86IPC_CREAT  01000
 | 
						|
#define XF86IPC_EXCL   02000
 | 
						|
#define XF86IPC_NOWAIT 04000
 | 
						|
#define XF86SHM_R           0400         
 | 
						|
#define XF86SHM_W           0200            
 | 
						|
#define XF86IPC_PRIVATE ((xf86key_t)0)
 | 
						|
/* xf86shmat() */
 | 
						|
#define XF86SHM_RDONLY      010000      /* attach read-only else read-write */
 | 
						|
#define XF86SHM_RND         020000      /* round attach address to SHMLBA */
 | 
						|
#define XF86SHM_REMAP       040000      /* take-over region on attach */
 | 
						|
/* xf86shmclt() */
 | 
						|
#define XF86IPC_RMID 0
 | 
						|
 | 
						|
/*
 | 
						|
 * the rest of this file should only be included for code that is supposed
 | 
						|
 * to go into modules
 | 
						|
 */
 | 
						|
 | 
						|
#if !defined(DONT_DEFINE_WRAPPERS)
 | 
						|
 | 
						|
#undef abort
 | 
						|
#define abort()			xf86abort()
 | 
						|
#undef abs
 | 
						|
#define abs(i)			xf86abs(i)
 | 
						|
#undef acos
 | 
						|
#define acos(d)			xf86acos(d)
 | 
						|
#undef asin
 | 
						|
#define asin(d)			xf86asin(d)
 | 
						|
#undef atan
 | 
						|
#define atan(d)			xf86atan(d)
 | 
						|
#undef atan2
 | 
						|
#define atan2(d1,d2)		xf86atan2(d1,d2)
 | 
						|
#undef atof
 | 
						|
#define atof(ccp)		xf86atof(ccp)
 | 
						|
#undef atoi
 | 
						|
#define atoi(ccp)		xf86atoi(ccp)
 | 
						|
#undef atol
 | 
						|
#define atol(ccp)		xf86atol(ccp)
 | 
						|
#undef bsearch
 | 
						|
#define bsearch(a,b,c,d,e)	xf86bsearch(a,b,c,d,e)
 | 
						|
#undef ceil
 | 
						|
#define ceil(d)			xf86ceil(d)
 | 
						|
#undef calloc
 | 
						|
#define calloc(I1,I2)		xf86calloc(I1,I2)
 | 
						|
#undef clearerr
 | 
						|
#define clearerr(FP)		xf86clearerr(FP)
 | 
						|
#undef cos
 | 
						|
#define cos(d)			xf86cos(d)
 | 
						|
#undef exit
 | 
						|
#define exit(i)			xf86exit(i)
 | 
						|
#undef exp
 | 
						|
#define exp(d)			xf86exp(d)
 | 
						|
#undef fabs
 | 
						|
#define fabs(d)			xf86fabs(d)
 | 
						|
#undef fclose
 | 
						|
#define fclose(FP)		xf86fclose(FP)
 | 
						|
#undef feof
 | 
						|
#define feof(FP)		xf86feof(FP)
 | 
						|
#undef ferror
 | 
						|
#define ferror(FP)		xf86ferror(FP)
 | 
						|
#undef fflush
 | 
						|
#define fflush(FP)		xf86fflush(FP)
 | 
						|
#undef fgetc
 | 
						|
#define fgetc(FP)		xf86fgetc(FP)
 | 
						|
#undef getc
 | 
						|
#define getc(FP)		xf86getc(FP)
 | 
						|
#undef fgetpos
 | 
						|
#define fgetpos(FP,fpp)		xf86fgetpos(FP,fpp)
 | 
						|
#undef fgets
 | 
						|
#define fgets(cp,i,FP)		xf86fgets(cp,i,FP)
 | 
						|
#undef finite
 | 
						|
#define finite(d)		xf86finite(d)
 | 
						|
#undef floor
 | 
						|
#define floor(d)		xf86floor(d)
 | 
						|
#undef fmod
 | 
						|
#define fmod(d1,d2)		xf86fmod(d1,d2)
 | 
						|
#undef fopen
 | 
						|
#define fopen(ccp1,ccp2)	xf86fopen(ccp1,ccp2)
 | 
						|
#undef printf
 | 
						|
#define printf			xf86printf
 | 
						|
#undef fprintf
 | 
						|
#define fprintf			xf86fprintf
 | 
						|
#undef fputc
 | 
						|
#define fputc(i,FP)		xf86fputc(i,FP)
 | 
						|
#undef fputs
 | 
						|
#define fputs(ccp,FP)		xf86fputs(ccp,FP)
 | 
						|
#undef fread
 | 
						|
#define fread(vp,I1,I2,FP)	xf86fread(vp,I1,I2,FP)
 | 
						|
#undef free
 | 
						|
#define free(vp)		xf86free(vp)
 | 
						|
#undef freopen
 | 
						|
#define freopen(ccp1,ccp2,FP)	xf86freopen(ccp1,ccp2,FP)
 | 
						|
#undef frexp
 | 
						|
#define frexp(x,exp)            xf86frexp(x,exp)
 | 
						|
#undef fscanf
 | 
						|
#define fscanf			xf86fscanf
 | 
						|
#undef fseek
 | 
						|
#define fseek(FP,l,i)		xf86fseek(FP,l,i)
 | 
						|
#undef fsetpos
 | 
						|
#define fsetpos(FP,cfpp)	xf86fsetpos(FP,cfpp)
 | 
						|
#undef ftell
 | 
						|
#define ftell(FP)		xf86ftell(FP)
 | 
						|
#undef fwrite
 | 
						|
#define fwrite(cvp,I1,I2,FP)	xf86fwrite(cvp,I1,I2,FP)
 | 
						|
#undef getenv
 | 
						|
#define getenv(ccp)		xf86getenv(ccp)
 | 
						|
#undef isalnum
 | 
						|
#define isalnum(i)		xf86isalnum(i)
 | 
						|
#undef isalpha
 | 
						|
#define isalpha(i)		xf86isalpha(i)
 | 
						|
#undef iscntrl
 | 
						|
#define iscntrl(i)		xf86iscntrl(i)
 | 
						|
#undef isdigit
 | 
						|
#define isdigit(i)		xf86isdigit(i)
 | 
						|
#undef isgraph
 | 
						|
#define isgraph(i)		xf86isgraph(i)
 | 
						|
#undef islower
 | 
						|
#define islower(i)		xf86islower(i)
 | 
						|
#undef isprint
 | 
						|
#define isprint(i)		xf86isprint(i)
 | 
						|
#undef ispunct
 | 
						|
#define ispunct(i)		xf86ispunct(i)
 | 
						|
#undef isspace
 | 
						|
#define isspace(i)		xf86isspace(i)
 | 
						|
#undef isupper
 | 
						|
#define isupper(i)		xf86isupper(i)
 | 
						|
#undef isxdigit
 | 
						|
#define isxdigit(i)		xf86isxdigit(i)
 | 
						|
#undef labs
 | 
						|
#define labs(l)			xf86labs(l)
 | 
						|
#undef ldexp
 | 
						|
#define ldexp(x, exp)           xf86ldexp(x, exp)
 | 
						|
#undef log
 | 
						|
#define log(d)			xf86log(d)
 | 
						|
#undef log10
 | 
						|
#define log10(d)		xf86log10(d)
 | 
						|
#undef malloc
 | 
						|
#define malloc(I)		xf86malloc(I)
 | 
						|
#undef memchr
 | 
						|
#define memchr(cvp,i,I)		xf86memchr(cvp,i,I)
 | 
						|
#undef memcmp
 | 
						|
#define memcmp(cvp1,cvp2,I)	xf86memcmp(cvp1,cvp2,I)
 | 
						|
#undef memcpy
 | 
						|
#define memcpy(vp,cvp,I)	xf86memcpy(vp,cvp,I)
 | 
						|
#undef memmove
 | 
						|
#define memmove(vp,cvp,I)	xf86memmove(vp,cvp,I)
 | 
						|
#undef memset
 | 
						|
#define memset(vp,int,I)	xf86memset(vp,int,I)
 | 
						|
#undef modf
 | 
						|
#define modf(d,dp)		xf86modf(d,dp)
 | 
						|
#undef perror
 | 
						|
#define perror(ccp)		xf86perror(ccp)
 | 
						|
#undef pow
 | 
						|
#define pow(d1,d2)		xf86pow(d1,d2)
 | 
						|
#undef random
 | 
						|
#define random()		xf86random()
 | 
						|
#undef realloc
 | 
						|
#define realloc(vp,I)		xf86realloc(vp,I)
 | 
						|
#undef remove
 | 
						|
#define remove(ccp)		xf86remove(ccp)
 | 
						|
#undef rename
 | 
						|
#define rename(ccp1,ccp2)	xf86rename(ccp1,ccp2)
 | 
						|
#undef rewind
 | 
						|
#define rewind(FP)		xf86rewind(FP)
 | 
						|
#undef setbuf
 | 
						|
#define setbuf(FP,cp)		xf86setbuf(FP,cp)
 | 
						|
#undef setvbuf
 | 
						|
#define setvbuf(FP,cp,i,I)	xf86setvbuf(FP,cp,i,I)
 | 
						|
#undef sin
 | 
						|
#define sin(d)			xf86sin(d)
 | 
						|
#undef snprintf
 | 
						|
#define snprintf		xf86snprintf
 | 
						|
#undef sprintf
 | 
						|
#define sprintf			xf86sprintf
 | 
						|
#undef sqrt
 | 
						|
#define sqrt(d)			xf86sqrt(d)
 | 
						|
#undef sscanf
 | 
						|
#define sscanf			xf86sscanf
 | 
						|
#undef strcat
 | 
						|
#define strcat(cp,ccp)		xf86strcat(cp,ccp)
 | 
						|
#undef strcmp
 | 
						|
#define strcmp(ccp1,ccp2)	xf86strcmp(ccp1,ccp2)
 | 
						|
#undef strcasecmp
 | 
						|
#define strcasecmp(ccp1,ccp2)	xf86strcasecmp(ccp1,ccp2)
 | 
						|
#undef strcpy
 | 
						|
#define strcpy(cp,ccp)		xf86strcpy(cp,ccp)
 | 
						|
#undef strcspn
 | 
						|
#define strcspn(ccp1,ccp2)	xf86strcspn(ccp1,ccp2)
 | 
						|
#undef strerror
 | 
						|
#define strerror(i)		xf86strerror(i)
 | 
						|
#undef strlcat
 | 
						|
#define strlcat(cp,ccp,I)	xf86strlcat(cp,ccp,I)
 | 
						|
#undef strlcpy
 | 
						|
#define strlcpy(cp,ccp,I)	xf86strlcpy(cp,ccp,I)
 | 
						|
#undef strlen
 | 
						|
#define strlen(ccp)		xf86strlen(ccp)
 | 
						|
#undef strncmp
 | 
						|
#define strncmp(ccp1,ccp2,I)	xf86strncmp(ccp1,ccp2,I)
 | 
						|
#undef strncasecmp
 | 
						|
#define strncasecmp(ccp1,ccp2,I) xf86strncasecmp(ccp1,ccp2,I)
 | 
						|
#undef strncpy
 | 
						|
#define strncpy(cp,ccp,I)	xf86strncpy(cp,ccp,I)
 | 
						|
#undef strpbrk
 | 
						|
#define strpbrk(ccp1,ccp2)	xf86strpbrk(ccp1,ccp2)
 | 
						|
#undef strchr
 | 
						|
#define strchr(ccp,i)		xf86strchr(ccp,i)
 | 
						|
#undef strrchr
 | 
						|
#define strrchr(ccp,i)		xf86strrchr(ccp,i)
 | 
						|
#undef strspn
 | 
						|
#define strspn(ccp1,ccp2)	xf86strspn(ccp1,ccp2)
 | 
						|
#undef strstr
 | 
						|
#define strstr(ccp1,ccp2)	xf86strstr(ccp1,ccp2)
 | 
						|
#undef srttod
 | 
						|
#define strtod(ccp,cpp)		xf86strtod(ccp,cpp)
 | 
						|
#undef strtok
 | 
						|
#define strtok(cp,ccp)		xf86strtok(cp,ccp)
 | 
						|
#undef strtol
 | 
						|
#define strtol(ccp,cpp,i)	xf86strtol(ccp,cpp,i)
 | 
						|
#undef strtoul
 | 
						|
#define strtoul(ccp,cpp,i)	xf86strtoul(ccp,cpp,i)
 | 
						|
#undef tan
 | 
						|
#define tan(d)			xf86tan(d)
 | 
						|
#undef tmpfile
 | 
						|
#define tmpfile()		xf86tmpfile()
 | 
						|
#undef tolower
 | 
						|
#define tolower(i)		xf86tolower(i)
 | 
						|
#undef toupper
 | 
						|
#define toupper(i)		xf86toupper(i)
 | 
						|
#undef ungetc
 | 
						|
#define ungetc(i,FP)		xf86ungetc(i,FP)
 | 
						|
#undef vfprinf
 | 
						|
#define vfprintf(p,f,a)		xf86vfprintf(p,f,a)
 | 
						|
#undef vsnprintf
 | 
						|
#define vsnprintf(s,n,f,a)	xf86vsnprintf(s,n,f,a)
 | 
						|
#undef vsprintf
 | 
						|
#define vsprintf(s,f,a)		xf86vsprintf(s,f,a)
 | 
						|
/* XXX Disable assert as if NDEBUG was defined */
 | 
						|
/* Some X headers defined this away too */
 | 
						|
#undef assert
 | 
						|
#define assert(a)		((void)0)
 | 
						|
#undef HUGE_VAL
 | 
						|
#define HUGE_VAL		xf86HUGE_VAL
 | 
						|
 | 
						|
#undef hypot
 | 
						|
#define hypot(x,y)		xf86hypot(x,y)
 | 
						|
 | 
						|
#undef qsort
 | 
						|
#define qsort(b, n, s, f)	xf86qsort(b, n, s, f)
 | 
						|
 | 
						|
/* non-ANSI C functions */
 | 
						|
#undef opendir
 | 
						|
#define opendir(cp)		xf86opendir(cp)
 | 
						|
#undef closedir
 | 
						|
#define closedir(DP)		xf86closedir(DP)
 | 
						|
#undef readdir
 | 
						|
#define readdir(DP)		xf86readdir(DP)
 | 
						|
#undef rewinddir
 | 
						|
#define rewinddir(DP)		xf86rewinddir(DP)
 | 
						|
#undef bcopy
 | 
						|
#define bcopy(vp,cvp,I)		xf86memmove(cvp,vp,I)
 | 
						|
#undef ffs
 | 
						|
#define ffs(i)			xf86ffs(i)
 | 
						|
#undef strdup
 | 
						|
#define strdup(ccp)		xf86strdup(ccp)
 | 
						|
#undef bzero
 | 
						|
#define bzero(vp,ui)		xf86bzero(vp,ui)
 | 
						|
#undef execl
 | 
						|
#define execl	        	xf86execl
 | 
						|
#undef chmod
 | 
						|
#define chmod(a,b)              xf86chmod(a,b)
 | 
						|
#undef chown
 | 
						|
#define chown(a,b,c)            xf86chown(a,b,c)
 | 
						|
#undef geteuid
 | 
						|
#define geteuid                 xf86geteuid
 | 
						|
#undef getegid
 | 
						|
#define getegid                 xf86getegid
 | 
						|
#undef getpid
 | 
						|
#define getpid                  xf86getpid
 | 
						|
#undef mknod
 | 
						|
#define mknod(a,b,c)            xf86mknod(a,b,c)
 | 
						|
#undef sleep
 | 
						|
#define sleep(a)                xf86sleep(a)
 | 
						|
#undef mkdir
 | 
						|
#define mkdir(a,b)              xf86mkdir(a,b)
 | 
						|
#undef getpagesize
 | 
						|
#define getpagesize		xf86getpagesize
 | 
						|
#undef shmget
 | 
						|
#define shmget(a,b,c)		xf86shmget(a,b,c)
 | 
						|
#undef shmat
 | 
						|
#define shmat(a,b,c)		xf86shmat(a,b,c)
 | 
						|
#undef shmdt
 | 
						|
#define shmdt(a)		xf86shmdt(a)
 | 
						|
#undef shmctl
 | 
						|
#define shmctl(a,b,c)		xf86shmctl(a,b,c)
 | 
						|
 | 
						|
#undef S_ISUID
 | 
						|
#define S_ISUID XF86_S_ISUID
 | 
						|
#undef S_ISGID
 | 
						|
#define S_ISGID XF86_S_ISGID
 | 
						|
#undef S_ISVTX
 | 
						|
#define S_ISVTX XF86_S_ISVTX
 | 
						|
#undef S_IRUSR
 | 
						|
#define S_IRUSR XF86_S_IRUSR
 | 
						|
#undef S_IWUSR
 | 
						|
#define S_IWUSR XF86_S_IWUSR
 | 
						|
#undef S_IXUSR
 | 
						|
#define S_IXUSR XF86_S_IXUSR
 | 
						|
#undef S_IRGRP
 | 
						|
#define S_IRGRP XF86_S_IRGRP
 | 
						|
#undef S_IWGRP
 | 
						|
#define S_IWGRP XF86_S_IWGRP
 | 
						|
#undef S_IXGRP
 | 
						|
#define S_IXGRP XF86_S_IXGRP
 | 
						|
#undef S_IROTH
 | 
						|
#define S_IROTH XF86_S_IROTH
 | 
						|
#undef S_IWOTH
 | 
						|
#define S_IWOTH XF86_S_IWOTH
 | 
						|
#undef S_IXOTH
 | 
						|
#define S_IXOTH XF86_S_IXOTH
 | 
						|
#undef S_IFREG
 | 
						|
#define S_IFREG XF86_S_IFREG
 | 
						|
#undef S_IFCHR
 | 
						|
#define S_IFCHR XF86_S_IFCHR
 | 
						|
#undef S_IFBLK
 | 
						|
#define S_IFBLK XF86_S_IFBLK
 | 
						|
#undef S_IFIFO
 | 
						|
#define S_IFIFO XF86_S_IFIFO
 | 
						|
 | 
						|
/* some types */
 | 
						|
#undef FILE
 | 
						|
#define FILE			XF86FILE
 | 
						|
#undef fpos_t
 | 
						|
#define fpos_t			XF86fpos_t
 | 
						|
#undef DIR
 | 
						|
#define DIR			XF86DIR
 | 
						|
#undef DIRENT
 | 
						|
#define DIRENT			XF86DIRENT
 | 
						|
#undef size_t
 | 
						|
#define size_t			xf86size_t
 | 
						|
#undef ssize_t
 | 
						|
#define ssize_t			xf86ssize_t
 | 
						|
#undef dev_t
 | 
						|
#define dev_t                   xf86dev_t
 | 
						|
#undef mode_t
 | 
						|
#define mode_t                  xf86mode_t
 | 
						|
#undef uid_t
 | 
						|
#define uid_t                   xf86uid_t
 | 
						|
#undef gid_t
 | 
						|
#define gid_t                   xf86gid_t
 | 
						|
#undef stat_t
 | 
						|
#define stat_t			struct xf86stat
 | 
						|
 | 
						|
#undef ulong
 | 
						|
#define ulong			unsigned long
 | 
						|
 | 
						|
/*
 | 
						|
 * There should be no need to #undef any of these.  If they are already
 | 
						|
 * defined it is because some illegal header has been included.
 | 
						|
 */
 | 
						|
 | 
						|
/* some vars */
 | 
						|
#undef stdin
 | 
						|
#define	stdin			xf86stdin
 | 
						|
#undef stdout
 | 
						|
#define stdout			xf86stdout
 | 
						|
#undef stderr
 | 
						|
#define stderr			xf86stderr
 | 
						|
 | 
						|
#undef SEEK_SET
 | 
						|
#define SEEK_SET		XF86_SEEK_SET
 | 
						|
#undef SEEK_CUR
 | 
						|
#define SEEK_CUR		XF86_SEEK_CUR
 | 
						|
#undef SEEK_END
 | 
						|
#define SEEK_END		XF86_SEEK_END
 | 
						|
 | 
						|
/*
 | 
						|
 * XXX Basic I/O functions BAD,BAD,BAD!
 | 
						|
 */
 | 
						|
#define open			xf86open
 | 
						|
#define close(a)		xf86close(a)
 | 
						|
#define lseek(a,b,c)		xf86lseek(a,b,c)
 | 
						|
#if !defined(__DragonFly__)
 | 
						|
#define ioctl(a,b,c)		xf86ioctl(a,b,c)
 | 
						|
#endif
 | 
						|
#define read(a,b,c)		xf86read(a,b,c)
 | 
						|
#define write(a,b,c)		xf86write(a,b,c)
 | 
						|
#define mmap(a,b,c,d,e,f)	xf86mmap(a,b,c,d,e,f)
 | 
						|
#define munmap(a,b)		xf86munmap(a,b)
 | 
						|
#define stat(a,b)               xf86stat(a,b)
 | 
						|
#define fstat(a,b)              xf86fstat(a,b)
 | 
						|
#define access(a,b)             xf86access(a,b)
 | 
						|
#undef O_RDONLY
 | 
						|
#define O_RDONLY		XF86_O_RDONLY
 | 
						|
#undef O_WRONLY
 | 
						|
#define O_WRONLY		XF86_O_WRONLY
 | 
						|
#undef O_RDWR
 | 
						|
#define O_RDWR			XF86_O_RDWR
 | 
						|
#undef O_CREAT
 | 
						|
#define O_CREAT			XF86_O_CREAT
 | 
						|
#undef PROT_EXEC
 | 
						|
#define PROT_EXEC		XF86_PROT_EXEC
 | 
						|
#undef PROT_READ
 | 
						|
#define PROT_READ		XF86_PROT_READ
 | 
						|
#undef PROT_WRITE
 | 
						|
#define PROT_WRITE		XF86_PROT_WRITE
 | 
						|
#undef PROT_NONE
 | 
						|
#define PROT_NONE		XF86_PROT_NONE
 | 
						|
#undef MAP_FIXED
 | 
						|
#define MAP_FIXED		XF86_MAP_FIXED
 | 
						|
#undef MAP_SHARED
 | 
						|
#define MAP_SHARED		XF86_MAP_SHARED
 | 
						|
#undef MAP_PRIVATE
 | 
						|
#define MAP_PRIVATE		XF86_MAP_PRIVATE
 | 
						|
#undef MAP_FAILED
 | 
						|
#define MAP_FAILED		XF86_MAP_FAILED
 | 
						|
#undef R_OK
 | 
						|
#define R_OK                    XF86_R_OK
 | 
						|
#undef W_OK
 | 
						|
#define W_OK                    XF86_W_OK
 | 
						|
#undef X_OK
 | 
						|
#define X_OK                    XF86_X_OK
 | 
						|
#undef F_OK
 | 
						|
#define F_OK                    XF86_F_OK
 | 
						|
#undef errno
 | 
						|
#define errno			xf86errno
 | 
						|
#undef putchar
 | 
						|
#define putchar(i)		xf86fputc(i, xf86stdout)
 | 
						|
#undef puts
 | 
						|
#define puts(s)			xf86fputs(s, xf86stdout)
 | 
						|
 | 
						|
#undef EACCES
 | 
						|
#define EACCES		xf86_EACCES
 | 
						|
#undef EAGAIN
 | 
						|
#define EAGAIN		xf86_EAGAIN
 | 
						|
#undef EBADF
 | 
						|
#define EBADF		xf86_EBADF
 | 
						|
#undef EEXIST
 | 
						|
#define EEXIST		xf86_EEXIST
 | 
						|
#undef EFAULT
 | 
						|
#define EFAULT		xf86_EFAULT
 | 
						|
#undef EINTR
 | 
						|
#define EINTR		xf86_EINTR
 | 
						|
#undef EINVAL
 | 
						|
#define EINVAL		xf86_EINVAL
 | 
						|
#undef EISDIR
 | 
						|
#define EISDIR		xf86_EISDIR
 | 
						|
#undef ELOOP
 | 
						|
#define ELOOP		xf86_ELOOP
 | 
						|
#undef EMFILE
 | 
						|
#define EMFILE		xf86_EMFILE
 | 
						|
#undef ENAMETOOLONG
 | 
						|
#define ENAMETOOLONG	xf86_ENAMETOOLONG
 | 
						|
#undef ENFILE
 | 
						|
#define ENFILE		xf86_ENFILE
 | 
						|
#undef ENOENT
 | 
						|
#define ENOENT		xf86_ENOENT
 | 
						|
#undef ENOMEM
 | 
						|
#define ENOMEM		xf86_ENOMEM
 | 
						|
#undef ENOSPC
 | 
						|
#define ENOSPC		xf86_ENOSPC
 | 
						|
#undef ENOTDIR
 | 
						|
#define ENOTDIR		xf86_ENOTDIR
 | 
						|
#undef EPIPE
 | 
						|
#define EPIPE		xf86_EPIPE
 | 
						|
#undef EROFS
 | 
						|
#define EROFS		xf86_EROFS
 | 
						|
#undef ETXTBSY
 | 
						|
#define ETXTBSY		xf86_ETXTBSY
 | 
						|
#undef ENOTTY
 | 
						|
#define ENOTTY		xf86_ENOTTY
 | 
						|
#undef ENOSYS
 | 
						|
#define ENOSYS		xf86_ENOSYS
 | 
						|
#undef EBUSY
 | 
						|
#define EBUSY		xf86_EBUSY
 | 
						|
#undef ENODEV
 | 
						|
#define ENODEV		xf86_ENODEV
 | 
						|
#undef EIO
 | 
						|
#define EIO		xf86_EIO
 | 
						|
 | 
						|
/* IPC stuff */
 | 
						|
#undef SHM_RDONLY
 | 
						|
#define SHM_RDONLY XF86SHM_RDONLY
 | 
						|
#undef SHM_RND
 | 
						|
#define SHM_RND XF86SHM_RND
 | 
						|
#undef SHM_REMAP
 | 
						|
#define SHM_REMAP XF86SHM_REMAP
 | 
						|
#undef IPC_RMID
 | 
						|
#define IPC_RMID XF86IPC_RMID
 | 
						|
#undef IPC_CREAT
 | 
						|
#define IPC_CREAT XF86IPC_CREAT
 | 
						|
#undef IPC_EXCL
 | 
						|
#define IPC_EXCL XF86IPC_EXCL
 | 
						|
#undef PC_NOWAIT
 | 
						|
#define IPC_NOWAIT XF86IPC_NOWAIT
 | 
						|
#undef SHM_R
 | 
						|
#define SHM_R XF86SHM_R
 | 
						|
#undef SHM_W
 | 
						|
#define SHM_W XF86SHM_W
 | 
						|
#undef IPC_PRIVATE
 | 
						|
#define IPC_PRIVATE XF86IPC_PRIVATE
 | 
						|
 | 
						|
/* Some ANSI macros */
 | 
						|
#undef FILENAME_MAX
 | 
						|
#define FILENAME_MAX		1024
 | 
						|
 | 
						|
#if (defined(sun) && defined(__SVR4)) 
 | 
						|
# define _FILEDEFED /* Already have FILE defined, don't redefine it */
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* !DONT_DEFINE_WRAPPERS */
 | 
						|
 | 
						|
#if (!defined(DONT_DEFINE_WRAPPERS) || defined(DEFINE_SETJMP_WRAPPERS))
 | 
						|
#undef setjmp
 | 
						|
#define setjmp(a)               xf86setjmp_macro(a)
 | 
						|
#undef longjmp
 | 
						|
#define longjmp(a,b)            xf86longjmp(a,b) 
 | 
						|
#undef jmp_buf
 | 
						|
#define jmp_buf                 xf86jmp_buf
 | 
						|
#endif
 | 
						|
 | 
						|
#endif /* XF86_LIBC_H */
 |