--- /dev/null
+/*++\r
+\r
+Copyright (c) 2006, Intel Corporation \r
+All rights reserved. This program and the accompanying materials \r
+are licensed and made available under the terms and conditions of the BSD License \r
+which accompanies this distribution. The full text of the license may be found at \r
+http://opensource.org/licenses/bsd-license.php \r
+ \r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r
+\r
+Module Name:\r
+\r
+ GraphicsLib.h\r
+\r
+Abstract:\r
+\r
+ \r
+--*/\r
+\r
+#ifndef _EFI_GRAPHICS_LIB_H_\r
+#define _EFI_GRAPHICS_LIB_H_\r
+\r
+EFI_STATUS\r
+GetGraphicsBitMapFromFV (\r
+ IN EFI_GUID *FileNameGuid,\r
+ OUT VOID **Image,\r
+ OUT UINTN *ImageSize\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Return the graphics image file named FileNameGuid into Image and return it's\r
+ size in ImageSize. All Firmware Volumes (FV) in the system are searched for the\r
+ file name.\r
+\r
+Arguments:\r
+\r
+ FileNameGuid - File Name of graphics file in the FV(s).\r
+\r
+ Image - Pointer to pointer to return graphics image. If NULL, a \r
+ buffer will be allocated.\r
+\r
+ ImageSize - Size of the graphics Image in bytes. Zero if no image found.\r
+\r
+\r
+Returns: \r
+\r
+ EFI_SUCCESS - Image and ImageSize are valid. \r
+ EFI_BUFFER_TOO_SMALL - Image not big enough. ImageSize has required size\r
+ EFI_NOT_FOUND - FileNameGuid not found\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+ConvertBmpToUgaBlt (\r
+ IN VOID *BmpImage,\r
+ IN UINTN BmpImageSize,\r
+ IN OUT VOID **UgaBlt,\r
+ IN OUT UINTN *UgaBltSize,\r
+ OUT UINTN *PixelHeight,\r
+ OUT UINTN *PixelWidth\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Convert a *.BMP graphics image to a UGA blt buffer. If a NULL UgaBlt buffer\r
+ is passed in a UgaBlt buffer will be allocated by this routine. If a UgaBlt\r
+ buffer is passed in it will be used if it is big enough.\r
+\r
+Arguments:\r
+\r
+ BmpImage - Pointer to BMP file\r
+\r
+ BmpImageSize - Number of bytes in BmpImage\r
+\r
+ UgaBlt - Buffer containing UGA version of BmpImage.\r
+\r
+ UgaBltSize - Size of UgaBlt in bytes.\r
+\r
+ PixelHeight - Height of UgaBlt/BmpImage in pixels\r
+\r
+ PixelWidth - Width of UgaBlt/BmpImage in pixels\r
+\r
+\r
+Returns: \r
+\r
+ EFI_SUCCESS - UgaBlt and UgaBltSize are returned. \r
+ EFI_UNSUPPORTED - BmpImage is not a valid *.BMP image\r
+ EFI_BUFFER_TOO_SMALL - The passed in UgaBlt buffer is not big enough.\r
+ UgaBltSize will contain the required size.\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+EnableQuietBoot (\r
+ IN EFI_GUID *LogoFile\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Use Console Control to turn off UGA based Simple Text Out consoles from going\r
+ to the UGA device. Put up LogoFile on every UGA device that is a console\r
+\r
+Arguments:\r
+\r
+ LogoFile - File name of logo to display on the center of the screen.\r
+\r
+\r
+Returns: \r
+\r
+ EFI_SUCCESS - ConsoleControl has been flipped to graphics and logo\r
+ displayed.\r
+ EFI_UNSUPPORTED - Logo not found\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+DisableQuietBoot (\r
+ VOID\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+\r
+ Use Console Control to turn on UGA based Simple Text Out consoles. The UGA \r
+ Simple Text Out screens will now be synced up with all non UGA output devices\r
+\r
+Arguments:\r
+\r
+ NONE\r
+\r
+Returns: \r
+\r
+ EFI_SUCCESS - UGA devices are back in text mode and synced up.\r
+ EFI_UNSUPPORTED - Logo not found\r
+\r
+--*/\r
+;\r
+\r
+EFI_STATUS\r
+LockKeyboards (\r
+ IN CHAR16 *Password\r
+ )\r
+/*++\r
+\r
+Routine Description:\r
+ Use Console Control Protocol to lock the Console In Spliter virtual handle. \r
+ This is the ConInHandle and ConIn handle in the EFI system table. All key\r
+ presses will be ignored until the Password is typed in. The only way to\r
+ disable the password is to type it in to a ConIn device.\r
+\r
+Arguments:\r
+ Password - Password used to lock ConIn device\r
+\r
+\r
+Returns: \r
+\r
+ EFI_SUCCESS - ConsoleControl has been flipped to graphics and logo\r
+ displayed.\r
+ EFI_UNSUPPORTED - Logo not found\r
+\r
+--*/\r
+;\r
+\r
+UINTN\r
+EFIAPI\r
+PrintXY (\r
+ IN UINTN X,\r
+ IN UINTN Y,\r
+ IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Foreground, OPTIONAL\r
+ IN EFI_GRAPHICS_OUTPUT_BLT_PIXEL *Background, OPTIONAL\r
+ IN CHAR16 *Fmt,\r
+ ...\r
+ )\r
+;\r
+\r
+\r
+#endif\r