1*9adc7088SAlexander von Gluck IV // Copyright 2020 Haiku, Inc. All rights reserved 2*9adc7088SAlexander von Gluck IV // Released under the terms of the MIT License 3*9adc7088SAlexander von Gluck IV 4*9adc7088SAlexander von Gluck IV #pragma once 5*9adc7088SAlexander von Gluck IV 6*9adc7088SAlexander von Gluck IV #include <efi/types.h> 7*9adc7088SAlexander von Gluck IV 8*9adc7088SAlexander von Gluck IV #define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \ 9*9adc7088SAlexander von Gluck IV {0xf42f7782, 0x012e, 0x4c12, \ 10*9adc7088SAlexander von Gluck IV {0x99, 0x56, 0x49, 0xf9, 0x43, 0x04, 0xf7, 0x21}} 11*9adc7088SAlexander von Gluck IV 12*9adc7088SAlexander von Gluck IV extern efi_guid ConsoleControlProtocol; 13*9adc7088SAlexander von Gluck IV 14*9adc7088SAlexander von Gluck IV typedef enum { 15*9adc7088SAlexander von Gluck IV EfiConsoleControlScreenText, 16*9adc7088SAlexander von Gluck IV EfiConsoleControlScreenGraphics, 17*9adc7088SAlexander von Gluck IV EfiConsoleControlScreenMax 18*9adc7088SAlexander von Gluck IV } efi_console_control_screen_mode; 19*9adc7088SAlexander von Gluck IV 20*9adc7088SAlexander von Gluck IV typedef struct efi_console_control_protocol { 21*9adc7088SAlexander von Gluck IV uint64_t Revision; 22*9adc7088SAlexander von Gluck IV 23*9adc7088SAlexander von Gluck IV efi_status (*GetMode) (struct efi_console_control_protocol* self, 24*9adc7088SAlexander von Gluck IV efi_console_control_screen_mode* mode, 25*9adc7088SAlexander von Gluck IV bool* gopUgaExists, 26*9adc7088SAlexander von Gluck IV bool* stdInLocked) EFIAPI; 27*9adc7088SAlexander von Gluck IV 28*9adc7088SAlexander von Gluck IV efi_status (*SetMode) (struct efi_console_control_protocol* self, 29*9adc7088SAlexander von Gluck IV efi_console_control_screen_mode mode) EFIAPI; 30*9adc7088SAlexander von Gluck IV 31*9adc7088SAlexander von Gluck IV efi_status (*LockStdIn) (struct efi_console_control_protocol* self, 32*9adc7088SAlexander von Gluck IV uint16_t* password); 33*9adc7088SAlexander von Gluck IV 34*9adc7088SAlexander von Gluck IV } efi_console_control_protocol; 35