-/*++ \r
+/** @file\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
+ This protocol provides the interfaces to Get/Set the current video mode for GOP/UGA screen\r
\r
-Module Name:\r
+Copyright (c) 2006 - 2008, 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
- ConsoleControl.h\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
-Abstract:\r
-\r
- Abstraction of a Text mode or UGA screen\r
-\r
---*/\r
+**/\r
\r
#ifndef __CONSOLE_CONTROL_H__\r
#define __CONSOLE_CONTROL_H__\r
\r
\r
typedef enum {\r
- EfiConsoleControlScreenText,\r
- EfiConsoleControlScreenGraphics,\r
+ EfiConsoleControlScreenText, /// Text Mode\r
+ EfiConsoleControlScreenGraphics, /// Graphics Mode\r
EfiConsoleControlScreenMaxValue\r
} EFI_CONSOLE_CONTROL_SCREEN_MODE;\r
\r
+/**\r
+ Return the current video mode information. Also returns info about existence\r
+ of Graphics Output devices or UGA Draw devices in system, and whether the Std\r
+ In device is locked. GopUgaExists and StdInLocked parameters are optional, and\r
+ only returned if a non NULL pointer is passed in.\r
+\r
+ @param This Protocol instance pointer.\r
+ @param Mode Current video mode.\r
+ @param GopUgaExists TRUE if GOP Spliter has found a GOP/UGA device\r
+ @param StdInLocked TRUE if StdIn device is keyboard locked\r
+\r
+ @retval EFI_SUCCESS Video mode information is returned.\r
+ @retval EFI_INVALID_PARAMETER Invalid parameters if Mode == NULL.\r
\r
+**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE) (\r
+(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE)(\r
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,\r
- OUT BOOLEAN *UgaExists, OPTIONAL \r
- OUT BOOLEAN *StdInLocked OPTIONAL\r
- )\r
-/*++\r
+ OUT BOOLEAN *GopUgaExists, OPTIONAL\r
+ OUT BOOLEAN *StdInLocked OPTIONAL\r
+ );\r
\r
- Routine Description:\r
- Return the current video mode information. Also returns info about existence\r
- of UGA Draw devices in system, and if the Std In device is locked. All the\r
- arguments are optional and only returned if a non NULL pointer is passed in.\r
+/**\r
+ Set the current video mode to either text or graphics. Graphics is\r
+ for Quiet Boot.\r
\r
- Arguments:\r
- This - Protocol instance pointer.\r
- Mode - Are we in text of grahics mode.\r
- UgaExists - TRUE if UGA Spliter has found a UGA device\r
- StdInLocked - TRUE if StdIn device is keyboard locked\r
-\r
- Returns:\r
- EFI_SUCCESS - Mode information returned.\r
-\r
---*/\r
-;\r
+ @param This Protocol instance pointer.\r
+ @param Mode Video mode is to be set.\r
\r
+ @retval EFI_SUCCESS Mode is set successfully.\r
+ @retval EFI_INVALID_PARAMETER Mode is not the valid mode value.\r
+ @retval EFI_UNSUPPORTED Mode is unsupported by console device.\r
\r
+**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE) (\r
+(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE)(\r
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE Mode\r
- )\r
-/*++\r
-\r
- Routine Description:\r
- Set the current mode to either text or graphics. Graphics is\r
- for Quiet Boot.\r
+ );\r
\r
- Arguments:\r
- This - Protocol instance pointer.\r
- Mode - Mode to set the \r
+/**\r
+ If Password is NULL or the Password is too big, then return an error. If the\r
+ Password is valid, then store the password, lock StdIn and arm the periodic timer.\r
\r
- Returns:\r
- EFI_SUCCESS - Mode information returned.\r
-\r
---*/\r
-;\r
+ @param This Protocol instance pointer.\r
+ @param Password The password input.\r
\r
+ @retval EFI_SUCCESS Lock the StdIn device.\r
+ @retval EFI_INVALID_PARAMETER Password is NULL.\r
+ @retval EFI_OUT_OF_RESOURCES Buffer allocation to store the password fails.\r
\r
+**/\r
typedef\r
EFI_STATUS\r
-(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN) (\r
+(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN)(\r
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r
- IN CHAR16 *Password\r
- )\r
-/*++\r
-\r
- Routine Description:\r
- Lock Std In devices until Password is typed.\r
-\r
- Arguments:\r
- This - Protocol instance pointer.\r
- Password - Password needed to unlock screen. NULL means unlock keyboard\r
-\r
- Returns:\r
- EFI_SUCCESS - Mode information returned.\r
- EFI_DEVICE_ERROR - Std In not locked\r
-\r
---*/\r
-;\r
-\r
-\r
+ IN CHAR16 *Password\r
+ );\r
\r
struct _EFI_CONSOLE_CONTROL_PROTOCOL {\r
EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE GetMode;\r