]> git.proxmox.com Git - mirror_edk2.git/blobdiff - IntelFrameworkModulePkg/Universal/Console/VgaClassDxe/VgaClass.c
Patch to remove STATIC modifier. This is on longer recommended by EFI Framework codin...
[mirror_edk2.git] / IntelFrameworkModulePkg / Universal / Console / VgaClassDxe / VgaClass.c
index f5f60cdb9d1cb8b5197f10cb67ed6100126c1127..5b5877d90541935b1793c9f3654a004bf7e8715a 100644 (file)
@@ -1,23 +1,16 @@
-/*++\r
+/**@file\r
+  This driver produces a VGA console.\r
+\r
+Copyright (c) 2006, Intel Corporation                                                         \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
-Copyright (c) 2006, Intel Corporation. All rights reserved. <BR> \r
-This software and associated documentation (if any) is furnished\r
-under a license and may only be used or copied in accordance\r
-with the terms of the license. Except as permitted by such\r
-license, no part of this software or documentation may be\r
-reproduced, stored in a retrieval system, or transmitted in any\r
-form or by any means without the express written consent of\r
-Intel Corporation.\r
-\r
-\r
-Module Name:\r
-\r
-    VgaClass.c\r
-    \r
-Abstract: \r
-    This driver produces a VGA console.\r
-    \r
---*/\r
+**/\r
 \r
 #include "VgaClass.h"\r
 \r
@@ -55,14 +48,13 @@ InitializeVgaClass(
   //\r
   // Install driver model protocol(s).\r
   //\r
-  Status = EfiLibInstallAllDriverProtocols (\r
+  Status = EfiLibInstallDriverBindingComponentName2 (\r
              ImageHandle,\r
              SystemTable,\r
              &gVgaClassDriverBinding,\r
              ImageHandle,\r
              &gVgaClassComponentName,\r
-             NULL,\r
-             NULL\r
+             &gVgaClassComponentName2\r
              );\r
   ASSERT_EFI_ERROR (Status);\r
 \r
@@ -73,7 +65,7 @@ InitializeVgaClass(
 //\r
 // Local variables\r
 //\r
-static CHAR16               CrLfString[3] = { CHAR_CARRIAGE_RETURN, CHAR_LINEFEED, CHAR_NULL };\r
+CHAR16               CrLfString[3] = { CHAR_CARRIAGE_RETURN, CHAR_LINEFEED, CHAR_NULL };\r
 \r
 typedef struct {\r
   CHAR16  Unicode;\r
@@ -87,7 +79,7 @@ typedef struct {
 // ASCII. The ASCII mapping we just made up.\r
 //\r
 //\r
-STATIC UNICODE_TO_CHAR  UnicodeToPcAnsiOrAscii[] = {\r
+UNICODE_TO_CHAR  UnicodeToPcAnsiOrAscii[] = {\r
   {\r
     BOXDRAW_HORIZONTAL,\r
     0xc4,\r
@@ -355,7 +347,6 @@ STATIC UNICODE_TO_CHAR  UnicodeToPcAnsiOrAscii[] = {
 //\r
 // Private worker functions\r
 //\r
-STATIC\r
 VOID\r
 SetVideoCursorPosition (\r
   IN  VGA_CLASS_DEV  *VgaClassDev,\r
@@ -364,7 +355,6 @@ SetVideoCursorPosition (
   IN  UINTN          MaxColumn\r
   );\r
 \r
-STATIC\r
 VOID\r
 WriteCrtc (\r
   IN  VGA_CLASS_DEV  *VgaClassDev,\r
@@ -372,7 +362,6 @@ WriteCrtc (
   IN  UINT8          Data\r
   );\r
 \r
-STATIC\r
 BOOLEAN\r
 LibIsValidTextGraphics (\r
   IN  CHAR16  Graphic,\r
@@ -380,18 +369,30 @@ LibIsValidTextGraphics (
   OUT CHAR8   *Ascii OPTIONAL\r
   );\r
 \r
-STATIC\r
 BOOLEAN\r
 IsValidAscii (\r
   IN  CHAR16  Ascii\r
   );\r
 \r
-STATIC\r
 BOOLEAN\r
 IsValidEfiCntlChar (\r
   IN  CHAR16  c\r
   );\r
 \r
+/**\r
+  Test to see if this driver supports ControllerHandle. Any ControllerHandle\r
+  than contains a VgaMiniPort and PciIo protocol can be supported.\r
+\r
+  @param  This                Protocol instance pointer.\r
+  @param  ControllerHandle    Handle of device to test\r
+  @param  RemainingDevicePath Optional parameter use to pick a specific child\r
+                              device to start.\r
+\r
+  @retval EFI_SUCCESS         This driver supports this device\r
+  @retval EFI_ALREADY_STARTED This driver is already running on this device\r
+  @retval other               This driver does not support this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassDriverBindingSupported (\r
@@ -399,24 +400,6 @@ VgaClassDriverBindingSupported (
   IN EFI_HANDLE                   Controller,\r
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
   )\r
-/*++\r
-  \r
-  Routine Description:\r
-  \r
-    Supported.\r
-    \r
-  Arguments:\r
-  \r
-    (Standard DriverBinding Protocol Supported() function)\r
-    \r
-  Returns:\r
-  \r
-    EFI_STATUS\r
-  \r
---*/\r
-// GC_TODO:    This - add argument and description to function comment\r
-// GC_TODO:    Controller - add argument and description to function comment\r
-// GC_TODO:    RemainingDevicePath - add argument and description to function comment\r
 {\r
   EFI_STATUS                  Status;\r
   EFI_VGA_MINI_PORT_PROTOCOL  *VgaMiniPort;\r
@@ -453,6 +436,21 @@ VgaClassDriverBindingSupported (
   return Status;\r
 }\r
 \r
+/**\r
+  Start this driver on ControllerHandle by opening a PciIo and VgaMiniPort\r
+  protocol, creating VGA_CLASS_DEV device and install gEfiSimpleTextOutProtocolGuid\r
+  finnally.\r
+\r
+  @param  This                 Protocol instance pointer.\r
+  @param  ControllerHandle     Handle of device to bind driver to\r
+  @param  RemainingDevicePath  Optional parameter use to pick a specific child\r
+                               device to start.\r
+\r
+  @retval EFI_SUCCESS          This driver is added to ControllerHandle\r
+  @retval EFI_ALREADY_STARTED  This driver is already running on ControllerHandle\r
+  @retval other                This driver does not support this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassDriverBindingStart (\r
@@ -460,26 +458,6 @@ VgaClassDriverBindingStart (
   IN EFI_HANDLE                   Controller,\r
   IN EFI_DEVICE_PATH_PROTOCOL     *RemainingDevicePath\r
   )\r
-/*++\r
-  \r
-  Routine Description:\r
-  \r
-    Layers the Simple Text Output Protocol on top of the \r
-    VGA Mini Port Protocol\r
-  \r
-  Arguments:\r
-  \r
-    (Standard DriverBinding Protocol Start() function)\r
-    \r
-  Returns:\r
-  \r
-    EFI_STATUS\r
-    \r
---*/\r
-// GC_TODO:    This - add argument and description to function comment\r
-// GC_TODO:    Controller - add argument and description to function comment\r
-// GC_TODO:    RemainingDevicePath - add argument and description to function comment\r
-// GC_TODO:    EFI_OUT_OF_RESOURCES - add return value to function comment\r
 {\r
   EFI_STATUS                  Status;\r
   EFI_VGA_MINI_PORT_PROTOCOL  *VgaMiniPort;\r
@@ -617,6 +595,20 @@ ErrorExit:
 \r
 }\r
 \r
+/**\r
+  Stop this driver on ControllerHandle. Support stoping any child handles\r
+  created by this driver.\r
+\r
+  @param  This              Protocol instance pointer.\r
+  @param  ControllerHandle  Handle of device to stop driver on\r
+  @param  NumberOfChildren  Number of Handles in ChildHandleBuffer. If number of\r
+                            children is zero stop the entire bus driver.\r
+  @param  ChildHandleBuffer List of Child Handles to Stop.\r
+\r
+  @retval EFI_SUCCESS       This driver is removed ControllerHandle\r
+  @retval other             This driver was not removed from this device\r
+\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassDriverBindingStop (\r
@@ -625,26 +617,6 @@ VgaClassDriverBindingStop (
   IN  UINTN                           NumberOfChildren,\r
   IN  EFI_HANDLE                      *ChildHandleBuffer\r
   )\r
-/*++\r
-  \r
-  Routine Description:\r
-  \r
-    Stop.\r
-  \r
-  Arguments:\r
-  \r
-    (Standard DriverBinding Protocol Stop() function)\r
-  \r
-  Returns:\r
-  \r
-    EFI_STATUS\r
-  \r
---*/\r
-// GC_TODO:    This - add argument and description to function comment\r
-// GC_TODO:    Controller - add argument and description to function comment\r
-// GC_TODO:    NumberOfChildren - add argument and description to function comment\r
-// GC_TODO:    ChildHandleBuffer - add argument and description to function comment\r
-// GC_TODO:    EFI_SUCCESS - add return value to function comment\r
 {\r
   EFI_STATUS                    Status;\r
   EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL  *SimpleTextOut;\r
@@ -702,31 +674,19 @@ VgaClassDriverBindingStop (
 \r
   return EFI_SUCCESS;\r
 }\r
-//\r
-// Simple Text Output Protocol Functions\r
-//\r
+\r
+/**\r
+  Reset VgaClass device and clear output.\r
+  \r
+  @param This                 Pointer to EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.\r
+  @param ExtendedVerification Whether need additional judgement\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassReset (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL        *This,\r
   IN  BOOLEAN                             ExtendedVerification\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This                  - GC_TODO: add argument description\r
-  ExtendedVerification  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   EFI_STATUS    Status;\r
   VGA_CLASS_DEV *VgaClassPrivate;\r
@@ -749,28 +709,18 @@ Returns:
   return This->ClearScreen (This);\r
 }\r
 \r
+/**\r
+  Output a string to VgaClass device.\r
+  \r
+  @param This                 Pointer to EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.\r
+  @param WString              wide chars.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassOutputString (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  CHAR16                          *WString\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This    - GC_TODO: add argument description\r
-  WString - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS                  Status;\r
   VGA_CLASS_DEV               *VgaClassDev;\r
@@ -886,29 +836,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Detects if a Unicode char is for Box Drawing text graphics.\r
+  \r
+  @param This     Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL\r
+  @param WString  Unicode chars\r
+  \r
+  @return if a Unicode char is for Box Drawing text graphics.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassTestString (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  CHAR16                          *WString\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This    - GC_TODO: add argument description\r
-  WString - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   while (*WString != 0x0000) {\r
     if (!(IsValidAscii (*WString) || IsValidEfiCntlChar (*WString) || LibIsValidTextGraphics (*WString, NULL, NULL))) {\r
@@ -921,26 +862,19 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Clear Screen via VgaClass device\r
+  \r
+  @param This     Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL \r
+  \r
+  @retval EFI_SUCESS Success to clear screen\r
+  @retval Others     Wrong displaying mode.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassClearScreen (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS    Status;\r
   VGA_CLASS_DEV *VgaClassDev;\r
@@ -976,29 +910,21 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Set displaying mode's attribute\r
+  \r
+  @param This      Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL \r
+  @param Attribute Mode's attribute\r
+  \r
+  @param EFI_SUCCESS      Success to set attribute\r
+  @param EFI_UNSUPPORTED  Wrong mode's attribute wanted to be set\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassSetAttribute (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  UINTN                           Attribute\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This      - GC_TODO: add argument description\r
-  Attribute - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   if (Attribute <= EFI_MAX_ATTRIBUTE) {\r
     This->Mode->Attribute = (INT32) Attribute;\r
@@ -1008,6 +934,16 @@ Returns:
   return EFI_UNSUPPORTED;\r
 }\r
 \r
+/**\r
+  Set cursor position.\r
+  \r
+  @param This      Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL \r
+  @param Column    Column of new cursor position.\r
+  @param Row       Row of new cursor position.\r
+  \r
+  @retval EFI_SUCCESS Sucess to set cursor's position.\r
+  @retval Others      Wrong current displaying mode.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassSetCursorPosition (\r
@@ -1015,24 +951,6 @@ VgaClassSetCursorPosition (
   IN  UINTN                           Column,\r
   IN  UINTN                           Row\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This    - GC_TODO: add argument description\r
-  Column  - GC_TODO: add argument description\r
-  Row     - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS    Status;\r
   VGA_CLASS_DEV *VgaClassDev;\r
@@ -1063,28 +981,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Enable cursor to display or not.\r
+  \r
+  @param This      Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL \r
+  @param Visible   Display cursor or not.\r
+  \r
+  @retval EFI_SUCESS Success to display the cursor or not.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassEnableCursor (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  BOOLEAN                         Visible\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This    - GC_TODO: add argument description\r
-  Visible - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   VGA_CLASS_DEV *VgaClassDev;\r
 \r
@@ -1109,6 +1019,20 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Query colum and row according displaying mode number\r
+  The mode:\r
+  0: 80 * 25\r
+  1: 80 * 50\r
+  \r
+  @param This       Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL\r
+  @param ModeNumber Mode number\r
+  @param Columns    return the columen in current mode number\r
+  @param Rows       return the row in current mode number.\r
+  \r
+  @return EFI_SUCCESS     Sucess to get columns and rows according to mode number\r
+  @return EFI_UNSUPPORTED Unsupported mode number\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassQueryMode (\r
@@ -1117,26 +1041,6 @@ VgaClassQueryMode (
   OUT UINTN                           *Columns,\r
   OUT UINTN                           *Rows\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This        - GC_TODO: add argument description\r
-  ModeNumber  - GC_TODO: add argument description\r
-  Columns     - GC_TODO: add argument description\r
-  Rows        - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-  EFI_SUCCESS - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   if ((INT32) ModeNumber >= This->Mode->MaxMode) {\r
     *Columns  = 0;\r
@@ -1164,28 +1068,21 @@ Returns:
   return EFI_SUCCESS;\r
 }\r
 \r
+/**\r
+  Set displaying mode number\r
+  \r
+  @param This       Pointer of EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL\r
+  @param ModeNumber mode number\r
+  \r
+  @retval EFI_UNSUPPORTED Unsupported mode number in parameter\r
+  @retval EFI_SUCCESS     Success to set the mode number.\r
+**/\r
 EFI_STATUS\r
 EFIAPI\r
 VgaClassSetMode (\r
   IN  EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL    *This,\r
   IN  UINTN                           ModeNumber\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  This        - GC_TODO: add argument description\r
-  ModeNumber  - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  EFI_UNSUPPORTED - GC_TODO: Add description for return value\r
-\r
---*/\r
 {\r
   EFI_STATUS    Status;\r
   VGA_CLASS_DEV *VgaClassDev;\r
@@ -1204,10 +1101,16 @@ Returns:
 \r
   return Status;\r
 }\r
-//\r
-// Private Worker Functions\r
-//\r
-STATIC\r
+\r
+/**\r
+  Set logic cursor's position to VgaClass device\r
+  \r
+  @param VgaClassDev device instance object\r
+  @param Column      cursor logic position.\r
+  @param Row         cursor logic position.\r
+  @param MaxColumn   max logic column\r
+  \r
+**/\r
 VOID\r
 SetVideoCursorPosition (\r
   IN  VGA_CLASS_DEV  *VgaClassDev,\r
@@ -1215,24 +1118,6 @@ SetVideoCursorPosition (
   IN  UINTN          Row,\r
   IN  UINTN          MaxColumn\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  VgaClassDev - GC_TODO: add argument description\r
-  Column      - GC_TODO: add argument description\r
-  Row         - GC_TODO: add argument description\r
-  MaxColumn   - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   Column    = Column & 0xff;\r
   Row       = Row & 0xff;\r
@@ -1249,30 +1134,19 @@ Returns:
     );\r
 }\r
 \r
-STATIC\r
+/**\r
+  Program CRTC register via PCI IO.\r
+  \r
+  @param VgaClassDev  device instance object\r
+  @param Address      address\r
+  @param Data         data\r
+**/\r
 VOID\r
 WriteCrtc (\r
   IN  VGA_CLASS_DEV  *VgaClassDev,\r
   IN  UINT16         Address,\r
   IN  UINT8          Data\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  VgaClassDev - GC_TODO: add argument description\r
-  Address     - GC_TODO: add argument description\r
-  Data        - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   VgaClassDev->PciIo->Io.Write (\r
                           VgaClassDev->PciIo,\r
@@ -1293,33 +1167,22 @@ Returns:
                           );\r
 }\r
 \r
-STATIC\r
+/**\r
+  Detects if a Unicode char is for Box Drawing text graphics.\r
+\r
+  @param Grphic   Unicode char to test.\r
+  @param PcAnsi   Optional pointer to return PCANSI equivalent of Graphic.\r
+  @param Asci     Optional pointer to return Ascii equivalent of Graphic.\r
+\r
+  @return TRUE if Gpaphic is a supported Unicode Box Drawing character.\r
+\r
+**/\r
 BOOLEAN\r
 LibIsValidTextGraphics (\r
   IN  CHAR16  Graphic,\r
   OUT CHAR8   *PcAnsi, OPTIONAL\r
   OUT CHAR8   *Ascii OPTIONAL\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-    Detects if a Unicode char is for Box Drawing text graphics.\r
-\r
-Arguments:\r
-\r
-    Grphic  - Unicode char to test.\r
-\r
-    PcAnsi  - Optional pointer to return PCANSI equivalent of Graphic.\r
-\r
-    Asci    - Optional pointer to return Ascii equivalent of Graphic.\r
-\r
-Returns:\r
-\r
-    TRUE if Gpaphic is a supported Unicode Box Drawing character.\r
-\r
---*/\r
-// GC_TODO:    Graphic - add argument and description to function comment\r
 {\r
   UNICODE_TO_CHAR *Table;\r
 \r
@@ -1348,26 +1211,16 @@ Returns:
   return FALSE;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Judge whether is an ASCII char.\r
+  \r
+  @param Ascii character\r
+  @return whether is an ASCII char.\r
+**/\r
 BOOLEAN\r
 IsValidAscii (\r
   IN  CHAR16  Ascii\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  Ascii - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   if ((Ascii >= 0x20) && (Ascii <= 0x7f)) {\r
     return TRUE;\r
@@ -1376,26 +1229,16 @@ Returns:
   return FALSE;\r
 }\r
 \r
-STATIC\r
+/**\r
+  Judge whether is diplaying control character.\r
+  \r
+  @param c character\r
+  @return whether is diplaying control character.\r
+**/\r
 BOOLEAN\r
 IsValidEfiCntlChar (\r
   IN  CHAR16  c\r
   )\r
-/*++\r
-\r
-Routine Description:\r
-\r
-  GC_TODO: Add function description\r
-\r
-Arguments:\r
-\r
-  c - GC_TODO: add argument description\r
-\r
-Returns:\r
-\r
-  GC_TODO: add return values\r
-\r
---*/\r
 {\r
   if (c == CHAR_NULL || c == CHAR_BACKSPACE || c == CHAR_LINEFEED || c == CHAR_CARRIAGE_RETURN) {\r
     return TRUE;\r
@@ -1403,3 +1246,4 @@ Returns:
 \r
   return FALSE;\r
 }\r
+\r