#ifndef __BSP_TYPE_H
#define __BSP_TYPE_H

#include <stdlib.h>
#include <stdint.h>
#include <string.h>

#ifndef TRUE
#define TRUE 1
#endif

#ifndef FALSE
#define FALSE 0
#endif

#ifndef DEBUGTD
#define DEBUGTD 1
#endif

#if 0
typedef uint32_t  u32;
typedef uint16_t u16;
typedef uint8_t  u8;

typedef int32_t  s32;
typedef int16_t s16;
typedef int8_t  s8;

typedef const int32_t sc32;  
typedef const int16_t sc16;  
typedef const int8_t sc8;  

typedef const uint32_t uc32;  
typedef const uint16_t uc16;  
typedef const uint8_t uc8; 

typedef volatile  int32_t  vs32;
typedef volatile  int16_t  vs16;
typedef volatile  int8_t   vs8;

typedef volatile  uint32_t  vu32;
typedef volatile  uint16_t vu16;
typedef volatile  uint8_t  vu8;

typedef volatile const int32_t vsc32;  
typedef volatile const int16_t vsc16; 
typedef volatile const int8_t vsc8;   


typedef volatile const uint32_t vuc32;  
typedef volatile const uint16_t vuc16; 
typedef volatile const uint8_t vuc8;
#else
typedef unsigned long long int u64;
// typedef unsigned int  u32;
typedef unsigned short int u16;
typedef unsigned char u8;

typedef signed long long int s64;
// typedef signed int s32;
typedef signed short int s16;
typedef signed char s8;

typedef const signed long long int sc64;
typedef const signed int sc32;
typedef const signed short int sc16;
typedef const signed char sc8;

typedef const unsigned long long int uc64;
typedef const unsigned int uc32;
typedef const unsigned short int uc16;
typedef const unsigned char uc8;

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

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

typedef volatile const signed long long int vsc64;
typedef volatile const signed int vsc32;
typedef volatile const signed short int vsc16;
typedef volatile const unsigned char vsc8;

typedef volatile const unsigned long long int vuc64;
typedef volatile const unsigned int vuc32;
typedef volatile const unsigned short int vuc16;
typedef volatile const unsigned char vuc8;

#if 0
typedef unsigned char	uint8;  /*  8 bits */
typedef unsigned short int	uint16; /* 16 bits */
typedef unsigned long int	uint32; /* 32 bits */
typedef unsigned long 	DWORD; /* 32 bits */

typedef  char			int8;   /*  8 bits */
typedef short int	        int16;  /* 16 bits */
typedef int		        int32;  /* 32 bits */

typedef  signed char		sint8;   /*  8 bits */
typedef  signed short        sint16;
typedef  signed long         sint32;

typedef volatile int8		vint8;  /*  8 bits */
typedef volatile int16	vint16; /* 16 bits */
typedef volatile int32	vint32; /* 32 bits */

typedef volatile uint8	vuint8;  /*  8 bits */
typedef volatile uint16	vuint16; /* 16 bits */
typedef volatile uint32	vuint32; /* 32 bits */

typedef float   		float32; /*  32 bits */
typedef double   		float64; /*  64 bits */
#endif
typedef unsigned char boolean; /* 8-bit*/

#endif

// typedef int (*INIT_FUN)(void);
/*
struct init_t
{
    INIT_FUN 	fun;
    u32			err_code;
};
*/
#endif

/***************************************(END)**********************************************/
