Added some functions header.
[people/mcb30/edk2.git] / edk2 / MdeModulePkg / Universal / Console / TerminalDxe / Vtutf8.c
index 260ae84..acdb8ca 100644 (file)
@@ -1,5 +1,5 @@
 /** @file\r
-  Implementation translation among different code tyies.\r
+  Implementation of translation upon VT-UTF8.\r
 \r
 Copyright (c) 2006, Intel Corporation. <BR>\r
 All rights reserved. This program and the accompanying materials\r
@@ -14,6 +14,15 @@ WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
 \r
 #include "Terminal.h"\r
 \r
+/**\r
+  Translate all VT-UTF8 characters in the Raw FIFI into unicode characters, \r
+  and insert them into Unicode FIFO.\r
+\r
+  @param TerminalDevice          The terminal device.\r
+\r
+  @return None.\r
+\r
+**/\r
 VOID\r
 VTUTF8RawDataToUnicode (\r
   IN  TERMINAL_DEV    *TerminalDevice\r
@@ -43,6 +52,17 @@ VTUTF8RawDataToUnicode (
   }\r
 }\r
 \r
+/**\r
+  Get one valid VT-UTF8 characters set from Raw Data FIFO.\r
+\r
+  @param  Utf8Device          The terminal device.\r
+  @param  Utf8Char            Returned valid VT-UTF8 characters set.\r
+  @param  ValidBytes          The count of returned VT-VTF8 characters. \r
+                              If ValidBytes is zero, no valid VT-UTF8 returned.\r
+\r
+  @retval None.\r
+\r
+**/\r
 VOID\r
 GetOneValidUtf8Char (\r
   IN  TERMINAL_DEV      *Utf8Device,\r
@@ -148,6 +168,23 @@ GetOneValidUtf8Char (
   return ;\r
 }\r
 \r
+/** \r
+  Translate VT-UTF8 characters into one Unicode character.\r
+\r
+  UTF8 Encoding Table\r
+  Bits per Character | Unicode Character Range | Unicode Binary  Encoding |    UTF8 Binary Encoding\r
+        0-7             |     0x0000 - 0x007F     |     00000000 0xxxxxxx        |   0xxxxxxx\r
+        8-11          |     0x0080 - 0x07FF       |     00000xxx xxxxxxxx        |   110xxxxx 10xxxxxx\r
+       12-16          |     0x0800 - 0xFFFF       |     xxxxxxxx xxxxxxxx        |   1110xxxx 10xxxxxx 10xxxxxx\r
+\r
+\r
+  @param  Utf8Char         VT-UTF8 character set needs translating.\r
+  @param  ValidBytes       The count of valid VT-UTF8 characters.\r
+  @param  UnicodeChar      Returned unicode character. \r
+  \r
+  @return None.\r
+\r
+**/\r
 VOID\r
 Utf8ToUnicode (\r
   IN  UTF8_CHAR       Utf8Char,\r
@@ -206,6 +243,24 @@ Utf8ToUnicode (
   return ;\r
 }\r
 \r
+/** \r
+  Translate one Unicode character into VT-UTF8 characters.\r
+\r
+  UTF8 Encoding Table\r
+  Bits per Character | Unicode Character Range | Unicode Binary  Encoding |    UTF8 Binary Encoding\r
+        0-7             |     0x0000 - 0x007F     |     00000000 0xxxxxxx        |   0xxxxxxx\r
+        8-11          |     0x0080 - 0x07FF       |     00000xxx xxxxxxxx        |   110xxxxx 10xxxxxx\r
+       12-16          |     0x0800 - 0xFFFF       |     xxxxxxxx xxxxxxxx        |   1110xxxx 10xxxxxx 10xxxxxx\r
+\r
+\r
+  @param  Unicode          Unicode character need translating.\r
+  @param  Utf8Char         Return VT-UTF8 character set.\r
+  @param  ValidBytes       The count of valid VT-UTF8 characters. If\r
+                           ValidBytes is zero, no valid VT-UTF8 returned.\r
+  \r
+  @return None.\r
+\r
+**/\r
 VOID\r
 UnicodeToUtf8 (\r
   IN  CHAR16      Unicode,\r
@@ -249,6 +304,16 @@ UnicodeToUtf8 (
   }\r
 }\r
 \r
+\r
+/**\r
+  Check if input string is valid VT-UTF8 string.\r
+\r
+  @param  TerminalDevice          The terminal device.\r
+  @param  WString                 The input string.          \r
\r
+  @retval EFI_SUCCESS             If all input characters are valid.\r
+\r
+**/\r
 EFI_STATUS\r
 VTUTF8TestString (\r
   IN  TERMINAL_DEV    *TerminalDevice,\r