#ifndef MSTR_H #define MSTR_H #define uint unsigned int #define ushort unsigned short #define uchar unsigned char #define ulong unsigned long #define u_int unsigned int #define u_short unsigned short #define u_char unsigned char #define u_long unsigned long #undef LOWORD #undef HIWORD #define MIN(a,b) ( (a)<(b)?(a):(b) ) #define MAX(a,b) ( (a)>(b)?(a):(b) ) #define LOWORD(a) ( (a)&0xFFFFul) #define HIWORD(a) ((ulong)(a)>>16) #define MAKE_DWORD(a,b) (((ulong)(a)<<16)|(b)) #define MAKE_DWORD1(a,b) (((ulong)(a)<<16)|((b)&0xFFFF)) #define DWORD_PTR(a) (* (ulong *)(&(a)) ) #define WORD_PTR(a) (* (ushort *)(&(a)) ) #define WORD_PTRn(a,n) (* ((ushort *)(&(a)) + n) ) #define HI_WORD_PTR(a) (* ((ushort *)(&(a)) + 1) ) #define BYTE_PTR(a,n) (* ((uchar *)(&(a))+n) ) #define CONST4CHAR(a0,a1,a2,a3) (const ulong ) ( ( (ulong)(a0) )|\ ( ((ulong)(a1))<<8 )|\ ( ((ulong)(a2))<<16)|\ ( ((ulong)(a3))<<24) ) #define C4CHAR(a) (const ulong ) ( ( (ulong)(a[0]) )|\ ( ((ulong)(a[1]))<<8 )|\ ( ((ulong)(a[2]))<<16)|\ ( ((ulong)(a[3]))<<24) ) #define CONST2CHAR(a0,a1) (const ushort) ( ( (ulong)(a0) )|\ ( ((ulong)(a1))<<8 ) #define x4CHAR(a) #endif