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 
5 Copyright (c) 2006 - 2010, Intel Corporation. All rights reserved.<BR>
6 This program and the accompanying materials are licensed and made available under
7 the terms and conditions of the BSD License that accompanies this distribution.
8 The full text of the license may be found at
9 http://opensource.org/licenses/bsd-license.php.
10 
11 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
12 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
13 
14 **/
15 
16 #ifndef __EFI_OEM_BADGING_H__
17 #define __EFI_OEM_BADGING_H__
18 
19 //
20 // GUID for EFI OEM Badging Protocol
21 //
22 #define EFI_OEM_BADGING_PROTOCOL_GUID \
23   { 0x170e13c0, 0xbf1b, 0x4218, {0x87, 0x1d, 0x2a, 0xbd, 0xc6, 0xf8, 0x87, 0xbc } }
24 
25 
26 typedef struct _EFI_OEM_BADGING_PROTOCOL EFI_OEM_BADGING_PROTOCOL;
27 
28 typedef enum {
29   EfiBadgingFormatBMP,
30   EfiBadgingFormatJPEG,
31   EfiBadgingFormatTIFF,
32   EfiBadgingFormatGIF,
33   EfiBadgingFormatUnknown
34 } EFI_BADGING_FORMAT;
35 
36 typedef enum {
37   EfiBadgingDisplayAttributeLeftTop,
38   EfiBadgingDisplayAttributeCenterTop,
39   EfiBadgingDisplayAttributeRightTop,
40   EfiBadgingDisplayAttributeCenterRight,
41   EfiBadgingDisplayAttributeRightBottom,
42   EfiBadgingDisplayAttributeCenterBottom,
43   EfiBadgingDisplayAttributeLeftBottom,
44   EfiBadgingDisplayAttributeCenterLeft,
45   EfiBadgingDisplayAttributeCenter,
46   EfiBadgingDisplayAttributeCustomized
47 } EFI_BADGING_DISPLAY_ATTRIBUTE;
48 
49 /**
50 
51   Load an OEM badge image and return its data and attributes.
52 
53   @param This              The pointer to this protocol instance.
54   @param Instance          The visible image instance is found.
55   @param Format            The format of the image. Examples: BMP, JPEG.
56   @param ImageData         The image data for the badge file. Currently only
57                            supports the .bmp file format.
58   @param ImageSize         The size of the image returned.
59   @param Attribute         The display attributes of the image returned.
60   @param CoordinateX       The X coordinate of the image.
61   @param CoordinateY       The Y coordinate of the image.
62 
63   @retval EFI_SUCCESS      The image was fetched successfully.
64   @retval EFI_NOT_FOUND    The specified image could not be found.
65 
66 **/
67 typedef
68 EFI_STATUS
69 (EFIAPI *EFI_BADGING_GET_IMAGE)(
70   IN     EFI_OEM_BADGING_PROTOCOL          *This,
71   IN OUT UINT32                            *Instance,
72      OUT EFI_BADGING_FORMAT                *Format,
73      OUT UINT8                             **ImageData,
74      OUT UINTN                             *ImageSize,
75      OUT EFI_BADGING_DISPLAY_ATTRIBUTE     *Attribute,
76      OUT UINTN                             *CoordinateX,
77      OUT UINTN                             *CoordinateY
78 );
79 
80 
81 struct _EFI_OEM_BADGING_PROTOCOL {
82   EFI_BADGING_GET_IMAGE       GetImage;
83 };
84 
85 
86 extern EFI_GUID gEfiOEMBadgingProtocolGuid;
87 
88 #endif
89