#include <Library/BaseMemoryLib.h>\r
#include <Library/ResetSystemLib.h>\r
\r
+#pragma pack(1)\r
typedef struct {\r
CHAR16 NullTerminator;\r
GUID ResetSubtype;\r
} RESET_UTILITY_GUID_SPECIFIC_RESET_DATA;\r
+#pragma pack()\r
+\r
+VERIFY_SIZE_OF (RESET_UTILITY_GUID_SPECIFIC_RESET_DATA, 18);\r
\r
/**\r
This is a shorthand helper function to reset with a subtype so that\r
RESET_UTILITY_GUID_SPECIFIC_RESET_DATA ResetData;\r
\r
ResetData.NullTerminator = CHAR_NULL;\r
- CopyGuid (&ResetData.ResetSubtype, ResetSubtype);\r
+ CopyGuid (\r
+ (GUID *)((UINT8 *)&ResetData + OFFSET_OF (RESET_UTILITY_GUID_SPECIFIC_RESET_DATA, ResetSubtype)),\r
+ ResetSubtype\r
+ );\r
ResetPlatformSpecific (sizeof (ResetData), &ResetData);\r
}\r
\r