blob: 19cc75fbd79f14bcdaad642bb9af5a3ef6f82ca8 [file] [log] [blame]
/*---------------------------------------------------------------------------
Copyright 2006 Marvell Semiconductor Inc
---------------------------------------------------------------------------
Description: Basic numeric types, nothing more.
Author: Hongjie Guan
---------------------------------------------------------------------------*/
#ifndef CTYPES_H_
#define CTYPES_H_
/*---------------------------------------------------------------------------
Microsoft Visual C++
---------------------------------------------------------------------------*/
#if defined (_MSC_VER)
typedef unsigned char UNSG8;
typedef signed char SIGN8;
typedef unsigned short UNSG16;
typedef signed short SIGN16;
typedef unsigned int UNSG32;
typedef signed int SIGN32;
typedef unsigned __int64 UNSG64;
typedef signed __int64 SIGN64;
typedef float REAL32;
typedef double REAL64;
#ifndef INLINE
#define INLINE static __forceinline
#endif
/*---------------------------------------------------------------------------
ARMCC (RVCT)
---------------------------------------------------------------------------*/
#elif defined (__ARMCC_VERSION)
typedef unsigned char UNSG8;
typedef signed char SIGN8;
typedef unsigned short UNSG16;
typedef signed short SIGN16;
typedef unsigned int UNSG32;
typedef signed int SIGN32;
typedef unsigned long long UNSG64;
typedef signed long long SIGN64;
typedef float REAL32;
typedef double REAL64;
#ifndef INLINE
#define INLINE static __inline
#endif
/*---------------------------------------------------------------------------
GNU C/C++
---------------------------------------------------------------------------*/
#elif defined (__GNUC__)
typedef unsigned char UNSG8;
typedef signed char SIGN8;
typedef unsigned short UNSG16;
typedef signed short SIGN16;
typedef unsigned int UNSG32;
typedef signed int SIGN32;
typedef unsigned long long UNSG64;
typedef signed long long SIGN64;
typedef float REAL32;
typedef double REAL64;
#ifndef INLINE
#define INLINE static inline
#endif
#endif
/*---------------------------------------------------------------------------
NULL
---------------------------------------------------------------------------*/
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
/*---------------------------------------------------------------------------
Multiple-word types
---------------------------------------------------------------------------*/
#ifndef Txxb
#define Txxb
typedef UNSG8 T8b;
typedef UNSG16 T16b;
typedef UNSG32 T32b;
typedef UNSG32 T64b [2];
typedef UNSG32 T96b [3];
typedef UNSG32 T128b[4];
typedef UNSG32 T160b[5];
typedef UNSG32 T192b[6];
typedef UNSG32 T224b[7];
typedef UNSG32 T256b[8];
#endif
#endif