/*******************************************************************************
* Project:      Amped'RF Bluetooth
* File name:    GKI_DataTypes.h
* Description:  GKI Data Types
*
* Copyright (c) 2013 Amped'RF Inc. All rights reserved.
*******************************************************************************/
#ifndef _GKI_DATA_TYPES_H_
#define _GKI_DATA_TYPES_H_
#define __STM32F10x_TYPE_H

#define true   (1)
#define TRUE   (1)
#define false  (0)
#define FALSE  (0)
#ifndef NULL
#define NULL   0
#endif


typedef unsigned int        bool;
typedef unsigned char       uint8;
typedef unsigned short int  uint16;
typedef unsigned int        uint32;
typedef unsigned long long  uint64;
typedef signed char         sint8;
typedef signed short int    sint16;
typedef signed int          sint32;
typedef signed long long    sint64;
typedef char                shortbool;
#define zero64              ((uint64)0)


typedef unsigned char       UINT8;
typedef unsigned short      UINT16;
typedef unsigned int        UINT32;
typedef signed   int        INT32;
typedef signed   char       INT8;
typedef signed   short      INT16;
typedef unsigned char       BOOLEAN;


#ifdef _WIDE_CHAR
typedef unsigned short      WIDECHAR;      /* for _BT_WIN32 possibly use wchar_t */
#define WIDE_CHAR_NULL      ((WIDECHAR)0)
#else
typedef unsigned char       WIDECHAR;
#define WIDE_NULL_CHAR      '\0'
#endif



typedef signed long  s32;
typedef signed short s16;
typedef signed char  s8;

typedef volatile signed long  vs32;
typedef volatile signed short vs16;
typedef volatile signed char  vs8;

typedef unsigned long  u32;
typedef unsigned short u16;
typedef unsigned char  u8;

typedef unsigned long  const uc32;  /* Read Only */
typedef unsigned short const uc16;  /* Read Only */
typedef unsigned char  const uc8;   /* Read Only */

typedef volatile unsigned long  vu32;
typedef volatile unsigned short vu16;
typedef volatile unsigned char  vu8;

typedef volatile unsigned long  const vuc32;  /* Read Only */
typedef volatile unsigned short const vuc16;  /* Read Only */
typedef volatile unsigned char  const vuc8;   /* Read Only */

//typedef enum { FALSE = 0, TRUE  = !FALSE } bool;

typedef enum { RESET = 0,   SET     = !RESET }  FlagStatus, ITStatus;
typedef enum { DISABLE = 0, ENABLE  = !DISABLE} FunctionalState;
typedef enum { ERROR = 0,   SUCCESS = !ERROR}   ErrorStatus;

#define U8_MAX     ((u8)255)
#define S8_MAX     ((s8)127)
#define S8_MIN     ((s8)-128)
#define U16_MAX    ((u16)65535u)
#define S16_MAX    ((s16)32767)
#define S16_MIN    ((s16)-32768)
#define U32_MAX    ((u32)4294967295uL)
#define S32_MAX    ((s32)2147483647)
#define S32_MIN    ((s32)2147483648uL)
#define zero64     ((uint64)0)





#endif // _GKI_DATA_TYPES_H_
//
// End of BasicTypes.h
