]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdeModulePkg/Universal/Console/TerminalDxe/Ansi.c
rename it
[mirror_edk2.git] / MdeModulePkg / Universal / Console / TerminalDxe / Ansi.c
diff --git a/MdeModulePkg/Universal/Console/TerminalDxe/Ansi.c b/MdeModulePkg/Universal/Console/TerminalDxe/Ansi.c
new file mode 100644 (file)
index 0000000..813779e
--- /dev/null
@@ -0,0 +1,61 @@
+/** @file\r
+  Provides misc functions upon ansi.\r
+\r
+Copyright (c) 2006, Intel Corporation. <BR>\r
+All rights reserved. This program and the accompanying materials\r
+are licensed and made available under the terms and conditions of the BSD License\r
+which accompanies this distribution.  The full text of the license may be found at\r
+http://opensource.org/licenses/bsd-license.php\r
+\r
+THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,\r
+WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.\r
+\r
+**/\r
+\r
+\r
+#include "Terminal.h"\r
+\r
+VOID\r
+AnsiRawDataToUnicode (\r
+  IN  TERMINAL_DEV    *TerminalDevice\r
+  )\r
+{\r
+  UINT8 RawData;\r
+\r
+  //\r
+  // pop the raw data out from the raw fifo,\r
+  // and translate it into unicode, then push\r
+  // the unicode into unicode fifo, until the raw fifo is empty.\r
+  //\r
+  while (!IsRawFiFoEmpty (TerminalDevice)) {\r
+\r
+    RawFiFoRemoveOneKey (TerminalDevice, &RawData);\r
+\r
+    UnicodeFiFoInsertOneKey (TerminalDevice, (UINT16) RawData);\r
+  }\r
+}\r
+\r
+EFI_STATUS\r
+AnsiTestString (\r
+  IN  TERMINAL_DEV    *TerminalDevice,\r
+  IN  CHAR16          *WString\r
+  )\r
+{\r
+  CHAR8 GraphicChar;\r
+\r
+  //\r
+  // support three kind of character:\r
+  // valid ascii, valid efi control char, valid text graphics.\r
+  //\r
+  for (; *WString != CHAR_NULL; WString++) {\r
+\r
+    if ( !(TerminalIsValidAscii (*WString) ||\r
+        TerminalIsValidEfiCntlChar (*WString) ||\r
+        TerminalIsValidTextGraphics (*WString, &GraphicChar, NULL) )) {\r
+\r
+      return EFI_UNSUPPORTED;\r
+    }\r
+  }\r
+\r
+  return EFI_SUCCESS;\r
+}\r