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