]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Include/Protocol/BootLogo2.h
MdeModulePkg: Fix coding style issues in file/function comments
[mirror_edk2.git] / MdeModulePkg / Include / Protocol / BootLogo2.h
CommitLineData
ae38c976 1/** @file\r
b7c7ec8c
KM
2Boot Logo 2 Protocol is used to convey information of Logo dispayed during boot.\r
3\r
4The Boot Logo 2 Protocol is a replacement for the Boot Logo Protocol. If a\r
5platform produces both the Boot Logo 2 Protocol and the Boot Logo Protocol\r
6then the Boot Logo 2 Protocol must be used instead of the Boot Logo Protocol.\r
7\r
8Copyright (c) 2016, Microsoft Corporation\r
9Copyright (c) 2018, Intel Corporation. All rights reserved.<BR>\r
10\r
11All rights reserved.\r
12Redistribution and use in source and binary forms, with or without\r
13modification, are permitted provided that the following conditions are met:\r
141. Redistributions of source code must retain the above copyright notice,\r
15this list of conditions and the following disclaimer.\r
162. Redistributions in binary form must reproduce the above copyright notice,\r
17this list of conditions and the following disclaimer in the documentation\r
18 and/or other materials provided with the distribution.\r
19\r
20THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND\r
21ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED\r
22WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.\r
23IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,\r
24INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,\r
25BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,\r
26DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF\r
27LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE\r
28OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF\r
29ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.\r
30\r
31**/\r
32\r
33#ifndef _BOOT_LOGO2_H_\r
34#define _BOOT_LOGO2_H_\r
35\r
36#include <Protocol/GraphicsOutput.h>\r
37\r
38#define EDKII_BOOT_LOGO2_PROTOCOL_GUID \\r
39 { \\r
40 0x4b5dc1df, 0x1eaa, 0x48b2, { 0xa7, 0xe9, 0xea, 0xc4, 0x89, 0xa0, 0xb, 0x5c } \\r
41 }\r
42\r
43//\r
44// Forward reference for pure ANSI compatability\r
45//\r
46typedef struct _EDKII_BOOT_LOGO2_PROTOCOL EDKII_BOOT_LOGO2_PROTOCOL;\r
47\r
48/**\r
49 Update information of logo image drawn on screen.\r
50\r
51 @param[in] This The pointer to the Boot Logo protocol 2 instance.\r
52 @param[in] BltBuffer The BLT buffer for logo drawn on screen. If BltBuffer\r
53 is set to NULL, it indicates that logo image is no\r
54 longer on the screen.\r
55 @param[in] DestinationX X coordinate of destination for the BltBuffer.\r
56 @param[in] DestinationY Y coordinate of destination for the BltBuffer.\r
57 @param[in] Width Width of rectangle in BltBuffer in pixels.\r
58 @param[in] Height Hight of rectangle in BltBuffer in pixels.\r
59\r
60 @retval EFI_SUCCESS The boot logo information was updated.\r
61 @retval EFI_INVALID_PARAMETER One of the parameters has an invalid value.\r
62 @retval EFI_OUT_OF_RESOURCES The logo information was not updated due to\r
63 insufficient memory resources.\r
64**/\r
65typedef\r
66EFI_STATUS\r
67(EFIAPI *EDKII_SET_BOOT_LOGO2)(\r
68 IN EDKII_BOOT_LOGO2_PROTOCOL *This,\r
69 IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer OPTIONAL,\r
70 IN UINTN DestinationX,\r
71 IN UINTN DestinationY,\r
72 IN UINTN Width,\r
73 IN UINTN Height\r
74 );\r
75\r
76/**\r
77 Get the location of the boot logo on the screen.\r
78\r
79 @param[in] This The pointer to the Boot Logo Protocol 2 instance\r
80 @param[out] BltBuffer Returns pointer to the GOP BLT buffer that was\r
81 previously registered with SetBootLogo2(). The\r
82 buffer returned must not be modified or freed.\r
83 @param[out] DestinationX Returns the X start position of the GOP BLT buffer\r
84 that was previously registered with SetBootLogo2().\r
85 @param[out] DestinationY Returns the Y start position of the GOP BLT buffer\r
86 that was previously registered with SetBootLogo2().\r
87 @param[out] Width Returns the width of the GOP BLT buffer\r
88 that was previously registered with SetBootLogo2().\r
89 @param[out] Height Returns the height of the GOP BLT buffer\r
90 that was previously registered with SetBootLogo2().\r
91\r
92 @retval EFI_SUCCESS The location of the boot logo was returned.\r
93 @retval EFI_NOT_READY The boot logo has not been set.\r
94 @retval EFI_INVALID_PARAMETER BltBuffer is NULL.\r
95 @retval EFI_INVALID_PARAMETER DestinationX is NULL.\r
96 @retval EFI_INVALID_PARAMETER DestinationY is NULL.\r
97 @retval EFI_INVALID_PARAMETER Width is NULL.\r
98 @retval EFI_INVALID_PARAMETER Height is NULL.\r
99**/\r
100typedef\r
101EFI_STATUS\r
102(EFIAPI *EDKII_GET_BOOT_LOGO2)(\r
103 IN EDKII_BOOT_LOGO2_PROTOCOL *This,\r
104 OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL **BltBuffer,\r
105 OUT UINTN *DestinationX,\r
106 OUT UINTN *DestinationY,\r
107 OUT UINTN *Width,\r
108 OUT UINTN *Height\r
109 );\r
110\r
111struct _EDKII_BOOT_LOGO2_PROTOCOL {\r
112 EDKII_SET_BOOT_LOGO2 SetBootLogo;\r
113 EDKII_GET_BOOT_LOGO2 GetBootLogo;\r
114};\r
115\r
116extern EFI_GUID gEdkiiBootLogo2ProtocolGuid;\r
117\r
118#endif\r