基础数据类型封装设计 STATIC INLINE USHORT ARRAY_SIZE IN OUT BOOL_T
#ifndef _BASEDATATYPE_H_
#define _BASEDATATYPE_H_
#ifdef __cplusplus
extern "C" {
#endif
#ifndef STATIC
#define STATIC static
#endif
#ifndef INLINE
#define INLINE inline
#endif
#ifndef VOID
#define VOID void
#endif
#ifndef CHAR
#define CHAR char
#endif
#ifndef UCHAR
#define UCHAR unsigned char
#endif
#ifndef SHORT
#define SHORT short
#endif
#ifndef USHORT
#define USHORT unsigned short
#endif
#ifndef LONG
#define LONG long
#endif
#ifndef ULONG
#define ULONG unsigned long
#endif
#ifndef INT
#define INT int
#endif
#ifndef UINT
#define UINT unsigned int
#endif
#ifndef BOOL_T
typedef USHORT BOOL_T;
#endif
#ifndef FLOAT
#define FLOAT float
#endif
#ifndef DOUBLE
#define DOUBLE double
#endif
#ifndef INT8
#define INT8 CHAR
#endif
#ifndef UINT8
#define UINT8 UCHAR
#endif
#ifndef INT16
#define INT16 SHORT
#endif
#ifndef UINT16
#define UINT16 USHORT
#endif
#ifndef INT32
#define INT32 INT
#endif
#ifndef UINT32
#define UINT32 UINT
#endif
#define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0]))
#define GET_MAX(x,y) ((x) > (y)) ? (x):(y)
#define likely(x) __builtin_expect(!!(x), 1)
#define unlikely(x) __builtin_expect(!!(x), 0)
#ifndef IN
#define IN
#endif
#ifndef OUT
#define OUT
#endif
#ifndef INOUT
#define INOUT
#endif
typedef void * LPVOID;
typedef unsigned long long __attribute__((aligned(8))) UINT64;
typedef long long __attribute__((aligned(8))) INT64;
#define BOOL_TRUE ((BOOL_T)1)
#define BOOL_FALSE ((BOOL_T)0)
#ifdef __cplusplus
}
#endif
#endif /* _SYS_BASEDATATYPE_H_ */