3 Copyright (c) 1998 Intel Corporation
26 // Write a string to the console at the current cursor location
28 uefi_call_wrapper(ST->ConOut->OutputString, 2, ST->ConOut, Str);
34 IN CHAR16 *Prompt OPTIONAL,
38 // Input a string at the current cursor location, for StrLen
51 IN SIMPLE_TEXT_OUTPUT_INTERFACE *ConOut,
52 IN SIMPLE_INPUT_INTERFACE *ConIn,
53 IN CHAR16 *Prompt OPTIONAL,
57 // Input a string at the current cursor location, for StrLen
64 ConOut->OutputString (ConOut, Prompt);
69 WaitForSingleEvent (ConIn->WaitForKey, 0);
71 Status = uefi_call_wrapper(ConIn->ReadKeyStroke, 2, ConIn, &Key);
72 if (EFI_ERROR(Status)) {
73 DEBUG((D_ERROR, "Input: error return from ReadKey %x\n", Status));
77 if (Key.UnicodeChar == '\n' ||
78 Key.UnicodeChar == '\r') {
82 if (Key.UnicodeChar == '\b') {
84 uefi_call_wrapper(ConOut->OutputString, 2, ConOut, L"\b \b");
90 if (Key.UnicodeChar >= ' ') {
92 InStr[Len] = Key.UnicodeChar;
95 uefi_call_wrapper(ConOut->OutputString, 2, ConOut, &InStr[Len]);