--- /dev/null
+/*++\r
+\r
+Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved\r
+\r
+ This program and the accompanying materials are licensed and made available under\r
+ the terms and conditions of the BSD License that accompanies this distribution.\r
+ The full text of the license may be found at\r
+ http://opensource.org/licenses/bsd-license.php.\r
+\r
+ THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+\r
+--*/\r
+\r
+/** @file\r
+**/\r
+\r
+#ifndef _PLATFORM_GOP_POLICY_PROTOCOL_H_\r
+#define _PLATFORM_GOP_POLICY_PROTOCOL_H_\r
+\r
+#define EFI_PLATFORM_GOP_POLICY_PROTOCOL_GUID \\r
+ { 0xec2e931b, 0x3281, 0x48a5, 0x81, 0x7, 0xdf, 0x8a, 0x8b, 0xed, 0x3c, 0x5d }\r
+\r
+#define EFI_BMP_IMAGE_GUID \\r
+ { 0x878AC2CC, 0x5343, 0x46F2, 0xB5, 0x63, 0x51, 0xF8, 0x9D, 0xAF, 0x56, 0xBA }\r
+\r
+#define PLATFORM_GOP_POLICY_PROTOCOL_REVISION_01 0x01\r
+#define PLATFORM_GOP_POLICY_PROTOCOL_REVISION_02 x0222\r
+\r
+#pragma pack(1)\r
+\r
+typedef enum {\r
+ LidClosed,\r
+ LidOpen,\r
+ LidStatusMax\r
+} LID_STATUS;\r
+\r
+typedef enum {\r
+ Docked,\r
+ UnDocked,\r
+ DockStatusMax\r
+} DOCK_STATUS;\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *GET_PLATFORM_LID_STATUS) (\r
+ OUT LID_STATUS *CurrentLidStatus\r
+ );\r
+\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *GET_VBT_DATA) (\r
+ OUT EFI_PHYSICAL_ADDRESS *VbtAddress,\r
+ OUT UINT32 *VbtSize\r
+ );\r
+\r
+#pragma pack()\r
+\r
+typedef struct _PLATFORM_GOP_POLICY_PROTOCOL {\r
+ UINT32 Revision;\r
+ GET_PLATFORM_LID_STATUS GetPlatformLidStatus;\r
+ GET_VBT_DATA GetVbtData;\r
+} PLATFORM_GOP_POLICY_PROTOCOL;\r
+\r
+//\r
+// Extern the GUID for protocol users.\r
+//\r
+extern EFI_GUID gPlatformGOPPolicyGuid;\r
+\r
+extern EFI_GUID gBmpImageGuid;\r
+\r
+#endif\r