diff options
Diffstat (limited to 'source4/lib/ejs/mprOs.h')
-rw-r--r-- | source4/lib/ejs/mprOs.h | 627 |
1 files changed, 0 insertions, 627 deletions
diff --git a/source4/lib/ejs/mprOs.h b/source4/lib/ejs/mprOs.h deleted file mode 100644 index 6a6d0b4205..0000000000 --- a/source4/lib/ejs/mprOs.h +++ /dev/null @@ -1,627 +0,0 @@ -/* - * @file mprOs.h - * @brief Include O/S headers and smooth out per-O/S differences - * @copy default - * - * Copyright (c) Mbedthis Software LLC, 2003-2005. All Rights Reserved. - * - * This software is distributed under commercial and open source licenses. - * You may use the GPL open source license described below or you may acquire - * a commercial license from Mbedthis Software. You agree to be fully bound - * by the terms of either license. Consult the LICENSE.TXT distributed with - * this software for full details. - * - * This software is open source; you can redistribute it and/or modify it - * under the terms of the GNU General Public License as published by the - * Free Software Foundation; either version 2 of the License, or (at your - * option) any later version. See the GNU General Public License for more - * details at: http://www.mbedthis.com/downloads/gplLicense.html - * - * This program is distributed WITHOUT ANY WARRANTY; without even the - * implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. - * - * This GPL license does NOT permit incorporating this software into - * proprietary programs. If you are unable to comply with the GPL, you must - * acquire a commercial license to use this software. Commercial licenses - * for this software and support services are available from Mbedthis - * Software at http://www.mbedthis.com - * - * @end - ******************************* Documentation ********************************* - * - * This header is part of the Mbedthis Portable Runtime and aims to include - * all necessary O/S headers and to unify the constants and declarations - * required by Mbedthis products. It can be included by C or C++ programs. - * - ********************************************************************************/ - -#error foo - -blah blah; - -#ifndef _h_MPR_OS_HDRS -#define _h_MPR_OS_HDRS 1 - -#include "lib/ejs/config.h" - -/********************************* CPU Families *********************************/ -/* - * Porters, add your CPU families here and update configure code. - */ -#define MPR_CPU_UNKNOWN 0 -#define MPR_CPU_IX86 1 -#define MPR_CPU_PPC 2 -#define MPR_CPU_SPARC 3 -#define MPR_CPU_XSCALE 4 -#define MPR_CPU_ARM 5 -#define MPR_CPU_MIPS 6 -#define MPR_CPU_68K 7 -#define MPR_CPU_SIMNT 8 /* VxWorks NT simulator */ -#define MPR_CPU_SIMSPARC 9 /* VxWorks sparc simulator */ - -/********************************* O/S Includes *********************************/ - -#if LINUX || SOLARIS - #include <sys/types.h> - #include <time.h> - #include <arpa/inet.h> - #include <ctype.h> - #include <dlfcn.h> - #include <fcntl.h> - #include <grp.h> - #include <errno.h> - #include <libgen.h> - #include <limits.h> - #include <netdb.h> - #include <net/if.h> - #include <netinet/in.h> - #include <netinet/tcp.h> - #include <netinet/ip.h> - #include <pthread.h> - #include <pwd.h> - #include <resolv.h> - #include <signal.h> - #include <stdarg.h> - #include <stdio.h> - #include <stdlib.h> - #include <string.h> - #include <syslog.h> - #include <sys/ioctl.h> - #include <sys/stat.h> - #include <sys/param.h> - #include <sys/resource.h> - #include <sys/sem.h> - #include <sys/shm.h> - #include <sys/socket.h> - #include <sys/select.h> - #include <sys/time.h> - #include <sys/times.h> - #include <sys/utsname.h> - #include <sys/wait.h> - #include <unistd.h> - -#if LINUX - #include <stdint.h> -#endif - -#if SOLARIS - #include <netinet/in_systm.h> -#endif - -#if BLD_FEATURE_FLOATING_POINT - #define __USE_ISOC99 1 - #include <math.h> - #include <values.h> -#endif - -#endif /* LINUX || SOLARIS */ - -#if VXWORKS - #include <vxWorks.h> - #include <envLib.h> - #include <sys/types.h> - #include <time.h> - #include <arpa/inet.h> - #include <ctype.h> - #include <fcntl.h> - #include <errno.h> - #include <limits.h> - #include <loadLib.h> - #include <netdb.h> - #include <net/if.h> - #include <netinet/tcp.h> - #include <netinet/in.h> - #include <netinet/ip.h> - #include <signal.h> - #include <stdarg.h> - #include <stdio.h> - #include <stdlib.h> - #include <string.h> - #include <sysSymTbl.h> - #include <sys/fcntlcom.h> - #include <sys/ioctl.h> - #include <sys/stat.h> - #include <sys/socket.h> - #include <sys/times.h> - #include <sys/wait.h> - #include <unistd.h> - #include <unldLib.h> - - #if BLD_FEATURE_FLOATING_POINT - #include <float.h> - #define __USE_ISOC99 1 - #include <math.h> - #endif - - #include <sockLib.h> - #include <inetLib.h> - #include <ioLib.h> - #include <pipeDrv.h> - #include <hostLib.h> - #include <netdb.h> - #include <tickLib.h> - #include <taskHookLib.h> - -#endif /* VXWORKS */ - -#if MACOSX - #include <time.h> - #include <arpa/inet.h> - #include <ctype.h> - #include <fcntl.h> - #include <grp.h> - #include <errno.h> - #include <libgen.h> - #include <limits.h> - #include <mach-o/dyld.h> - #include <netdb.h> - #include <net/if.h> - #include <netinet/in_systm.h> - #include <netinet/in.h> - #include <netinet/tcp.h> - #include <netinet/ip.h> - #include <pthread.h> - #include <pwd.h> - #include <resolv.h> - #include <signal.h> - #include <stdarg.h> - #include <stdio.h> - #include <stdlib.h> - #include <stdint.h> - #include <string.h> - #include <syslog.h> - #include <sys/ioctl.h> - #include <sys/types.h> - #include <sys/stat.h> - #include <sys/param.h> - #include <sys/resource.h> - #include <sys/sem.h> - #include <sys/shm.h> - #include <sys/socket.h> - #include <sys/select.h> - #include <sys/time.h> - #include <sys/times.h> - #include <sys/types.h> - #include <sys/utsname.h> - #include <sys/wait.h> - #include <unistd.h> -#endif /* MACOSX */ - -#if WIN - #include <ctype.h> - #include <conio.h> - #include <direct.h> - #include <errno.h> - #include <fcntl.h> - #include <io.h> - #include <limits.h> - #include <malloc.h> - #include <process.h> - #include <sys/stat.h> - #include <sys/types.h> - #include <stddef.h> - #include <stdio.h> - #include <stdlib.h> - #include <string.h> - #include <stdarg.h> - #include <time.h> - #define WIN32_LEAN_AND_MEAN - #include <winsock2.h> - #include <windows.h> - #include <winbase.h> - #if BLD_FEATURE_FLOATING_POINT - #include <float.h> - #endif - #include <shlobj.h> - #include <shellapi.h> - #include <wincrypt.h> -#endif /* WIN */ - -#ifdef __cplusplus -extern "C" { -#endif - -/********************************************************************************/ -/******************************* General Defines ********************************/ -/********************************************************************************/ - -#define MAXINT INT_MAX -#define BITS(type) (BITSPERBYTE * (int) sizeof(type)) - -#ifndef max -#define max(a,b) (((a) > (b)) ? (a) : (b)) -#endif - -#ifndef min -#define min(a,b) (((a) < (b)) ? (a) : (b)) -#endif - -/* - * Set FD_SETSIZE to the maximum number of files (sockets) that you want to - * support. It is used in select.cpp. - * - * #ifdef FD_SETSIZE - * #undef FD_SETSIZE - * #endif - * #define FD_SETSIZE 128 - */ - -typedef char *MprStr; /* Used for dynamic strings */ - -/********************************************************************************/ -/*******************************/ Linux Defines *********************************/ -/********************************************************************************/ - -#if LINUX - typedef unsigned char uchar; - -#if BLD_FEATURE_INT64 - __extension__ typedef long long int int64; - __extension__ typedef unsigned long long int uint64; - #define INT64(x) (x##LL) -#endif - - #define closesocket(x) close(x) - #define MPR_BINARY "" - #define MPR_TEXT "" - #define O_BINARY 0 - #define O_TEXT 0 - #define SOCKET_ERROR -1 - #define MPR_DLL_EXT ".so" - -#if BLD_FEATURE_FLOATING_POINT - #define MAX_FLOAT MAXFLOAT -#endif - - #if BLD_FEATURE_MALLOC - /* - * PORTERS: You will need add assembler code for your architecture here - * only if you want to use the fast malloc (BLD_FEATURE_MALLOC) - */ - #if UNUSED - #define MPR_GET_RETURN(ip) __builtin_return_address(0) - #else - #if BLD_HOST_CPU_ARCH == MPR_CPU_IX86 - #define MPR_GET_RETURN(ip) \ - asm("movl 4(%%ebp),%%eax ; movl %%eax,%0" : \ - "=g" (ip) : \ - : "eax") - #endif -#endif /* UNUSED */ -#endif /* BLD_FEATURE_MALLOC */ - -#if FUTURE -/* #define mprGetHiResTime(x) __asm__ __volatile__ ("rdtsc" : "=A" (x)) */ -/* extern char *inet_ntoa_r(const struct in_addr in, char *buffer, int buflen); */ - - /* */ - /* Atomic functions */ - /* */ - typedef struct { volatile int counter; } mprAtomic_t; - - #if BLD_FEATURE_MULTITHREAD - #define LOCK "lock ; " - #else - #define LOCK "" - #endif - - static __inline__ void mprAtomicInc(mprAtomic_t* v) { - __asm__ __volatile__( - LOCK "incl %0" - :"=m" (v->counter) - :"m" (v->counter)); - } - - static __inline__ void mprAtomicDec(mprAtomic_t* v) { - __asm__ __volatile__( - LOCK "decl %0" - :"=m" (v->counter) - :"m" (v->counter)); - } -#endif /* FUTURE */ - -#endif /* LINUX */ - -/********************************************************************************/ -/******************************* VxWorks Defines ********************************/ -/********************************************************************************/ - -#if VXWORKS - - typedef unsigned char uchar; - typedef unsigned int uint; - typedef unsigned long ulong; - - #define HAVE_SOCKLEN_T - typedef int socklen_t; - -#if BLD_FEATURE_INT64 - typedef long long int int64; - typedef unsigned long long int uint64; - #define INT64(x) (x##LL) -#endif - - #define closesocket(x) close(x) - #define getpid() taskIdSelf() - #define MPR_BINARY "" - #define MPR_TEXT "" - #define O_BINARY 0 - #define O_TEXT 0 - #define SOCKET_ERROR -1 - #define MPR_DLL_EXT ".so" - -#if BLD_FEATURE_FLOATING_POINT - #define MAX_FLOAT FLT_MAX -#endif - - #undef R_OK - #define R_OK 4 - #undef W_OK - #define W_OK 2 - #undef X_OK - #define X_OK 1 - #undef F_OK - #define F_OK 0 - - #define MSG_NOSIGNAL 0 - - extern int access(char *path, int mode); - extern int sysClkRateGet(); - - #if BLD_FEATURE_MALLOC - /* - * PORTERS: You will need add assembler code for your architecture here - * only if you want to use the fast malloc (BLD_FEATURE_MALLOC) - */ - #if UNUSED - #define MPR_GET_RETURN(ip) __builtin_return_address(0) - #else - #if BLD_HOST_CPU_ARCH == MPR_CPU_IX86 - #define MPR_GET_RETURN(ip) \ - asm("movl 4(%%ebp),%%eax ; movl %%eax,%0" : \ - "=g" (ip) : \ - : "eax") - #endif -#endif /* UNUSED */ -#endif /* BLD_FEATURE_MALLOC */ -#endif /* VXWORKS */ - -/********************************************************************************/ -/******************************** MacOsx Defines ********************************/ -/********************************************************************************/ -#if MACOSX - typedef unsigned long ulong; - typedef unsigned char uchar; - -#if BLD_FEATURE_INT64 - __extension__ typedef long long int int64; - __extension__ typedef unsigned long long int uint64; - #define INT64(x) (x##LL) -#endif - #define closesocket(x) close(x) - #define MPR_BINARY "" - #define MPR_TEXT "" - #define O_BINARY 0 - #define O_TEXT 0 - #define SOCKET_ERROR -1 - #define MPR_DLL_EXT ".dylib" - #define MSG_NOSIGNAL 0 - #define __WALL 0x40000000 - #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE - -#if BLD_FEATURE_FLOATING_POINT - #define MAX_FLOAT MAXFLOAT -#endif - - #if MPR_FEATURE_MALLOC - /* - * PORTERS: You will need add assembler code for your architecture here - * only if you want to use the fast malloc (MPR_FEATURE_MALLOC) - */ - #define MPR_GET_RETURN(ip) __builtin_return_address - #endif - -#if FUTURE -/* #define mprGetHiResTime(x) __asm__ __volatile__ ("rdtsc" : "=A" (x)) */ -/* extern char *inet_ntoa_r(const struct in_addr in, char *buffer, int buflen); */ - - /* */ - /* Atomic functions */ - /* */ - typedef struct { volatile int counter; } mprAtomic_t; - - #if MPR_FEATURE_MULTITHREAD - #define LOCK "lock ; " - #else - #define LOCK "" - #endif - - static __inline__ void mprAtomicInc(mprAtomic_t* v) { - __asm__ __volatile__( - LOCK "incl %0" - :"=m" (v->counter) - :"m" (v->counter)); - } - - static __inline__ void mprAtomicDec(mprAtomic_t* v) { - __asm__ __volatile__( - LOCK "decl %0" - :"=m" (v->counter) - :"m" (v->counter)); - } -#endif -#endif /* MACOSX */ - -/********************************************************************************/ -/******************************* Windows Defines ********************************/ -/********************************************************************************/ - -#if WIN - typedef unsigned char uchar; - typedef unsigned int uint; - typedef unsigned long ulong; - typedef unsigned short ushort; - -#if BLD_FEATURE_INT64 - typedef __int64 int64; - typedef unsigned __int64 uint64; - #define INT64(x) (x##i64) -#endif - - typedef int uid_t; - typedef void *handle; - typedef char *caddr_t; - typedef long pid_t; - typedef int gid_t; - typedef ushort mode_t; - typedef void *siginfo_t; - - #define HAVE_SOCKLEN_T - typedef int socklen_t; - - #undef R_OK - #define R_OK 4 - #undef W_OK - #define W_OK 2 - #undef X_OK - #define X_OK 1 - #undef F_OK - #define F_OK 0 - - #ifndef EADDRINUSE - #define EADDRINUSE 46 - #endif - #ifndef EWOULDBLOCK - #define EWOULDBLOCK EAGAIN - #endif - #ifndef ENETDOWN - #define ENETDOWN 43 - #endif - #ifndef ECONNRESET - #define ECONNRESET 44 - #endif - #ifndef ECONNREFUSED - #define ECONNREFUSED 45 - #endif - - #define MSG_NOSIGNAL 0 - #define MPR_BINARY "b" - #define MPR_TEXT "t" - -#if BLD_FEATURE_FLOATING_POINT - #define MAX_FLOAT DBL_MAX -#endif - -#ifndef FILE_FLAG_FIRST_PIPE_INSTANCE -#define FILE_FLAG_FIRST_PIPE_INSTANCE 0x00080000 -#endif - - #define access _access - #define close _close - #define fileno _fileno - #define fstat _fstat - #define getpid _getpid - #define open _open - #define putenv _putenv - #define read _read - #define stat _stat - #define umask _umask - #define unlink _unlink - #define write _write - #define strdup _strdup - #define lseek _lseek - - #define mkdir(a,b) _mkdir(a) - #define rmdir(a) _rmdir(a) - - #if BLD_FEATURE_MALLOC - /* - * PORTERS: You will need add assembler code for your architecture here - * only if you want to use the fast malloc (BLD_FEATURE_MALLOC) - */ - #if MPR_CPU_IX86 - #define MPR_GET_RETURN(ip) \ - __asm { mov eax, 4[ebp] } \ - __asm { mov ip, eax } - #endif - #endif - - #define MPR_DLL_EXT ".dll" - - extern void srand48(long); - extern long lrand48(void); - extern long ulimit(int, ...); - extern long nap(long); - extern uint sleep(unsigned int secs); - extern uid_t getuid(void); - extern uid_t geteuid(void); - -#endif /* WIN */ - -/********************************************************************************/ -/*****************************/ Solaris Defines *********************************/ -/********************************************************************************/ - -#if SOLARIS - typedef unsigned char uchar; - -#if BLD_FEATURE_INT64 - typedef long long int int64; - typedef unsigned long long int uint64; - #define INT64(x) (x##LL) -#endif - - #define closesocket(x) close(x) - #define MPR_BINARY "" - #define MPR_TEXT "" - #define O_BINARY 0 - #define O_TEXT 0 - #define SOCKET_ERROR -1 - #define MPR_DLL_EXT ".so" - #define MSG_NOSIGNAL 0 - #define INADDR_NONE ((in_addr_t) 0xffffffff) - #define __WALL 0 - #define PTHREAD_MUTEX_RECURSIVE_NP PTHREAD_MUTEX_RECURSIVE - -#if BLD_FEATURE_FLOATING_POINT - #define MAX_FLOAT MAXFLOAT -#endif - -#endif /* SOLARIS */ - -/********************************************************************************/ -#ifdef __cplusplus -} -#endif - -#endif /* _h_MPR_OS_HDRS */ - -/* - * Local variables: - * tab-width: 4 - * c-basic-offset: 4 - * End: - * vim:tw=78 - * vim600: sw=4 ts=4 fdm=marker - * vim<600: sw=4 ts=4 - */ |