The Design and Implementation of the FreeBSD Operating System, Second Edition
Now available: The Design and Implementation of the FreeBSD Operating System (Second Edition)


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]

FreeBSD/Linux Kernel Cross Reference
sys/contrib/edk2/Include/Protocol/SimpleTextIn.h

Version: -  FREEBSD  -  FREEBSD-13-STABLE  -  FREEBSD-13-0  -  FREEBSD-12-STABLE  -  FREEBSD-12-0  -  FREEBSD-11-STABLE  -  FREEBSD-11-0  -  FREEBSD-10-STABLE  -  FREEBSD-10-0  -  FREEBSD-9-STABLE  -  FREEBSD-9-0  -  FREEBSD-8-STABLE  -  FREEBSD-8-0  -  FREEBSD-7-STABLE  -  FREEBSD-7-0  -  FREEBSD-6-STABLE  -  FREEBSD-6-0  -  FREEBSD-5-STABLE  -  FREEBSD-5-0  -  FREEBSD-4-STABLE  -  FREEBSD-3-STABLE  -  FREEBSD22  -  l41  -  OPENBSD  -  linux-2.6  -  MK84  -  PLAN9  -  xnu-8792 
SearchContext: -  none  -  3  -  10 

    1 /** @file
    2   Simple Text Input protocol from the UEFI 2.0 specification.
    3 
    4   Abstraction of a very simple input device like a keyboard or serial
    5   terminal.
    6 
    7   Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
    8   SPDX-License-Identifier: BSD-2-Clause-Patent
    9 
   10 **/
   11 
   12 #ifndef __SIMPLE_TEXT_IN_PROTOCOL_H__
   13 #define __SIMPLE_TEXT_IN_PROTOCOL_H__
   14 
   15 #define EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID \
   16   { \
   17     0x387477c1, 0x69c7, 0x11d2, {0x8e, 0x39, 0x0, 0xa0, 0xc9, 0x69, 0x72, 0x3b } \
   18   }
   19 
   20 typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL  EFI_SIMPLE_TEXT_INPUT_PROTOCOL;
   21 
   22 ///
   23 /// Protocol GUID name defined in EFI1.1.
   24 ///
   25 #define SIMPLE_INPUT_PROTOCOL   EFI_SIMPLE_TEXT_INPUT_PROTOCOL_GUID
   26 
   27 ///
   28 /// Protocol name in EFI1.1 for backward-compatible.
   29 ///
   30 typedef struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL  SIMPLE_INPUT_INTERFACE;
   31 
   32 ///
   33 /// The keystroke information for the key that was pressed.
   34 ///
   35 typedef struct {
   36   UINT16  ScanCode;
   37   CHAR16  UnicodeChar;
   38 } EFI_INPUT_KEY;
   39 
   40 //
   41 // Required unicode control chars
   42 //
   43 #define CHAR_BACKSPACE        0x0008
   44 #define CHAR_TAB              0x0009
   45 #define CHAR_LINEFEED         0x000A
   46 #define CHAR_CARRIAGE_RETURN  0x000D
   47 
   48 //
   49 // EFI Scan codes
   50 //
   51 #define SCAN_NULL       0x0000
   52 #define SCAN_UP         0x0001
   53 #define SCAN_DOWN       0x0002
   54 #define SCAN_RIGHT      0x0003
   55 #define SCAN_LEFT       0x0004
   56 #define SCAN_HOME       0x0005
   57 #define SCAN_END        0x0006
   58 #define SCAN_INSERT     0x0007
   59 #define SCAN_DELETE     0x0008
   60 #define SCAN_PAGE_UP    0x0009
   61 #define SCAN_PAGE_DOWN  0x000A
   62 #define SCAN_F1         0x000B
   63 #define SCAN_F2         0x000C
   64 #define SCAN_F3         0x000D
   65 #define SCAN_F4         0x000E
   66 #define SCAN_F5         0x000F
   67 #define SCAN_F6         0x0010
   68 #define SCAN_F7         0x0011
   69 #define SCAN_F8         0x0012
   70 #define SCAN_F9         0x0013
   71 #define SCAN_F10        0x0014
   72 #define SCAN_ESC        0x0017
   73 
   74 /**
   75   Reset the input device and optionally run diagnostics
   76 
   77   @param  This                 Protocol instance pointer.
   78   @param  ExtendedVerification Driver may perform diagnostics on reset.
   79 
   80   @retval EFI_SUCCESS          The device was reset.
   81   @retval EFI_DEVICE_ERROR     The device is not functioning properly and could not be reset.
   82 
   83 **/
   84 typedef
   85 EFI_STATUS
   86 (EFIAPI *EFI_INPUT_RESET)(
   87   IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL       *This,
   88   IN BOOLEAN                              ExtendedVerification
   89   );
   90 
   91 /**
   92   Reads the next keystroke from the input device. The WaitForKey Event can
   93   be used to test for existence of a keystroke via WaitForEvent () call.
   94 
   95   @param  This  Protocol instance pointer.
   96   @param  Key   A pointer to a buffer that is filled in with the keystroke
   97                 information for the key that was pressed.
   98 
   99   @retval EFI_SUCCESS      The keystroke information was returned.
  100   @retval EFI_NOT_READY    There was no keystroke data available.
  101   @retval EFI_DEVICE_ERROR The keystroke information was not returned due to
  102                            hardware errors.
  103 
  104 **/
  105 typedef
  106 EFI_STATUS
  107 (EFIAPI *EFI_INPUT_READ_KEY)(
  108   IN EFI_SIMPLE_TEXT_INPUT_PROTOCOL       *This,
  109   OUT EFI_INPUT_KEY                       *Key
  110   );
  111 
  112 ///
  113 /// The EFI_SIMPLE_TEXT_INPUT_PROTOCOL is used on the ConsoleIn device.
  114 /// It is the minimum required protocol for ConsoleIn.
  115 ///
  116 struct _EFI_SIMPLE_TEXT_INPUT_PROTOCOL {
  117   EFI_INPUT_RESET     Reset;
  118   EFI_INPUT_READ_KEY  ReadKeyStroke;
  119   ///
  120   /// Event to use with WaitForEvent() to wait for a key to be available
  121   ///
  122   EFI_EVENT           WaitForKey;
  123 };
  124 
  125 extern EFI_GUID gEfiSimpleTextInProtocolGuid;
  126 
  127 #endif

Cache object: 3c2d3ee040471da1aab17128d462b42a


[ source navigation ] [ diff markup ] [ identifier search ] [ freetext search ] [ file search ] [ list types ] [ track identifier ]


This page is part of the FreeBSD/Linux Linux Kernel Cross-Reference, and was automatically generated using a modified version of the LXR engine.