/** SGX

The   sss    gggg x   x   
     s      g      x x    Engine
      sss   g  gg   x
         s  g   g  x x          Copyright 1995-2008.
     ssss    gggg x   x         Steven Goodwin. All Rights Reserved.
    
This version has been released under the GNU Public License v2.0.

Please see the license files for details.

File: include/sgx/core/types/platform/nds.hpp

*/

#ifndef SGX_CORE_TYPES_PLATFORM_NDS
#define SGX_CORE_TYPES_PLATFORM_NDS

#include <nitro.h>

typedef signed char      tCHAR8;
typedef unsigned char    tUCHAR8;
typedef signed char      tINT8;
typedef unsigned char    tUINT8;
typedef signed short     tINT16;
typedef unsigned short   tUINT16;
typedef signed int       tINT32;
typedef unsigned int     tUINT32;

typedef unsigned int	tSIZET;
typedef s64         	tINT64;
typedef u64 			tUINT64;

// CW doesn't have the basic C++ types, it seems
typedef int 			bool;
#define true 			1
#define false 			0

// Too expensive/not available on the NDS
#define SGX_DISABLE_EXCEPTIONS	1

// Support for the endian issues
#define SGX_ENDIAN_LITTLE	0
#define SGX_ENDIAN_BIG		1	

// "Normal" code, which CW doesn't like
// 10107 = identifier expected  (on all enum's)
// 10369 = expression has no side effect 
#pragma warning off (10107,10369)

#endif	/* SGX_CORE_TYPES_PLATFORM_NDS */

