VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware2/VBoxPkg/VBoxAppleSim/ConsoleControl.h@ 33540

Last change on this file since 33540 was 33540, checked in by vboxsync, 14 years ago

*: spelling fixes, thanks Timeless!

  • Property svn:eol-style set to native
  • Property svn:keywords set to Author Date Id Revision
File size: 3.7 KB
Line 
1/* $Id: ConsoleControl.h 33540 2010-10-28 09:27:05Z vboxsync $ */
2/** @file
3 * ConsoleControl.h
4 */
5
6/*
7 * Copyright (C) 2009-2010 Oracle Corporation
8 *
9 * This file is part of VirtualBox Open Source Edition (OSE), as
10 * available from http://www.virtualbox.org. This file is free software;
11 * you can redistribute it and/or modify it under the terms of the GNU
12 * General Public License (GPL) as published by the Free Software
13 * Foundation, in version 2 as it comes in the "COPYING" file of the
14 * VirtualBox OSE distribution. VirtualBox OSE is distributed in the
15 * hope that it will be useful, but WITHOUT ANY WARRANTY of any kind.
16 */
17
18/*
19 * This code is based on:
20 *
21 * Copyright (c) 2004 - 2006, Intel Corporation
22 * All rights reserved. This program and the accompanying materials
23 * are licensed and made available under the terms and conditions of the BSD License
24 * which accompanies this distribution. The full text of the license may be found at
25 * http://opensource.org/licenses/bsd-license.php
26 *
27 * THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
28 * WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
29 *
30 * Module Name:
31 *
32 * ConsoleControl.h
33 *
34 * Abstract:
35 *
36 * Abstraction of a Text mode or GOP/UGA screen
37 */
38
39#ifndef __CONSOLE_CONTROL_H__
40#define __CONSOLE_CONTROL_H__
41
42#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \
43 { 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} }
44
45typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL;
46
47
48typedef enum {
49 EfiConsoleControlScreenText,
50 EfiConsoleControlScreenGraphics,
51 EfiConsoleControlScreenMaxValue
52} EFI_CONSOLE_CONTROL_SCREEN_MODE;
53
54
55typedef
56EFI_STATUS
57(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE) (
58 IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
59 OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,
60 OUT BOOLEAN *GopUgaExists, OPTIONAL
61 OUT BOOLEAN *StdInLocked OPTIONAL
62 )
63/*++
64
65 Routine Description:
66 Return the current video mode information. Also returns info about existence
67 of Graphics Output devices or UGA Draw devices in system, and if the Std In
68 device is locked. All the arguments are optional and only returned if a non
69 NULL pointer is passed in.
70
71 Arguments:
72 This - Protocol instance pointer.
73 Mode - Are we in text of graphics mode.
74 GopUgaExists - TRUE if Console Splitter has found a GOP or UGA device
75 StdInLocked - TRUE if StdIn device is keyboard locked
76
77 Returns:
78 EFI_SUCCESS - Mode information returned.
79
80--*/
81;
82
83
84typedef
85EFI_STATUS
86(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE) (
87 IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
88 OUT EFI_CONSOLE_CONTROL_SCREEN_MODE Mode
89 )
90/*++
91
92 Routine Description:
93 Set the current mode to either text or graphics. Graphics is
94 for Quiet Boot.
95
96 Arguments:
97 This - Protocol instance pointer.
98 Mode - Mode to set the
99
100 Returns:
101 EFI_SUCCESS - Mode information returned.
102
103--*/
104;
105
106
107typedef
108EFI_STATUS
109(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN) (
110 IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
111 IN CHAR16 *Password
112 )
113/*++
114
115 Routine Description:
116 Lock Std In devices until Password is typed.
117
118 Arguments:
119 This - Protocol instance pointer.
120 Password - Password needed to unlock screen. NULL means unlock keyboard
121
122 Returns:
123 EFI_SUCCESS - Mode information returned.
124 EFI_DEVICE_ERROR - Std In not locked
125
126--*/
127;
128
129
130
131struct _EFI_CONSOLE_CONTROL_PROTOCOL {
132 EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE GetMode;
133 EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE SetMode;
134 EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN LockStdIn;
135};
136
137extern EFI_GUID gEfiConsoleControlProtocolGuid;
138
139#endif
Note: See TracBrowser for help on using the repository browser.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette