gltypes.h

00001 /*
00002 Copyright (c) 2000-2003 Lee Thomason (www.grinninglizard.com)
00003 Grinning Lizard Utilities.
00004 
00005 This software is provided 'as-is', without any express or implied 
00006 warranty. In no event will the authors be held liable for any 
00007 damages arising from the use of this software.
00008 
00009 Permission is granted to anyone to use this software for any 
00010 purpose, including commercial applications, and to alter it and 
00011 redistribute it freely, subject to the following restrictions:
00012 
00013 1. The origin of this software must not be misrepresented; you must 
00014 not claim that you wrote the original software. If you use this 
00015 software in a product, an acknowledgment in the product documentation 
00016 would be appreciated but is not required.
00017 
00018 2. Altered source versions must be plainly marked as such, and 
00019 must not be misrepresented as being the original software.
00020 
00021 3. This notice may not be removed or altered from any source 
00022 distribution.
00023 */
00024 
00025 
00026 #ifndef GRINLIZ_TYPES_INCLUDED
00027 #define GRINLIZ_TYPES_INCLUDED
00028 
00029 #ifdef GL_NO_SDL
00030         // Typically, this isn't what you want. SDL provides great defaults.
00031         // But if there isn't SDL:
00032         
00033         typedef unsigned char   U8;
00034         typedef signed char         S8;
00035         typedef unsigned short  U16;
00036         typedef signed short    S16;
00037         typedef unsigned long   U32;
00038         typedef long                    S32;
00039         
00040         #ifdef _MSC_VER
00041                 typedef unsigned __int64        U64;
00042                 typedef __int64                         S64;
00043         #else
00044                 typedef unsigned long long      U64;
00045                 typedef long long                       S64;
00046         #endif
00047         
00048 #else
00049         #include "SDL_types.h"
00050         //#include <SDL/SDL_types.h>
00051         
00052         typedef Uint8                   U8;
00053         typedef Sint8               S8;
00054         typedef Uint16                  U16;
00055         typedef Sint16                  S16;
00056         typedef Uint32                  U32;
00057         typedef Sint32                  S32;
00058         
00059         #ifdef SDL_HAS_64BIT_TYPE
00060                 typedef Sint64                          S64;
00061                 typedef Uint64                          U64;
00062         #else
00063                 #error No 64-bit integer.
00064         #endif
00065 #endif
00066 
00067 // Set up for 64 bit pointers.
00068 #if defined(_MSC_VER) && (_MSC_VER >= 1400 )
00069         #include <stdlib.h>
00070         typedef uintptr_t               UPTR;
00071         typedef intptr_t                SPTR;
00072 #elif defined (__GNUC__) && (__GNUC__ >= 3 )
00073         #include <inttypes.h>
00074         typedef uintptr_t               UPTR;
00075         typedef intptr_t                SPTR;
00076 #else
00077         // Assume not 64 bit pointers. Get a new compiler.
00078         typedef U32 UPTR;
00079         typedef S32 SPTR;
00080 #endif
00081 
00082 #endif

Generated on Thu Jul 20 20:45:32 2006 for Kyra by  doxygen 1.4.7