File indexing completed on 2025-05-11 08:24:05
0001
0002
0003
0004
0005
0006
0007
0008
0009
0010
0011
0012
0013
0014
0015
0016
0017
0018
0019
0020
0021
0022
0023
0024
0025
0026
0027 #ifndef _EFIGOP_H
0028 #define _EFIGOP_H
0029
0030 #define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \
0031 { 0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a} }
0032
0033 INTERFACE_DECL(_EFI_GRAPHICS_OUTPUT);
0034
0035 typedef struct {
0036 UINT32 RedMask;
0037 UINT32 GreenMask;
0038 UINT32 BlueMask;
0039 UINT32 ReservedMask;
0040 } EFI_PIXEL_BITMASK;
0041
0042 typedef enum {
0043 PixelRedGreenBlueReserved8BitPerColor,
0044 PixelBlueGreenRedReserved8BitPerColor,
0045 PixelBitMask,
0046 PixelBltOnly,
0047 PixelFormatMax,
0048 } EFI_GRAPHICS_PIXEL_FORMAT;
0049
0050 typedef struct {
0051 UINT32 Version;
0052 UINT32 HorizontalResolution;
0053 UINT32 VerticalResolution;
0054 EFI_GRAPHICS_PIXEL_FORMAT PixelFormat;
0055 EFI_PIXEL_BITMASK PixelInformation;
0056 UINT32 PixelsPerScanLine;
0057 } EFI_GRAPHICS_OUTPUT_MODE_INFORMATION;
0058
0059 typedef struct {
0060 UINT32 MaxMode;
0061 UINT32 Mode;
0062 EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info;
0063 UINTN SizeOfInfo;
0064 EFI_PHYSICAL_ADDRESS FrameBufferBase;
0065 UINTN FrameBufferSize;
0066 } EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE;
0067
0068 typedef
0069 EFI_STATUS
0070 (EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE) (
0071 IN struct _EFI_GRAPHICS_OUTPUT *This,
0072 IN UINT32 ModeNumber,
0073 OUT UINTN *SizeOfInfo,
0074 OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info
0075 );
0076
0077 typedef
0078 EFI_STATUS
0079 (EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE) (
0080 IN struct _EFI_GRAPHICS_OUTPUT *This,
0081 IN UINT32 ModeNumber
0082 );
0083
0084 typedef struct {
0085 UINT8 Blue;
0086 UINT8 Green;
0087 UINT8 Red;
0088 UINT8 Reserved;
0089 } EFI_GRAPHICS_OUTPUT_BLT_PIXEL;
0090
0091 typedef enum {
0092 EfiBltVideoFill,
0093 EfiBltVideoToBltBuffer,
0094 EfiBltBufferToVideo,
0095 EfiBltVideoToVideo,
0096 EfiGraphcisOutputBltOperationMax,
0097 } EFI_GRAPHICS_OUTPUT_BLT_OPERATION;
0098
0099 typedef
0100 EFI_STATUS
0101 (EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT) (
0102 IN struct _EFI_GRAPHICS_OUTPUT *This,
0103 IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer,
0104 IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation,
0105 IN UINTN SourceX,
0106 IN UINTN SourceY,
0107 IN UINTN DestinationX,
0108 IN UINTN DestinationY,
0109 IN UINTN Width,
0110 IN UINTN Height,
0111 IN UINTN Delta
0112 );
0113
0114 typedef struct _EFI_GRAPHICS_OUTPUT {
0115 EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode;
0116 EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode;
0117 EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt;
0118 EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode;
0119 } EFI_GRAPHICS_OUTPUT;
0120
0121 #endif