Daryl McDaniel caf89d64ff StdLib: Move GetPass.c out of Uefi and into PosixLib. Create LibPosix to contain all functions from PosixLib instead of individual libraries. Retains the ability to use the individual libraries, except GetPass, for backwards compatibility.
StdLib/LibC/Uefi/GetPass.c
  COPY to StdLib/PosixLib/GetPass/GetPass.c
  DELETE
StdLib/PosixLib/GetPass/GetPass.c
  NEW, COPIED from StdLib/LibC/Uefi/GetPass.c
StdLib/PosixLib/PosixLib.inf
  Create a LibPosix library class to build all PosixLib functions into a single library.
  Move GetPass from LibC/Uefi to PosixLib.inf

StdLib/LibC/Uefi/Uefi.inf
  Remove GetPass.c from sources.
  Remove IPF from VALID_ARCHITECTURES
  Update VERSION_STRING
  Align [Defines] on a two-character boundary

Contributed-under: TianoCore Contribution Agreement 1.0
Signed-off-by: Daryl McDaniel <daryl.mcdaniel@intel.com> 
Reviewed-by: Erik Bjorge <erik.c.bjorge@intel.com>


git-svn-id: https://svn.code.sf.net/p/edk2/code/trunk/edk2@15663 6f19259b-4bc3-4df7-8a09-765794883524
2014-07-17 01:55:23 +00:00

58 lines
1.4 KiB
C

/** @file
Implement the getpass function.
Copyright (c) 2011 - 2014, Intel Corporation <BR>
All rights reserved. This program and the accompanying materials
are licensed and made available under the terms and conditions of the BSD License
which accompanies this distribution. The full text of the license may be found at
http://opensource.org/licenses/bsd-license.php
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
**/
#include <Library/ShellLib.h>
#include <Library/MemoryAllocationLib.h>
#include <Library/UefiLib.h>
#include <Library/PcdLib.h>
static CHAR8 *ReturnStringAscii = NULL;
char *getpass(const char *Prompt)
{
BOOLEAN Ascii;
CHAR16 *ReturnString;
Ascii = FALSE;
Print(L"%a", Prompt);
ReturnString = ShellFileHandleReturnLine (gEfiShellParametersProtocol->StdIn, &Ascii);
if (ReturnString == NULL) {
return (NULL);
}
ReturnStringAscii = AllocateZeroPool((StrLen(ReturnString)+1)*sizeof(CHAR8));
if (ReturnStringAscii == NULL) {
return (NULL);
}
UnicodeStrToAsciiStr(ReturnString, ReturnStringAscii);
FreePool(ReturnString);
return (ReturnStringAscii);
}
EFI_STATUS
EFIAPI
DestructMePlease (
IN EFI_HANDLE ImageHandle,
IN EFI_SYSTEM_TABLE *SystemTable
)
{
SHELL_FREE_NON_NULL(ReturnStringAscii);
return EFI_SUCCESS;
}