__FAR__
# define osdLocal2(x) (*((unsigned short __FAR__ *)(x)))
# define osdSLocal2(x) ((unsigned short)(((unsigned char __FAR__ *)(x))[1])\
+ ((unsigned int)((unsigned short)(((unsigned char __FAR__ *)(x))[0])) << 8))
# define osdSLocal2(x) (*((unsigned short __FAR__ *)(x)))
# define osdLocal2(x) ((unsigned short)(((unsigned char __FAR__*)(x))[1]) \
+ (((unsigned short)(((unsigned char __FAR__*)(x))[0])) << 8))
# define osdLocal3(x) (*((unsigned DPT_4_BYTES __FAR__ *)(x)))
# define osdLocal3(x) osdSwap3(*((unsigned DPT_4_BYTES __FAR__ *)(x)))
# define osdLocal3(x) ((unsigned DPT_4_BYTES)osdLocal2(((unsigned char __FAR__ *) \
(x)+1)) + (((unsigned DPT_4_BYTES)(((unsigned char __FAR__ *)(x))[0])) << 16))
# define osdLocal4(x) (*(unsigned DPT_4_BYTES __FAR__ *)(x))
# define osdSLocal4(x) ((unsigned DPT_4_BYTES)osdSLocal2(((unsigned char __FAR__ *)\
(x)+2)) + (((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(x))[1]) << 16) \
+ (((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(x))[0]) << 24))
# define osdSLocal4(x) (*(unsigned DPT_4_BYTES __FAR__ *)(x))
# define osdLocal4(x) ((unsigned DPT_4_BYTES)osdLocal2(((unsigned char __FAR__ *) \
(x)+2)) + (((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(x))[1]) << 16) \
+ (((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(x))[0]) << 24))
#define getUP1(x,y) (((unsigned char __FAR__ *)(x))+(unsigned DPT_4_BYTES)(y))
#define getUP2(x,y) ((unsigned short __FAR__ *)(((unsigned char __FAR__ *) \
#define getBU2(x,y) ((unsigned short)osdLocal2((unsigned short __FAR__ *) \
#define getLU2(x,y) ((unsigned short)osdSLocal2((unsigned short __FAR__ *) \
#define getU2(x,y) ((unsigned short)osdLocal2((unsigned short __FAR__ *) \
*((unsigned short __FAR__ *)getUP1(x,y)) \
*((unsigned short __FAR__ *)getUP1(x,y)) \
*((unsigned short __FAR__ *)getUP1(x,y)) \
#define getU3(x,y) ((unsigned DPT_4_BYTES)osdLocal3((unsigned DPT_4_BYTES __FAR__ *) \
*((unsigned short __FAR__ *)(getUP1(x,y) + 1)) \
#define getBU3(x,y) ((unsigned DPT_4_BYTES)osdLocal3((unsigned DPT_4_BYTES __FAR__ *) \
*((unsigned short __FAR__ *)(getUP1(x,y) + 1)) \
#define getUP4(x,y) ((unsigned DPT_4_BYTES __FAR__ *)(((unsigned char __FAR__ *) \
#define getBU4(x,y) ((unsigned DPT_4_BYTES)osdLocal4((unsigned DPT_4_BYTES __FAR__ *) \
#define getLU4(x,y) ((unsigned DPT_4_BYTES)osdSLocal4((unsigned DPT_4_BYTES __FAR__ *) \
#define getU4(x,y) ((unsigned DPT_4_BYTES)osdSLocal4((unsigned DPT_4_BYTES __FAR__ *) \
*((unsigned DPT_4_BYTES __FAR__ *)getUP1(x,y)) \
*((unsigned DPT_4_BYTES __FAR__ *)getUP1(x,y)) \
*((unsigned DPT_4_BYTES __FAR__ *)getUP1(x,y)) \
#define getL24bit1(w,x,y) ((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(&w->x))[0+(y)] \
+ ((((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(&w->x))[1+(y)]) << 8) & 0xFF00) \
+ ((((unsigned DPT_4_BYTES)((unsigned char __FAR__ *)(&w->x))[2+(y)]) << 16) & 0xFF0000))
#define setL24bit1(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[0+(y)] = (z); \
((unsigned char __FAR__ *)(&w->x))[1+(y)] = ((z) >> 8) & 0xFF; \
((unsigned char __FAR__ *)(&w->x))[2+(y)] = ((z) >> 16) & 0xFF; \
#define getL16bit(w,x,y) ((unsigned short)((unsigned char __FAR__ *)(&w->x))[0+(y)] \
+ ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[1+(y)]) << 8) & 0xFF00))
#define setL16bit(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[0+(y)] = (z); \
((unsigned char __FAR__ *)(&w->x))[1+(y)] = ((z) >> 8) & 0xFF; \
#define getL16bit2(w,x,y) ((unsigned short)((unsigned char __FAR__ *)(&w->x))[2+(y)] \
+ ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[3+(y)]) << 8) & 0xFF00))
#define setL16bit2(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[2+(y)] = (z); \
((unsigned char __FAR__ *)(&w->x))[3+(y)] = ((z) >> 8) & 0xFF; \
((unsigned char)(((unsigned char __FAR__ *)(&w->x))[0+(y)] >> 4) & 0x0f)
((unsigned char __FAR__ *)(&w->x))[0+(y)] &= 0xF0; \
((unsigned char __FAR__ *)(&w->x))[0+(y)] |= ((z) << 4) & 0xF0; \
((unsigned char)(((unsigned char __FAR__ *)(&w->x))[0+(y)] ) & 0x01)
((unsigned char __FAR__ *)(&w->x))[0+(y)] &= 0xFE; \
((unsigned char __FAR__ *)(&w->x))[0+(y)] |= (z) & 0x01; \
((unsigned char)(((unsigned char __FAR__ *)(&w->x))[0+(y)] >> 1) & 0x01)
((unsigned char __FAR__ *)(&w->x))[0+(y)] &= 0xFD; \
((unsigned char __FAR__ *)(&w->x))[0+(y)] |= (z << 1) & 0x02; \
#define getL12bit(w,x,y) ((unsigned short)((unsigned char __FAR__ *)(&w->x))[0+(y)] \
+ ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[1+(y)]) << 8) & 0xF00))
#define setL12bit(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[0+(y)] = (z); \
((unsigned char __FAR__ *)(&w->x))[1+(y)] &= 0xF0; \
((unsigned char __FAR__ *)(&w->x))[1+(y)] |= ((z) >> 8) & 0xF; \
#define getL12bit1(w,x,y) (((unsigned short)((unsigned char __FAR__ *)(&w->x))[1+(y)]) >> 4 \
+ ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[2+(y)]) << 4) ))
#define setL12bit1(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[1+(y)] &= 0x0F; \
((unsigned char __FAR__ *)(&w->x))[1+(y)] |= ((z) & 0xF) << 4; \
((unsigned char __FAR__ *)(&w->x))[2+(y)] &= 0x00;\
((unsigned char __FAR__ *)(&w->x))[2+(y)] |= ((z) >> 8) & 0xff;\
#define getL12bit2(w,x,y) ((unsigned short)((unsigned char __FAR__ *)(&w->x))[2+(y)] \
+ ((((unsigned short)((unsigned char __FAR__ *)(&w->x))[3+(y)]) << 8) & 0xF00))
#define setL12bit2(w,x,y,z) { ((unsigned char __FAR__ *)(&w->x))[2+(y)] = (z); \
((unsigned char __FAR__ *)(&w->x))[3+(y)] &= 0xF0; \
((unsigned char __FAR__ *)(&w->x))[3+(y)] |= ((z) >> 8) & 0xF; \
(*(((unsigned char __FAR__ *)(&((w)->x)))\
(*(((unsigned char __FAR__ *)(&((w)->x)))\
#if (!defined(__FAR__))
#if !defined(__FAR__)
# define NULL ((VOID __FAR__ *)0L)
# define _F_getTID(w,x,y) (*((U16 __FAR__ *)(&((w)->x))) & I2O_TID_MASK)
# define _F_setTID(w,x,y,z) (*((U16 __FAR__ *)(&((w)->x)))\
(*((U16 __FAR__ *)(&((w)->x)))\
# define _F_getTID1(w,x,y) ((*(U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\
# define _F_setTID1(w,x,y,z) ((*((U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\
((*((U16 __FAR__ *)(((U8 __FAR__ *)(&((w)->x)))\
# define _F_getFunc(w,x,y) (*(((U8 __FAR__ *)(&((w)->x)))\
# define _F_getCount(w,x,y) (*((U32 __FAR__ *)(&((w)->x)))&I2O_SG_COUNT_MASK)
# define _F_setCount(w,x,y,z) (*((U32 __FAR__ *)(&((w)->x)))\
(*((U32 __FAR__ *)(&((w)->x)))\
# define _F_getFlags(w,x,y) (*(((U8 __FAR__ *)(&((w)->x)))\