1 /*++ 2 3 Copyright (c) 1999 - 2014, Intel Corporation. All rights reserved 4 5 This program and the accompanying materials are licensed and made available under 7 the terms and conditions of the BSD License that accompanies this distribution. 9 The full text of the license may be found at 11 http://opensource.org/licenses/bsd-license.php. 13 15 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, 17 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. 19 21 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