]>
Commit | Line | Data |
---|---|---|
ae38c976 | 1 | /** @file\r |
b7c7ec8c KM |
2 | Boot Logo 2 Protocol is used to convey information of Logo dispayed during boot.\r |
3 | \r | |
4 | The Boot Logo 2 Protocol is a replacement for the Boot Logo Protocol. If a\r | |
5 | platform produces both the Boot Logo 2 Protocol and the Boot Logo Protocol\r | |
6 | then the Boot Logo 2 Protocol must be used instead of the Boot Logo Protocol.\r | |
7 | \r | |
8 | Copyright (c) 2016, Microsoft Corporation\r | |
9 | Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r | |
10 | \r | |
11 | All rights reserved.\r | |
9d510e61 | 12 | SPDX-License-Identifier: BSD-2-Clause-Patent\r |
b7c7ec8c KM |
13 | \r |
14 | **/\r | |
15 | \r | |
16 | #ifndef _BOOT_LOGO2_H_\r | |
17 | #define _BOOT_LOGO2_H_\r | |
18 | \r | |
19 | #include <Protocol/GraphicsOutput.h>\r | |
20 | \r | |
21 | #define EDKII_BOOT_LOGO2_PROTOCOL_GUID \\r | |
22 | { \\r | |
23 | 0x4b5dc1df, 0x1eaa, 0x48b2, { 0xa7, 0xe9, 0xea, 0xc4, 0x89, 0xa0, 0xb, 0x5c } \\r | |
24 | }\r | |
25 | \r | |
26 | //\r | |
27 | // Forward reference for pure ANSI compatability\r | |
28 | //\r | |
29 | typedef struct _EDKII_BOOT_LOGO2_PROTOCOL EDKII_BOOT_LOGO2_PROTOCOL;\r | |
30 | \r | |
31 | /**\r | |
32 | Update information of logo image drawn on screen.\r | |
33 | \r | |
34 | @param[in] This The pointer to the Boot Logo protocol 2 instance.\r | |
35 | @param[in] BltBuffer The BLT buffer for logo drawn on screen. If BltBuffer\r | |
36 | is set to NULL, it indicates that logo image is no\r | |
37 | longer on the screen.\r | |
38 | @param[in] DestinationX X coordinate of destination for the BltBuffer.\r | |
39 | @param[in] DestinationY Y coordinate of destination for the BltBuffer.\r | |
40 | @param[in] Width Width of rectangle in BltBuffer in pixels.\r | |
41 | @param[in] Height Hight of rectangle in BltBuffer in pixels.\r | |
42 | \r | |
43 | @retval EFI_SUCCESS The boot logo information was updated.\r | |
44 | @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.\r | |
45 | @retval EFI_OUT_OF_RESOURCES The logo information was not updated due to\r | |
46 | insufficient memory resources.\r | |
47 | **/\r | |
48 | typedef\r | |
49 | EFI_STATUS\r | |
50 | (EFIAPI *EDKII_SET_BOOT_LOGO2)(\r | |
51 | IN EDKII_BOOT_LOGO2_PROTOCOL *This,\r | |
52 | IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL,\r | |
53 | IN UINTN DestinationX,\r | |
54 | IN UINTN DestinationY,\r | |
55 | IN UINTN Width,\r | |
56 | IN UINTN Height\r | |
57 | );\r | |
58 | \r | |
59 | /**\r | |
60 | Get the location of the boot logo on the screen.\r | |
61 | \r | |
62 | @param[in] This The pointer to the Boot Logo Protocol 2 instance\r | |
63 | @param[out] BltBuffer Returns pointer to the GOP BLT buffer that was\r | |
64 | previously registered with SetBootLogo2(). The\r | |
65 | buffer returned must not be modified or freed.\r | |
66 | @param[out] DestinationX Returns the X start position of the GOP BLT buffer\r | |
67 | that was previously registered with SetBootLogo2().\r | |
68 | @param[out] DestinationY Returns the Y start position of the GOP BLT buffer\r | |
69 | that was previously registered with SetBootLogo2().\r | |
70 | @param[out] Width Returns the width of the GOP BLT buffer\r | |
71 | that was previously registered with SetBootLogo2().\r | |
72 | @param[out] Height Returns the height of the GOP BLT buffer\r | |
73 | that was previously registered with SetBootLogo2().\r | |
74 | \r | |
75 | @retval EFI_SUCCESS The location of the boot logo was returned.\r | |
76 | @retval EFI_NOT_READY The boot logo has not been set.\r | |
77 | @retval EFI_INVALID_PARAMETER BltBuffer is NULL.\r | |
78 | @retval EFI_INVALID_PARAMETER DestinationX is NULL.\r | |
79 | @retval EFI_INVALID_PARAMETER DestinationY is NULL.\r | |
80 | @retval EFI_INVALID_PARAMETER Width is NULL.\r | |
81 | @retval EFI_INVALID_PARAMETER Height is NULL.\r | |
82 | **/\r | |
83 | typedef\r | |
84 | EFI_STATUS\r | |
85 | (EFIAPI *EDKII_GET_BOOT_LOGO2)(\r | |
86 | IN EDKII_BOOT_LOGO2_PROTOCOL *This,\r | |
87 | OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **BltBuffer,\r | |
88 | OUT UINTN *DestinationX,\r | |
89 | OUT UINTN *DestinationY,\r | |
90 | OUT UINTN *Width,\r | |
91 | OUT UINTN *Height\r | |
92 | );\r | |
93 | \r | |
94 | struct _EDKII_BOOT_LOGO2_PROTOCOL {\r | |
1436aea4 MK |
95 | EDKII_SET_BOOT_LOGO2 SetBootLogo;\r |
96 | EDKII_GET_BOOT_LOGO2 GetBootLogo;\r | |
b7c7ec8c KM |
97 | };\r |
98 | \r | |
99 | extern EFI_GUID gEdkiiBootLogo2ProtocolGuid;\r | |
100 | \r | |
101 | #endif\r |