00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017 #ifndef __BxDataTypes__
00018 #define __BxDataTypes__
00019
00020 typedef unsigned char byte;
00021 typedef unsigned short ushort;
00022 typedef unsigned int uint;
00023 typedef unsigned long ulong;
00024
00025
00026
00027 typedef char bx_byte8;
00028 typedef char bx_char8;
00029 typedef ushort bx_unicode16;
00030 typedef ulong bx_unicode32;
00031 typedef short bx_short16;
00032 typedef int bx_int32;
00033 typedef long long bx_long64;
00034 typedef unsigned char bx_ubyte8;
00035 typedef unsigned short bx_ushort16;
00036 typedef unsigned int bx_uint32;
00037 typedef unsigned long long bx_ulong64;
00038 typedef float bx_float32;
00039 typedef double bx_double64;
00040 typedef long double bx_extended;
00041 typedef long double bx_extended80;
00042 typedef long double bx_extended96;
00043 typedef long double bx_quadruple128;
00044
00045
00046
00047 #define BXVOID 0x0 // 0
00048 #define BXENUM 0x1 // 1
00049 #define BXBIT 0x10 // 16
00050 #define BXBYTE 0x20 // 32
00051 #define BXINTEGER 0x40 // 64
00052 #define BXFLOAT 0x80 // 128
00053 #define BXUNSIGNED 0x8 // 8
00054 #define BXVOID0 BXVOID // BXVOID0 = BXVOID = 0
00055 #define BXBIT1 BXBIT // BXBIT1 = BXBIT = 1
00056 #define BXCHARACTER8 BXBYTE+2 //0x22 = 34
00057 #define BXUNICODE16 BXBYTE+4 //0x24 = 36
00058 #define BXUNICODE32 BXBYTE+8 //0x28 = 40
00059 #define BXBYTE8 BXINTEGER+1 //0x41 = 65
00060 #define BXSHORT16 BXINTEGER+2 //0x42 = 66
00061 #define BXINTEGER32 BXINTEGER+4 //0x44 = 68
00062 #define BXLONG64 BXINTEGER+8 //0x48 = 72
00063 #define BXUBYTE8 BXBYTE8+BXUNSIGNED //0x49 = 73
00064 #define BXUSHORT16 BXSHORT16+BXUNSIGNED //0x4A = 74
00065 #define BXUINTEGER32 BXINTEGER32+BXUNSIGNED //0x4C = 76
00066 #define BXULONG64 BXLONG64+BXUNSIGNED //0x50 = 80
00067 #define BXFLOAT32 BXFLOAT+1 //0x81 = 129
00068 #define BXDOUBLE64 BXFLOAT+2 //0x82 = 130
00069 #define BXEXTENDED80 BXFLOAT+4 //0x84 = 132
00070 #define BXEXTENDED96 BXFLOAT+8 //0x88 = 136
00071 #define BXQUADRUPLE128 BXFLOAT+16 //0x90 = 144
00072 #define BXDATASET 0x100 // 256
00073 #define BXSTRUCT 0x100 //BxStruct==BxDataset
00074 #define BXARRAY 0x200 // 512
00075 #define BXARRAYFIXED 0x201 // 513
00076 #define BXARRAYVARIABLE 0x202 // 514
00077 #define BXARRAYSTREAMED 0x204 // 516
00078 #define BXUNION 0x400 // 1024
00079 #define BXSTRING 0x800 // 2048
00080 #define BXSTRINGFIXED 0x801 // 2049
00081 #define BXSTRINGVARIABLE 0x802 // 2050
00082 #define BXSTRINGDELIMITED 0x804 // 2052
00083
00084
00085
00086 #define ISVOID(n) (n == BXVOID)
00087 #define ISBIT(n) ((n & BXBIT)==BXBIT)
00088 #define ISBYTE(n) ((n & BXBYTE)==BXBYTE) //BXBYTE8,BXCHARACTER8
00089 #define ISINTEGER(n) ((n & BXINTEGER)==BXINTEGER) //BXSHORT16,BXINTEGER32,BXLONG64,...
00090 #define ISFLOAT(n) ((n & BXFLOAT)==BXFLOAT) //BXFLOAT32,BXDOUBLE64,BXEXTENDED80,...
00091 #define ISBYTE8(n) (n==BXBYTE8)
00092 #define ISUBYTE8(n) (n==BXUBYTE8)
00093 #define ISSIGNED(n) ((n & BXUNSIGNED)==0)
00094 #define ISUNSIGNED(n) ((n & BXUNSIGNED)==BXUNSIGNED)
00095 #define ISSHORT16(n) (n==BXSHORT16)
00096 #define ISUSHORT16(n) (n==BXUSHORT16)
00097 #define ISINTEGER32(n) (n==BXINTEGER32)
00098 #define ISUINTEGER32(n) (n==BXUINTEGER32)
00099 #define ISLONG64(n) (n==BXLONG64)
00100 #define ISULONG64(n) (n==BXULONG64)
00101 #define ISFLOAT32(n) (n==BXFLOAT32)
00102 #define ISDOUBLE64(n) (n==BXDOUBLE64)
00103 #define ISEXTENDED80(n) (n==BXEXTENDED80)
00104 #define ISEXTENDED96(n) (n==BXEXTENDED96)
00105 #define ISQUADRUPLE128(n) (n==BXQUADRUPLE128)
00106 #define ISCHARACTER8(n) (n==BXCHARACTER8)
00107 #define ISUNICODE16(n) (n==BXUNICODE16)
00108 #define ISUNICODE32(n) (n==BXUNICODE32)
00109 #define ISPRIMITIVE(n) (n <= BXQUADRUPLE128)
00110 #define ISARRAY(n) ((n & BXARRAY)==BXARRAY) //FOR ALL ARRAY TYPES
00111 #define ISDATASET(n) (n==BXDATASET)
00112 #define ISSTRUCT(n) (n==BXSTRUCT)
00113 #define ISUNION(n) (n==BXUNION)
00114 #define ISARRAYFIXED(n) (n==BXARRAYFIXED)
00115 #define ISARRAYVARIABLE(n) (n==BXARRAYVARIABLE)
00116 #define ISARRAYSTREAMED(n) (n==BXARRAYSTREAMED)
00117 #define ISSTRING(n) ((n & BXSTRING)==BXSTRING)
00118 #define ISSTRINGFIXED(n) (n==BXSTRINGFIXED)
00119 #define ISSTRINGVARIABLE(n) (n==BXSTRINGVARIABLE)
00120 #define ISSTRINGDELIMITED(n) (n==BXSTRINGDELIMITED)
00121
00122 #endif
00123