OemBadging.h 2.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
  1. /** @file
  2. The OEM Badging Protocol defines the interface to get the OEM badging
  3. image with the display attribute. This protocol can be produced based on OEM badging images.
  4. Copyright (c) 2006 - 2019 Intel Corporation. All rights reserved. <BR>
  5. SPDX-License-Identifier: BSD-2-Clause-Patent
  6. **/
  7. #ifndef __EFI_OEM_BADGING_H__
  8. #define __EFI_OEM_BADGING_H__
  9. //
  10. // GUID for EFI OEM Badging Protocol
  11. //
  12. #define EFI_OEM_BADGING_PROTOCOL_GUID \
  13. { 0x170e13c0, 0xbf1b, 0x4218, {0x87, 0x1d, 0x2a, 0xbd, 0xc6, 0xf8, 0x87, 0xbc } }
  14. typedef struct _EFI_OEM_BADGING_PROTOCOL EFI_OEM_BADGING_PROTOCOL;
  15. typedef enum {
  16. EfiBadgingFormatBMP,
  17. EfiBadgingFormatJPEG,
  18. EfiBadgingFormatTIFF,
  19. EfiBadgingFormatGIF,
  20. EfiBadgingFormatUnknown
  21. } EFI_BADGING_FORMAT;
  22. typedef enum {
  23. EfiBadgingDisplayAttributeLeftTop,
  24. EfiBadgingDisplayAttributeCenterTop,
  25. EfiBadgingDisplayAttributeRightTop,
  26. EfiBadgingDisplayAttributeCenterRight,
  27. EfiBadgingDisplayAttributeRightBottom,
  28. EfiBadgingDisplayAttributeCenterBottom,
  29. EfiBadgingDisplayAttributeLeftBottom,
  30. EfiBadgingDisplayAttributeCenterLeft,
  31. EfiBadgingDisplayAttributeCenter,
  32. EfiBadgingDisplayAttributeCustomized
  33. } EFI_BADGING_DISPLAY_ATTRIBUTE;
  34. /**
  35. Load an OEM badge image and return its data and attributes.
  36. @param This The pointer to this protocol instance.
  37. @param Instance The visible image instance is found.
  38. @param Format The format of the image. Examples: BMP, JPEG.
  39. @param ImageData The image data for the badge file. Currently only
  40. supports the .bmp file format.
  41. @param ImageSize The size of the image returned.
  42. @param Attribute The display attributes of the image returned.
  43. @param CoordinateX The X coordinate of the image.
  44. @param CoordinateY The Y coordinate of the image.
  45. @retval EFI_SUCCESS The image was fetched successfully.
  46. @retval EFI_NOT_FOUND The specified image could not be found.
  47. **/
  48. typedef
  49. EFI_STATUS
  50. (EFIAPI *EFI_BADGING_GET_IMAGE)(
  51. IN EFI_OEM_BADGING_PROTOCOL *This,
  52. IN OUT UINT32 *Instance,
  53. OUT EFI_BADGING_FORMAT *Format,
  54. OUT UINT8 **ImageData,
  55. OUT UINTN *ImageSize,
  56. OUT EFI_BADGING_DISPLAY_ATTRIBUTE *Attribute,
  57. OUT UINTN *CoordinateX,
  58. OUT UINTN *CoordinateY
  59. );
  60. struct _EFI_OEM_BADGING_PROTOCOL {
  61. EFI_BADGING_GET_IMAGE GetImage;
  62. };
  63. extern EFI_GUID gEfiOemBadgingProtocolGuid;
  64. #endif