]>
git.proxmox.com Git - mirror_edk2.git/blob - MdeModulePkg/Universal/Console/TerminalDxe/ansi.c
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.
24 // Include common header file for this module.
26 #include "CommonHeader.h"
31 AnsiRawDataToUnicode (
32 IN TERMINAL_DEV
*TerminalDevice
38 // pop the raw data out from the raw fifo,
39 // and translate it into unicode, then push
40 // the unicode into unicode fifo, until the raw fifo is empty.
42 while (!IsRawFiFoEmpty (TerminalDevice
)) {
44 RawFiFoRemoveOneKey (TerminalDevice
, &RawData
);
46 UnicodeFiFoInsertOneKey (TerminalDevice
, (UINT16
) RawData
);
52 IN TERMINAL_DEV
*TerminalDevice
,
59 // support three kind of character:
60 // valid ascii, valid efi control char, valid text graphics.
62 for (; *WString
!= CHAR_NULL
; WString
++) {
64 if ( !(TerminalIsValidAscii (*WString
) ||
65 TerminalIsValidEfiCntlChar (*WString
) ||
66 TerminalIsValidTextGraphics (*WString
, &GraphicChar
, NULL
) )) {
68 return EFI_UNSUPPORTED
;