- Main Page
- Classes
- Files
- Directories
- Related Pages

# 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