]> git.proxmox.com Git - mirror_edk2.git/blobdiff - ShellPkg/Library/UefiShellDebug1CommandsLib/EditMenuBar.h
UefiCpuPkg: Move AsmRelocateApLoopStart from Mpfuncs.nasm to AmdSev.nasm
[mirror_edk2.git] / ShellPkg / Library / UefiShellDebug1CommandsLib / EditMenuBar.h
index 41dccf677234ef7c334452030e446d98fc88dd8f..92c5610d66b63e2f7d372f9f5aa7b230f02bfadc 100644 (file)
@@ -1,20 +1,27 @@
 /** @file\r
   Declares menubar interface functions.\r
 \r
-  Copyright (c) 2005 - 2011, Intel Corporation. All rights reserved. <BR>\r
-  This program and the accompanying materials\r
-  are licensed and made available under the terms and conditions of the BSD License\r
-  which accompanies this distribution.  The full text of the license may be found at\r
-  http://opensource.org/licenses/bsd-license.php\r
-\r
-  THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
-  WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+  Copyright (c) 2005 - 2018, Intel Corporation. All rights reserved. <BR>\r
+  SPDX-License-Identifier: BSD-2-Clause-Patent\r
 \r
 **/\r
 \r
 #ifndef _LIB_MENU_BAR_H_\r
 #define _LIB_MENU_BAR_H_\r
 \r
+#define SCAN_CONTROL_E  5\r
+#define SCAN_CONTROL_F  6\r
+#define SCAN_CONTROL_G  7\r
+#define SCAN_CONTROL_K  11\r
+#define SCAN_CONTROL_O  15\r
+#define SCAN_CONTROL_Q  17\r
+#define SCAN_CONTROL_R  18\r
+#define SCAN_CONTROL_S  19\r
+#define SCAN_CONTROL_T  20\r
+#define SCAN_CONTROL_U  21\r
+#define SCAN_CONTROL_W  23\r
+#define SCAN_CONTROL_Z  26\r
+\r
 typedef\r
 EFI_STATUS\r
 (*MENU_ITEM_FUNCTION) (\r
@@ -22,9 +29,9 @@ EFI_STATUS
   );\r
 \r
 typedef struct _EDITOR_MENU_ITEM {\r
-  EFI_STRING_ID           NameToken;\r
-  CHAR16                  FunctionKeyToken;\r
-  MENU_ITEM_FUNCTION  Function;\r
+  EFI_STRING_ID         NameToken;\r
+  CHAR16                FunctionKeyToken;\r
+  MENU_ITEM_FUNCTION    Function;\r
 } EDITOR_MENU_ITEM;\r
 \r
 /**\r
@@ -36,16 +43,26 @@ typedef struct _EDITOR_MENU_ITEM {
   @retval EFI_OUT_OF_RESOURCES  A memory allocation failed.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 MenuBarInit (\r
   IN CONST EDITOR_MENU_ITEM  *Items\r
   );\r
 \r
+/**\r
+  Initialize the control hot-key with the specified items.\r
+\r
+  @param[in] Items              The hot-key functions.\r
+\r
+  @retval EFI_SUCCESS           The initialization was correct.\r
+**/\r
+EFI_STATUS\r
+ControlHotKeyInit (\r
+  IN MENU_ITEM_FUNCTION  *Items\r
+  );\r
+\r
 /**\r
   Cleanup function for a menu bar.  frees all allocated memory.\r
 **/\r
 VOID\r
-EFIAPI\r
 MenuBarCleanup (\r
   VOID\r
   );\r
@@ -59,10 +76,9 @@ MenuBarCleanup (
   @retval EFI_SUCCESS           The refresh was successful.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 MenuBarRefresh (\r
-  IN CONST UINTN LastRow,\r
-  IN CONST UINTN LastCol\r
+  IN CONST UINTN  LastRow,\r
+  IN CONST UINTN  LastCol\r
   );\r
 \r
 /**\r
@@ -70,14 +86,27 @@ MenuBarRefresh (
 \r
   @param[in] Key                The pressed key.\r
 \r
-  @retval EFI_NOT_FOUND         The key was not a valid function key \r
+  @retval EFI_NOT_FOUND         The key was not a valid function key\r
                                 (an error was sent to the status bar).\r
   @return The return value from the called dispatch function.\r
 **/\r
 EFI_STATUS\r
-EFIAPI\r
 MenuBarDispatchFunctionKey (\r
-  IN CONST EFI_INPUT_KEY   *Key\r
+  IN CONST EFI_INPUT_KEY  *Key\r
+  );\r
+\r
+/**\r
+  Function to dispatch the correct function based on a control-based key (ctrl+o...)\r
+\r
+  @param[in] KeyData                The pressed key.\r
+\r
+  @retval EFI_NOT_FOUND         The key was not a valid control-based key\r
+                                (an error was sent to the status bar).\r
+  @return EFI_SUCCESS.\r
+**/\r
+EFI_STATUS\r
+MenuBarDispatchControlHotKey (\r
+  IN CONST EFI_KEY_DATA  *KeyData\r
   );\r
 \r
 #endif\r