1 /*++ 2 3 Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved 4 5 6 This program and the accompanying materials are licensed and made available under 7 8 the terms and conditions of the BSD License that accompanies this distribution. 9 10 The full text of the license may be found at 11 12 http://opensource.org/licenses/bsd-license.php. 13 14 15 16 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 17 18 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 19 20 21 22 23 --*/ 24 25 /** @file 26 **/ 27 28 #ifndef _PLATFORM_GOP_POLICY_PROTOCOL_H_ 29 #define _PLATFORM_GOP_POLICY_PROTOCOL_H_ 30 31 #define EFI_PLATFORM_GOP_POLICY_PROTOCOL_GUID \ 32 { 0xec2e931b, 0x3281, 0x48a5, 0x81, 0x7, 0xdf, 0x8a, 0x8b, 0xed, 0x3c, 0x5d } 33 34 #define EFI_BMP_IMAGE_GUID \ 35 { 0x878AC2CC, 0x5343, 0x46F2, 0xB5, 0x63, 0x51, 0xF8, 0x9D, 0xAF, 0x56, 0xBA } 36 37 #define PLATFORM_GOP_POLICY_PROTOCOL_REVISION_01 0x01 38 #define PLATFORM_GOP_POLICY_PROTOCOL_REVISION_02 x0222 39 40 #pragma pack(1) 41 42 typedef enum { 43 LidClosed, 44 LidOpen, 45 LidStatusMax 46 } LID_STATUS; 47 48 typedef enum { 49 Docked, 50 UnDocked, 51 DockStatusMax 52 } DOCK_STATUS; 53 54 typedef 55 EFI_STATUS 56 (EFIAPI *GET_PLATFORM_LID_STATUS) ( 57 OUT LID_STATUS *CurrentLidStatus 58 ); 59 60 typedef 61 EFI_STATUS 62 (EFIAPI *GET_VBT_DATA) ( 63 OUT EFI_PHYSICAL_ADDRESS *VbtAddress, 64 OUT UINT32 *VbtSize 65 ); 66 67 #pragma pack() 68 69 typedef struct _PLATFORM_GOP_POLICY_PROTOCOL { 70 UINT32 Revision; 71 GET_PLATFORM_LID_STATUS GetPlatformLidStatus; 72 GET_VBT_DATA GetVbtData; 73 } PLATFORM_GOP_POLICY_PROTOCOL; 74 75 // 76 // Extern the GUID for protocol users. 77 // 78 extern EFI_GUID gPlatformGOPPolicyGuid; 79 80 extern EFI_GUID gBmpImageGuid; 81 82 #endif 83