]>
Commit | Line | Data |
---|---|---|
5f597758 | 1 | /** @file\r |
88f20127 | 2 | \r |
5f597758 LG |
3 | This protocol provides the interfaces to Get/Set the current video mode for GOP/UGA screen\r |
4 | \r | |
5 | Copyright (c) 2006 - 2008, Intel Corporation \r | |
88f20127 | 6 | All rights reserved. This program and the accompanying materials \r |
7 | are licensed and made available under the terms and conditions of the BSD License \r | |
8 | which accompanies this distribution. The full text of the license may be found at \r | |
9 | http://opensource.org/licenses/bsd-license.php \r | |
10 | \r | |
11 | THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS, \r | |
12 | WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED. \r | |
13 | \r | |
5f597758 | 14 | **/\r |
88f20127 | 15 | \r |
16 | #ifndef __CONSOLE_CONTROL_H__\r | |
17 | #define __CONSOLE_CONTROL_H__\r | |
18 | \r | |
19 | #define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \\r | |
20 | { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21 } }\r | |
21 | \r | |
22 | typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL;\r | |
23 | \r | |
24 | \r | |
25 | typedef enum {\r | |
26 | EfiConsoleControlScreenText,\r | |
27 | EfiConsoleControlScreenGraphics,\r | |
28 | EfiConsoleControlScreenMaxValue\r | |
29 | } EFI_CONSOLE_CONTROL_SCREEN_MODE;\r | |
30 | \r | |
5f597758 LG |
31 | /**\r |
32 | Return the current video mode information. Also returns info about existence\r | |
33 | of Graphics Output devices or UGA Draw devices in system, and if the Std In device is locked. All the\r | |
34 | arguments are optional and only returned if a non NULL pointer is passed in.\r | |
35 | \r | |
36 | @param This Protocol instance pointer.\r | |
37 | @param Mode Are we in text of grahics mode.\r | |
38 | @param GopExists TRUE if GOP Spliter has found a GOP/UGA device\r | |
39 | @param StdInLocked TRUE if StdIn device is keyboard locked\r | |
88f20127 | 40 | \r |
5f597758 LG |
41 | @retval EFI_SUCCESS Video mode information is returned.\r |
42 | @retval EFI_INVALID_PARAMETER Invalid parameters if Mode == NULL.\r | |
43 | \r | |
44 | **/\r | |
88f20127 | 45 | typedef\r |
46 | EFI_STATUS\r | |
7d839888 | 47 | (EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE)(\r |
88f20127 | 48 | IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r |
49 | OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,\r | |
62409219 | 50 | OUT BOOLEAN *GopUgaExists, OPTIONAL \r |
51 | OUT BOOLEAN *StdInLocked OPTIONAL\r | |
ed66e1bc | 52 | );\r |
88f20127 | 53 | \r |
5f597758 LG |
54 | /**\r |
55 | Set the current video mode to either text or graphics. \r | |
88f20127 | 56 | \r |
5f597758 LG |
57 | @param This Protocol instance pointer.\r |
58 | @param Mode Mode is to be set.\r | |
88f20127 | 59 | \r |
5f597758 LG |
60 | @retval EFI_SUCCESS Mode is set.\r |
61 | @retval EFI_INVALID_PARAMETER Mode is not the valid mode value.\r | |
62 | @retval EFI_UNSUPPORTED Mode is unsupported by console device.\r | |
88f20127 | 63 | \r |
5f597758 | 64 | **/\r |
88f20127 | 65 | typedef\r |
66 | EFI_STATUS\r | |
7d839888 | 67 | (EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE)(\r |
88f20127 | 68 | IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r |
69 | OUT EFI_CONSOLE_CONTROL_SCREEN_MODE Mode\r | |
ed66e1bc | 70 | );\r |
88f20127 | 71 | \r |
5f597758 LG |
72 | /**\r |
73 | Copy the Password and enable state variable and then arm the periodic timer\r | |
74 | \r | |
75 | @retval EFI_SUCCESS Lock the StdIn device\r | |
76 | @retval EFI_INVALID_PARAMETER Password is NULL\r | |
77 | @retval EFI_OUT_OF_RESOURCES Buffer allocation to store the big password fails\r | |
88f20127 | 78 | \r |
5f597758 | 79 | **/\r |
88f20127 | 80 | typedef\r |
81 | EFI_STATUS\r | |
7d839888 | 82 | (EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN)(\r |
88f20127 | 83 | IN EFI_CONSOLE_CONTROL_PROTOCOL *This,\r |
84 | IN CHAR16 *Password\r | |
ed66e1bc | 85 | );\r |
88f20127 | 86 | \r |
88f20127 | 87 | struct _EFI_CONSOLE_CONTROL_PROTOCOL {\r |
88 | EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE GetMode;\r | |
89 | EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE SetMode;\r | |
90 | EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN LockStdIn;\r | |
91 | };\r | |
92 | \r | |
93 | extern EFI_GUID gEfiConsoleControlProtocolGuid;\r | |
94 | \r | |
95 | #endif\r |