/* * sysdeps.h - System dependent definitions * * cxmon (C) 1997-2004 Christian Bauer, Marc Hellwig * * This program is free software; 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. * * This program is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the * GNU General Public License for more details. * * You should have received a copy of the GNU General Public License * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #ifndef SYSDEPS_H #define SYSDEPS_H #ifndef __STDC__ #error "Your compiler is not ANSI. Get a real one." #endif #include "config.h" #ifndef STDC_HEADERS #error "You don't have ANSI C header files." #endif #ifdef HAVE_UNISTD_H # include # include #endif #include #include #include /* Data types */ #ifdef __BEOS__ #include #else typedef unsigned char uint8; typedef signed char int8; #if SIZEOF_SHORT == 2 typedef unsigned short uint16; typedef short int16; #elif SIZEOF_INT == 2 typedef unsigned int uint16; typedef int int16; #else #error "No 2 byte type, you lose." #endif #if SIZEOF_INT == 4 typedef unsigned int uint32; typedef int int32; #elif SIZEOF_LONG == 4 typedef unsigned long uint32; typedef long int32; #else #error "No 4 byte type, you lose." #endif #if SIZEOF_LONG == 8 typedef unsigned long uint64; typedef long int64; #define VAL64(a) (a ## l) #define UVAL64(a) (a ## ul) #elif SIZEOF_LONG_LONG == 8 typedef unsigned long long uint64; typedef long long int64; #define VAL64(a) (a ## LL) #define UVAL64(a) (a ## uLL) #else #error "No 8 byte type, you lose." #endif #if SIZEOF_VOID_P == 4 typedef uint32 uintptr; typedef int32 intptr; #elif SIZEOF_VOID_P == 8 typedef uint64 uintptr; typedef int64 intptr; #else #error "Unsupported size of pointer" #endif #endif // def __BEOS__ #endif