3 Copyright (c) 2006, Intel Corporation
4 All rights reserved. This program and the accompanying materials
5 are licensed and made available under the terms and conditions of the BSD License
6 which accompanies this distribution. The full text of the license may be found at
7 http://opensource.org/licenses/bsd-license.php
9 THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
10 WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
26 AnsiRawDataToUnicode (
27 IN TERMINAL_DEV
*TerminalDevice
33 // pop the raw data out from the raw fifo,
34 // and translate it into unicode, then push
35 // the unicode into unicode fifo, until the raw fifo is empty.
37 while (!IsRawFiFoEmpty (TerminalDevice
)) {
39 RawFiFoRemoveOneKey (TerminalDevice
, &RawData
);
41 UnicodeFiFoInsertOneKey (TerminalDevice
, (UINT16
) RawData
);
47 IN TERMINAL_DEV
*TerminalDevice
,
54 // support three kind of character:
55 // valid ascii, valid efi control char, valid text graphics.
57 for (; *WString
!= CHAR_NULL
; WString
++) {
59 if ( !(TerminalIsValidAscii (*WString
) ||
60 TerminalIsValidEfiCntlChar (*WString
) ||
61 TerminalIsValidTextGraphics (*WString
, &GraphicChar
, NULL
) )) {
63 return EFI_UNSUPPORTED
;