]> git.proxmox.com Git - mirror_edk2.git/blame - MdeModulePkg/Universal/Console/TerminalDxe/Ansi.c
MdeModulePkg: Apply uncrustify changes
[mirror_edk2.git] / MdeModulePkg / Universal / Console / TerminalDxe / Ansi.c
CommitLineData
4bc6ad39
RN
1/** @file\r
2 Implementation of translation upon PC ANSI.\r
3\r
d1102dba 4Copyright (c) 2006 - 2018, Intel Corporation. All rights reserved.<BR>\r
9d510e61 5SPDX-License-Identifier: BSD-2-Clause-Patent\r
4bc6ad39
RN
6\r
7**/\r
8\r
4bc6ad39
RN
9#include "Terminal.h"\r
10\r
11/**\r
12 Translate all raw data in the Raw FIFO into unicode, and insert\r
13 them into Unicode FIFO.\r
14\r
15 @param TerminalDevice The terminal device.\r
16\r
17**/\r
18VOID\r
19AnsiRawDataToUnicode (\r
1436aea4 20 IN TERMINAL_DEV *TerminalDevice\r
4bc6ad39
RN
21 )\r
22{\r
1436aea4 23 UINT8 RawData;\r
4bc6ad39
RN
24\r
25 //\r
26 // pop the raw data out from the raw fifo,\r
27 // and translate it into unicode, then push\r
28 // the unicode into unicode fifo, until the raw fifo is empty.\r
29 //\r
30 while (!IsRawFiFoEmpty (TerminalDevice) && !IsUnicodeFiFoFull (TerminalDevice)) {\r
4bc6ad39
RN
31 RawFiFoRemoveOneKey (TerminalDevice, &RawData);\r
32\r
1436aea4 33 UnicodeFiFoInsertOneKey (TerminalDevice, (UINT16)RawData);\r
4bc6ad39
RN
34 }\r
35}\r
36\r
37/**\r
38 Check if input string is valid Ascii string, valid EFI control characters\r
39 or valid text graphics.\r
40\r
41 @param TerminalDevice The terminal device.\r
d1102dba
LG
42 @param WString The input string.\r
43\r
4bc6ad39
RN
44 @retval EFI_UNSUPPORTED If not all input characters are valid.\r
45 @retval EFI_SUCCESS If all input characters are valid.\r
46\r
47**/\r
48EFI_STATUS\r
49AnsiTestString (\r
1436aea4
MK
50 IN TERMINAL_DEV *TerminalDevice,\r
51 IN CHAR16 *WString\r
4bc6ad39
RN
52 )\r
53{\r
1436aea4 54 CHAR8 GraphicChar;\r
4bc6ad39
RN
55\r
56 //\r
57 // support three kind of character:\r
58 // valid ascii, valid efi control char, valid text graphics.\r
59 //\r
1436aea4 60 for ( ; *WString != CHAR_NULL; WString++) {\r
4bc6ad39 61 if ( !(TerminalIsValidAscii (*WString) ||\r
1436aea4
MK
62 TerminalIsValidEfiCntlChar (*WString) ||\r
63 TerminalIsValidTextGraphics (*WString, &GraphicChar, NULL)))\r
64 {\r
4bc6ad39
RN
65 return EFI_UNSUPPORTED;\r
66 }\r
67 }\r
68\r
69 return EFI_SUCCESS;\r
70}\r