1 /** @file 2 Boot Logo protocol is used to convey information of Logo dispayed during boot. 3 4 Copyright (c) 2011, Intel Corporation. All rights reserved.<BR> 5 SPDX-License-Identifier: BSD-2-Clause-Patent 6 7 **/ 8 9 #ifndef _BOOT_LOGO_H_ 10 #define _BOOT_LOGO_H_ 11 12 #include <Protocol/GraphicsOutput.h> 13 14 #define EFI_BOOT_LOGO_PROTOCOL_GUID \ 15 { \ 16 0xcdea2bd3, 0xfc25, 0x4c1c, { 0xb9, 0x7c, 0xb3, 0x11, 0x86, 0x6, 0x49, 0x90 } \ 17 } 18 19 // 20 // Forward reference for pure ANSI compatability 21 // 22 typedef struct _EFI_BOOT_LOGO_PROTOCOL EFI_BOOT_LOGO_PROTOCOL; 23 24 /** 25 Update information of logo image drawn on screen. 26 27 @param This The pointer to the Boot Logo protocol instance. 28 @param BltBuffer The BLT buffer for logo drawn on screen. If BltBuffer 29 is set to NULL, it indicates that logo image is no 30 longer on the screen. 31 @param DestinationX X coordinate of destination for the BltBuffer. 32 @param DestinationY Y coordinate of destination for the BltBuffer. 33 @param Width Width of rectangle in BltBuffer in pixels. 34 @param Height Hight of rectangle in BltBuffer in pixels. 35 36 @retval EFI_SUCCESS The boot logo information was updated. 37 @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value. 38 @retval EFI_OUT_OF_RESOURCES The logo information was not updated due to 39 insufficient memory resources. 40 41 **/ 42 typedef 43 EFI_STATUS 44 (EFIAPI *EFI_SET_BOOT_LOGO)( 45 IN EFI_BOOT_LOGO_PROTOCOL *This, 46 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL, 47 IN UINTN DestinationX, 48 IN UINTN DestinationY, 49 IN UINTN Width, 50 IN UINTN Height 51 ); 52 53 struct _EFI_BOOT_LOGO_PROTOCOL { 54 EFI_SET_BOOT_LOGO SetBootLogo; 55 }; 56 57 extern EFI_GUID gEfiBootLogoProtocolGuid; 58 59 #endif 60