\r
#define __FIELD_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field)\r
#define __ARRAY_ELEMENT_SIZE(TYPE, Field) (sizeof((TYPE *)0)->Field[0])\r
-#define __OFFSET_OF(TYPE, Field) ((UINT32) &(((TYPE *)0)->Field))\r
+#define __OFFSET_OF(TYPE, Field) ((UINT32)(size_t) &(((TYPE *)0)->Field))\r
#define __FLEXIBLE_SIZE(Size, TYPE, Field, MaxIndex) if (__FIELD_SIZE(TYPE, Field) == 0) Size = MAX((__OFFSET_OF(TYPE, Field) + __ARRAY_ELEMENT_SIZE(TYPE, Field) * (MaxIndex)), Size)\r
#define __ARRAY_SIZE(Array) (sizeof(Array)/sizeof(Array[0]))\r
\r