433bd38e3a
Sponsored by: Netflix
135 lines
3.9 KiB
C
135 lines
3.9 KiB
C
/*-
|
|
* Copyright (c) 2004 - 2010, Intel Corporation. All rights reserved.
|
|
*
|
|
* Redistribution and use in source and binary forms, with or without
|
|
* modification, are permitted provided that the following conditions
|
|
* are met:
|
|
*
|
|
* 1. Redistributions of source code must retain the above copyright
|
|
* notice, this list of conditions and the following disclaimer.
|
|
* 2. Redistributions in binary form must reproduce the above copyright
|
|
* notice, this list of conditions and the following disclaimer in the
|
|
* documentation and/or other materials provided with the distribution.
|
|
*
|
|
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
|
|
* AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
|
|
* IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
|
|
* ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS
|
|
* BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
|
|
* CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
|
|
* SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
|
|
* INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
|
|
* CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
|
|
* ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF
|
|
* THE POSSIBILITY OF SUCH DAMAGE.
|
|
*/
|
|
|
|
/*
|
|
* Original Module Name: ConsoleControl.h
|
|
* Abstract: Abstraction of a Text mode or GOP/UGA screen
|
|
*/
|
|
|
|
/* $FreeBSD$ */
|
|
|
|
#ifndef _EFI_CONS_CTL_H
|
|
#define _EFI_CONS_CTL_H
|
|
|
|
#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \
|
|
{ 0xf42f7782, 0x12e, 0x4c12, {0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21} }
|
|
|
|
typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL EFI_CONSOLE_CONTROL_PROTOCOL;
|
|
|
|
|
|
typedef enum {
|
|
EfiConsoleControlScreenText,
|
|
EfiConsoleControlScreenGraphics,
|
|
EfiConsoleControlScreenMaxValue
|
|
} EFI_CONSOLE_CONTROL_SCREEN_MODE;
|
|
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE) (
|
|
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
|
|
OUT EFI_CONSOLE_CONTROL_SCREEN_MODE *Mode,
|
|
OUT BOOLEAN *GopUgaExists, OPTIONAL
|
|
OUT BOOLEAN *StdInLocked OPTIONAL
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Return the current video mode information. Also returns info about existence
|
|
of Graphics Output devices or UGA Draw devices in system, and if the Std In
|
|
device is locked. All the arguments are optional and only returned if a non
|
|
NULL pointer is passed in.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
Mode - Are we in text of grahics mode.
|
|
GopUgaExists - TRUE if Console Spliter has found a GOP or UGA device
|
|
StdInLocked - TRUE if StdIn device is keyboard locked
|
|
|
|
Returns:
|
|
EFI_SUCCESS - Mode information returned.
|
|
|
|
--*/
|
|
;
|
|
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE) (
|
|
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
|
|
IN EFI_CONSOLE_CONTROL_SCREEN_MODE Mode
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Set the current mode to either text or graphics. Graphics is
|
|
for Quiet Boot.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
Mode - Mode to set the
|
|
|
|
Returns:
|
|
EFI_SUCCESS - Mode information returned.
|
|
|
|
--*/
|
|
;
|
|
|
|
|
|
typedef
|
|
EFI_STATUS
|
|
(EFIAPI *EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN) (
|
|
IN EFI_CONSOLE_CONTROL_PROTOCOL *This,
|
|
IN CHAR16 *Password
|
|
)
|
|
/*++
|
|
|
|
Routine Description:
|
|
Lock Std In devices until Password is typed.
|
|
|
|
Arguments:
|
|
This - Protocol instance pointer.
|
|
Password - Password needed to unlock screen. NULL means unlock keyboard
|
|
|
|
Returns:
|
|
EFI_SUCCESS - Mode information returned.
|
|
EFI_DEVICE_ERROR - Std In not locked
|
|
|
|
--*/
|
|
;
|
|
|
|
|
|
|
|
struct _EFI_CONSOLE_CONTROL_PROTOCOL {
|
|
EFI_CONSOLE_CONTROL_PROTOCOL_GET_MODE GetMode;
|
|
EFI_CONSOLE_CONTROL_PROTOCOL_SET_MODE SetMode;
|
|
EFI_CONSOLE_CONTROL_PROTOCOL_LOCK_STD_IN LockStdIn;
|
|
};
|
|
|
|
extern EFI_GUID gEfiConsoleControlProtocolGuid;
|
|
|
|
#endif
|