1264095Semaste/* $FreeBSD: releng/10.3/sys/boot/efi/include/efigop.h 294981 2016-01-28 12:11:42Z smh $ */ 2264095Semaste/*++ 3264095Semaste 4264095SemasteCopyright (c) 1999 - 2002 Intel Corporation. All rights reserved 5264095SemasteThis software and associated documentation (if any) is furnished 6264095Semasteunder a license and may only be used or copied in accordance 7264095Semastewith the terms of the license. Except as permitted by such 8264095Semastelicense, no part of this software or documentation may be 9264095Semastereproduced, stored in a retrieval system, or transmitted in any 10264095Semasteform or by any means without the express written consent of 11264095SemasteIntel Corporation. 12264095Semaste 13264095SemasteModule Name: 14264095Semaste 15264095Semaste efigop.h 16264095Semaste 17264095SemasteAbstract: 18264095Semaste Info about framebuffers 19264095Semaste 20264095Semaste 21264095Semaste 22264095Semaste 23264095SemasteRevision History 24264095Semaste 25264095Semaste--*/ 26264095Semaste 27264095Semaste#ifndef _EFIGOP_H 28264095Semaste#define _EFIGOP_H 29264095Semaste 30294981Ssmh#define EFI_GRAPHICS_OUTPUT_PROTOCOL_GUID \ 31294981Ssmh { 0x9042a9de, 0x23dc, 0x4a38, {0x96, 0xfb, 0x7a, 0xde, 0xd0, 0x80, 0x51, 0x6a} } 32264095Semaste 33264095SemasteINTERFACE_DECL(_EFI_GRAPHICS_OUTPUT); 34264095Semaste 35264095Semastetypedef struct { 36264095Semaste UINT32 RedMask; 37264095Semaste UINT32 GreenMask; 38264095Semaste UINT32 BlueMask; 39264095Semaste UINT32 ReservedMask; 40264095Semaste} EFI_PIXEL_BITMASK; 41264095Semaste 42264095Semastetypedef enum { 43264095Semaste PixelRedGreenBlueReserved8BitPerColor, 44264095Semaste PixelBlueGreenRedReserved8BitPerColor, 45264095Semaste PixelBitMask, 46264095Semaste PixelBltOnly, 47264095Semaste PixelFormatMax, 48264095Semaste} EFI_GRAPHICS_PIXEL_FORMAT; 49264095Semaste 50264095Semastetypedef struct { 51264095Semaste UINT32 Version; 52264095Semaste UINT32 HorizontalResolution; 53264095Semaste UINT32 VerticalResolution; 54264095Semaste EFI_GRAPHICS_PIXEL_FORMAT PixelFormat; 55264095Semaste EFI_PIXEL_BITMASK PixelInformation; 56264095Semaste UINT32 PixelsPerScanLine; 57264095Semaste} EFI_GRAPHICS_OUTPUT_MODE_INFORMATION; 58264095Semaste 59264095Semastetypedef struct { 60264095Semaste UINT32 MaxMode; 61264095Semaste UINT32 Mode; 62264095Semaste EFI_GRAPHICS_OUTPUT_MODE_INFORMATION *Info; 63264095Semaste UINTN SizeOfInfo; 64264095Semaste EFI_PHYSICAL_ADDRESS FrameBufferBase; 65264095Semaste UINTN FrameBufferSize; 66264095Semaste} EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE; 67264095Semaste 68264095Semastetypedef 69264095SemasteEFI_STATUS 70264095Semaste(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE) ( 71264095Semaste IN struct _EFI_GRAPHICS_OUTPUT *This, 72264095Semaste IN UINT32 ModeNumber, 73264095Semaste OUT UINTN *SizeOfInfo, 74264095Semaste OUT EFI_GRAPHICS_OUTPUT_MODE_INFORMATION **Info 75264095Semaste ); 76264095Semaste 77264095Semastetypedef 78264095SemasteEFI_STATUS 79264095Semaste(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE) ( 80264095Semaste IN struct _EFI_GRAPHICS_OUTPUT *This, 81264095Semaste IN UINT32 ModeNumber 82264095Semaste ); 83264095Semaste 84264095Semastetypedef struct { 85264095Semaste UINT8 Blue; 86264095Semaste UINT8 Green; 87264095Semaste UINT8 Red; 88264095Semaste UINT8 Reserved; 89264095Semaste} EFI_GRAPHICS_OUTPUT_BLT_PIXEL; 90264095Semaste 91264095Semastetypedef enum { 92264095Semaste EfiBltVideoFill, 93264095Semaste EfiBltVideoToBltBuffer, 94264095Semaste EfiBltBufferToVideo, 95264095Semaste EfiBltVideoToVideo, 96264095Semaste EfiGraphcisOutputBltOperationMax, 97264095Semaste} EFI_GRAPHICS_OUTPUT_BLT_OPERATION; 98264095Semaste 99264095Semastetypedef 100264095SemasteEFI_STATUS 101264095Semaste(EFIAPI *EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT) ( 102264095Semaste IN struct _EFI_GRAPHICS_OUTPUT *This, 103264095Semaste IN OUT EFI_GRAPHICS_OUTPUT_BLT_PIXEL *BltBuffer, 104264095Semaste IN EFI_GRAPHICS_OUTPUT_BLT_OPERATION BltOperation, 105264095Semaste IN UINTN SourceX, 106264095Semaste IN UINTN SourceY, 107264095Semaste IN UINTN DestinationX, 108264095Semaste IN UINTN DestinationY, 109264095Semaste IN UINTN Width, 110264095Semaste IN UINTN Height, 111264095Semaste IN UINTN Delta 112264095Semaste ); 113264095Semaste 114264095Semastetypedef struct _EFI_GRAPHICS_OUTPUT { 115264095Semaste EFI_GRAPHICS_OUTPUT_PROTOCOL_QUERY_MODE QueryMode; 116264095Semaste EFI_GRAPHICS_OUTPUT_PROTOCOL_SET_MODE SetMode; 117264095Semaste EFI_GRAPHICS_OUTPUT_PROTOCOL_BLT Blt; 118264095Semaste EFI_GRAPHICS_OUTPUT_PROTOCOL_MODE *Mode; 119264095Semaste} EFI_GRAPHICS_OUTPUT; 120264095Semaste 121264095Semaste#endif /* _EFIGOP_H */ 122