--- /dev/null
+/** @file\r
+ The Platform Logo Protocol defines the interface to get the Platform logo\r
+ image with the display attribute.\r
+\r
+Copyright (c) 2015, Intel Corporation. All rights reserved.<BR>\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
+#ifndef __PLATFORM_LOGO_H__\r
+#define __PLATFORM_LOGO_H__\r
+\r
+//\r
+// GUID for EDKII Platform Logo Protocol\r
+//\r
+#define EDKII_PLATFORM_LOGO_PROTOCOL_GUID \\r
+ { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } }\r
+\r
+typedef struct _EDKII_PLATFORM_LOGO_PROTOCOL EDKII_PLATFORM_LOGO_PROTOCOL;\r
+\r
+typedef enum {\r
+ ImageFormatUnknown,\r
+ ImageFormatBmp,\r
+ ImageFormatJpeg,\r
+ ImageFormatTiff,\r
+ ImageFormatGif\r
+} IMAGE_FORMAT;\r
+\r
+typedef enum {\r
+ EdkiiPlatformLogoDisplayAttributeLeftTop,\r
+ EdkiiPlatformLogoDisplayAttributeCenterTop,\r
+ EdkiiPlatformLogoDisplayAttributeRightTop,\r
+ EdkiiPlatformLogoDisplayAttributeCenterRight,\r
+ EdkiiPlatformLogoDisplayAttributeRightBottom,\r
+ EdkiiPlatformLogoDisplayAttributeCenterBottom,\r
+ EdkiiPlatformLogoDisplayAttributeLeftBottom,\r
+ EdkiiPlatformLogoDisplayAttributeCenterLeft,\r
+ EdkiiPlatformLogoDisplayAttributeCenter\r
+} EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE;\r
+\r
+/**\r
+\r
+ Load a platform logo image and return its data and attributes.\r
+\r
+ @param This The pointer to this protocol instance.\r
+ @param Instance The visible image instance is found.\r
+ @param Format The format of the image. Examples: BMP, JPEG.\r
+ @param ImageData The image data for the badge file. Currently only \r
+ supports the .bmp file format. \r
+ @param ImageSize The size of the image returned.\r
+ @param Attribute The display attributes of the image returned.\r
+ @param CoordinateX The X coordinate of the image.\r
+ @param CoordinateY The Y coordinate of the image.\r
+\r
+ @retval EFI_SUCCESS The image was fetched successfully.\r
+ @retval EFI_NOT_FOUND The specified image could not be found.\r
+\r
+**/\r
+typedef\r
+EFI_STATUS\r
+(EFIAPI *EDKII_PLATFORM_LOGO_GET_IMAGE)(\r
+ IN EDKII_PLATFORM_LOGO_PROTOCOL *This,\r
+ IN OUT UINT32 *Instance,\r
+ OUT IMAGE_FORMAT *Format,\r
+ OUT UINT8 **ImageData,\r
+ OUT UINTN *ImageSize,\r
+ OUT EDKII_PLATFORM_LOGO_DISPLAY_ATTRIBUTE *Attribute,\r
+ OUT UINTN *CoordinateX,\r
+ OUT UINTN *CoordinateY\r
+);\r
+\r
+\r
+struct _EDKII_PLATFORM_LOGO_PROTOCOL {\r
+ EDKII_PLATFORM_LOGO_GET_IMAGE GetImage;\r
+};\r
+\r
+\r
+extern EFI_GUID gEdkiiPlatformLogoProtocolGuid;\r
+\r
+#endif\r
## Include/Protocol/SmmReadyToBoot.h\r
gEdkiiSmmReadyToBootProtocolGuid = { 0x6e057ecf, 0xfa99, 0x4f39, { 0x95, 0xbc, 0x59, 0xf9, 0x92, 0x1d, 0x17, 0xe4 } }\r
\r
+ ## Include/Protocol/PlatformLogo.h\r
+ gEdkiiPlatformLogoProtocolGuid = { 0x9b517978, 0xeba1, 0x44e7, { 0xba, 0x65, 0x7c, 0x2c, 0xd0, 0x8b, 0xf8, 0xe9 } }\r
+\r
#\r
# [Error.gEfiMdeModulePkgTokenSpaceGuid]\r
# 0x80000001 | Invalid value provided.\r