Home | History | Annotate | Download | only in Protocol
      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 This program and the accompanying materials are licensed and made available under
      6 the terms and conditions of the BSD License that accompanies this distribution.
      7 The full text of the license may be found at
      8 http://opensource.org/licenses/bsd-license.php.
      9 
     10 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
     11 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
     12 
     13 **/
     14 
     15 #ifndef _BOOT_LOGO_H_
     16 #define _BOOT_LOGO_H_
     17 
     18 #include <Protocol/GraphicsOutput.h>
     19 
     20 #define EFI_BOOT_LOGO_PROTOCOL_GUID \
     21   { \
     22     0xcdea2bd3, 0xfc25, 0x4c1c, { 0xb9, 0x7c, 0xb3, 0x11, 0x86, 0x6, 0x49, 0x90 } \
     23   }
     24 
     25 //
     26 // Forward reference for pure ANSI compatability
     27 //
     28 typedef struct _EFI_BOOT_LOGO_PROTOCOL  EFI_BOOT_LOGO_PROTOCOL;
     29 
     30 /**
     31   Update information of logo image drawn on screen.
     32 
     33   @param  This           The pointer to the Boot Logo protocol instance.
     34   @param  BltBuffer      The BLT buffer for logo drawn on screen. If BltBuffer
     35                          is set to NULL, it indicates that logo image is no
     36                          longer on the screen.
     37   @param  DestinationX   X coordinate of destination for the BltBuffer.
     38   @param  DestinationY   Y coordinate of destination for the BltBuffer.
     39   @param  Width          Width of rectangle in BltBuffer in pixels.
     40   @param  Height         Hight of rectangle in BltBuffer in pixels.
     41 
     42   @retval EFI_SUCCESS             The boot logo information was updated.
     43   @retval EFI_INVALID_PARAMETER   One of the parameters has an invalid value.
     44   @retval EFI_OUT_OF_RESOURCES    The logo information was not updated due to
     45                                   insufficient memory resources.
     46 
     47 **/
     48 typedef
     49 EFI_STATUS
     50 (EFIAPI *EFI_SET_BOOT_LOGO)(
     51   IN EFI_BOOT_LOGO_PROTOCOL            *This,
     52   IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL     *BltBuffer       OPTIONAL,
     53   IN UINTN                             DestinationX,
     54   IN UINTN                             DestinationY,
     55   IN UINTN                             Width,
     56   IN UINTN                             Height
     57   );
     58 
     59 struct _EFI_BOOT_LOGO_PROTOCOL {
     60   EFI_SET_BOOT_LOGO        SetBootLogo;
     61 };
     62 
     63 extern EFI_GUID gEfiBootLogoProtocolGuid;
     64 
     65 #endif
     66