31 lines
1.0 KiB
C
31 lines
1.0 KiB
C
/* SPDX-License-Identifier: LGPL-2.1+ */
|
|
/*
|
|
* Copyright © 2012 Harald Hoyer <harald@redhat.com>
|
|
*/
|
|
|
|
#ifndef __SDBOOT_CONSOLE_H
|
|
#define __SDBOOT_CONSOLE_H
|
|
|
|
#define EFI_SHIFT_STATE_VALID 0x80000000
|
|
#define EFI_RIGHT_CONTROL_PRESSED 0x00000004
|
|
#define EFI_LEFT_CONTROL_PRESSED 0x00000008
|
|
#define EFI_RIGHT_ALT_PRESSED 0x00000010
|
|
#define EFI_LEFT_ALT_PRESSED 0x00000020
|
|
|
|
#define EFI_CONTROL_PRESSED (EFI_RIGHT_CONTROL_PRESSED|EFI_LEFT_CONTROL_PRESSED)
|
|
#define EFI_ALT_PRESSED (EFI_RIGHT_ALT_PRESSED|EFI_LEFT_ALT_PRESSED)
|
|
#define KEYPRESS(keys, scan, uni) ((((UINT64)keys) << 32) | ((scan) << 16) | (uni))
|
|
#define KEYCHAR(k) ((k) & 0xffff)
|
|
#define CHAR_CTRL(c) ((c) - 'a' + 1)
|
|
|
|
enum console_mode_change_type {
|
|
CONSOLE_MODE_KEEP = 0,
|
|
CONSOLE_MODE_SET,
|
|
CONSOLE_MODE_AUTO,
|
|
CONSOLE_MODE_MAX,
|
|
};
|
|
|
|
EFI_STATUS console_key_read(UINT64 *key, BOOLEAN wait);
|
|
EFI_STATUS console_set_mode(UINTN *mode, enum console_mode_change_type how);
|
|
#endif
|