graphics.c revision b26fa1a2fbcfee7d03b0c8fd15ec3aa64ae70b9f
/*
* under the terms of the GNU Lesser General Public License as published by
* the Free Software Foundation; either version 2.1 of the License, or
* (at your option) any later version.
*
* This program is distributed in the hope that it will be useful, but
* WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* Copyright (C) 2012-2013 Kay Sievers <kay@vrfy.org>
* Copyright (C) 2012 Harald Hoyer <harald@redhat.com>
* Copyright (C) 2013 Intel Corporation
* Authored by Joonas Lahtinen <joonas.lahtinen@linux.intel.com>
*/
#include <efi.h>
#include <efilib.h>
#include "graphics.h"
#include "util.h"
#define EFI_CONSOLE_CONTROL_PROTOCOL_GUID \
{ 0xf42f7782, 0x12e, 0x4c12, { 0x99, 0x56, 0x49, 0xf9, 0x43, 0x4, 0xf7, 0x21 } };
struct _EFI_CONSOLE_CONTROL_PROTOCOL;
typedef enum {
struct _EFI_CONSOLE_CONTROL_PROTOCOL *This,
);
struct _EFI_CONSOLE_CONTROL_PROTOCOL *This,
);
struct _EFI_CONSOLE_CONTROL_PROTOCOL *This,
);
typedef struct _EFI_CONSOLE_CONTROL_PROTOCOL {
/* console control protocol is nonstandard and might not exist. */
/* check current mode */
err = uefi_call_wrapper(ConsoleControl->GetMode, 4, ConsoleControl, ¤t, &uga_exists, &stdin_locked);
return err;
/* do not touch the mode */
return EFI_SUCCESS;
/* some firmware enables the cursor when switching modes */
return err;
}