//-----------------------------------------------------------------------------
//                  Generic Type Definitions
//-----------------------------------------------------------------------------
//	Copyright 2014 Sonix Technology Corp. All rights reserved. 
//
// 	FileName:        GenericTypeDefs.h
// 	Dependencies:    None
// 	Processor:       None
// 	Tool chain:      KEIL C51 V9.45
//	Description:	
//
//
//-----------------------------------------------------------------------------

#ifndef __GENERIC_TYPE_DEFS_H_
#define __GENERIC_TYPE_DEFS_H_

/* Specify an extension for GCC based compilers */
#if defined(__GNUC__)
#define __EXTENSION __extension__
#else
#define __EXTENSION
#endif

typedef enum _BOOL { FALSE = 0, TRUE } BOOL;    /* Undefined size */
typedef enum _BIT { CLEAR = 0, SET } BIT;

/* INT is processor specific in length may vary in size */
typedef signed int          INT;
typedef signed char         INT8;
typedef signed short 	    INT16;
typedef signed long 	    INT32;

/* UINT is processor specific in length may vary in size */
typedef unsigned int        UINT;
typedef unsigned char       UINT8;
typedef unsigned short 		UINT16;
typedef unsigned long 		UINT32;

/* Alternate definitions */
typedef void                    VOID;

typedef char                    CHAR8;
typedef unsigned char           UCHAR8;

typedef unsigned char           BYTE;                           /* 8-bit unsigned  */
typedef unsigned short 		    WORD;                           /* 16-bit unsigned */
typedef unsigned long           DWORD;                          /* 32-bit unsigned */
typedef float					QWORD;                          /* 64-bit unsigned */


#endif /* __GENERIC_TYPE_DEFS_H_ */
