VirtualBox

source: vbox/trunk/src/VBox/Devices/EFI/Firmware/VBoxPkg/VBoxAppleSim/ConsoleControl.h@ 93115

Last change on this file since 93115 was 93115, checked in by vboxsync, 2 years ago

scm --update-copyright-year

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

© 2023 Oracle
ContactPrivacy policyTerms of Use