]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BasePrintLib/PrintLibInternal.h
add function header
[mirror_edk2.git] / MdePkg / Library / BasePrintLib / PrintLibInternal.h
index c7fecfd34c5644b980057cd6b680e85cb97cf816..0f7bebff454fdc9b0823d239302c6e15be048f91 100644 (file)
@@ -14,8 +14,6 @@
 \r
 **/\r
 \r
 \r
 **/\r
 \r
-\r
-\r
 //\r
 // Print primitives\r
 //\r
 //\r
 // Print primitives\r
 //\r
@@ -44,7 +42,7 @@
 #define MAXIMUM_VALUE_CHARACTERS  38\r
 \r
 //\r
 #define MAXIMUM_VALUE_CHARACTERS  38\r
 \r
 //\r
-//\r
+// Record date and time information\r
 //\r
 typedef struct {\r
   UINT16  Year;\r
 //\r
 typedef struct {\r
   UINT16  Year;\r
@@ -60,6 +58,25 @@ typedef struct {
   UINT8   Pad2;\r
 } TIME;\r
 \r
   UINT8   Pad2;\r
 } TIME;\r
 \r
+/**\r
+  Worker function that produces a Null-terminated string in an output buffer \r
+  based on a Null-terminated format string and variable argument list.\r
+\r
+  VSPrint function to process format and place the results in Buffer. Since a \r
+  VA_LIST is used this rountine allows the nesting of Vararg routines. Thus \r
+  this is the main print working routine\r
+\r
+  @param  Buffer        Character buffer to print the results of the parsing\r
+                        of Format into.\r
+  @param  BufferSize    Maximum number of characters to put into buffer.\r
+                        Zero means no limit.\r
+  @param  Flags         Intial flags value.\r
+                        Can only have FORMAT_UNICODE and OUTPUT_UNICODE set\r
+  @param  FormatString  Null-terminated format string.\r
+\r
+  @return Number of characters printed.\r
+\r
+**/\r
 UINTN\r
 BasePrintLibSPrint (\r
   OUT CHAR8        *Buffer,\r
 UINTN\r
 BasePrintLibSPrint (\r
   OUT CHAR8        *Buffer,\r
@@ -69,6 +86,19 @@ BasePrintLibSPrint (
   ...\r
   );\r
 \r
   ...\r
   );\r
 \r
+/**\r
+  Internal function that places the character into the Buffer.\r
+\r
+  Internal function that places ASCII or Unicode character into the Buffer.\r
+\r
+  @param  Buffer      Buffer to place the Unicode or ASCII string.\r
+  @param  Length      Count of character to be placed into Buffer.\r
+  @param  Character   Character to be placed into Buffer.\r
+  @param  Increment   Character increment in Buffer.\r
+\r
+  @return Number of characters printed.\r
+\r
+**/\r
 CHAR8 *\r
 BasePrintLibFillBuffer (\r
   CHAR8   *Buffer,\r
 CHAR8 *\r
 BasePrintLibFillBuffer (\r
   CHAR8   *Buffer,\r
@@ -77,6 +107,18 @@ BasePrintLibFillBuffer (
   INTN    Increment\r
   );\r
 \r
   INTN    Increment\r
   );\r
 \r
+/**\r
+  Internal function that convert a decimal number to a string in Buffer.\r
+\r
+  Print worker function that convert a decimal number to a string in Buffer.\r
+\r
+  @param  Buffer    Location to place the Unicode or ASCII string of Value.\r
+  @param  Value     Value to convert to a Decimal or Hexidecimal string in Buffer.\r
+  @param  Radix     Radix of the value\r
+\r
+  @return Number of characters printed.\r
+\r
+**/\r
 UINTN\r
 EFIAPI\r
 BasePrintLibValueToString (\r
 UINTN\r
 EFIAPI\r
 BasePrintLibValueToString (\r
@@ -85,6 +127,43 @@ BasePrintLibValueToString (
   IN UINTN      Radix\r
   );\r
 \r
   IN UINTN      Radix\r
   );\r
 \r
+/**\r
+  Internal function that converts a decimal value to a Null-terminated string.\r
+  \r
+  Converts the decimal number specified by Value to a Null-terminated  \r
+  string specified by Buffer containing at most Width characters.\r
+  If Width is 0 then a width of  MAXIMUM_VALUE_CHARACTERS is assumed.\r
+  The total number of characters placed in Buffer is returned.\r
+  If the conversion contains more than Width characters, then only the first\r
+  Width characters are returned, and the total number of characters \r
+  required to perform the conversion is returned.\r
+  Additional conversion parameters are specified in Flags.  \r
+  The Flags bit LEFT_JUSTIFY is always ignored.\r
+  All conversions are left justified in Buffer.\r
+  If Width is 0, PREFIX_ZERO is ignored in Flags.\r
+  If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas\r
+  are inserted every 3rd digit starting from the right.\r
+  If Value is < 0, then the fist character in Buffer is a '-'.\r
+  If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored, \r
+  then Buffer is padded with '0' characters so the combination of the optional '-' \r
+  sign character, '0' characters, digit characters for Value, and the Null-terminator\r
+  add up to Width characters.\r
+\r
+  If Buffer is NULL, then ASSERT().\r
+  If unsupported bits are set in Flags, then ASSERT().\r
+  If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()\r
+\r
+  @param  Buffer    Pointer to the output buffer for the produced Null-terminated\r
+                    string.\r
+  @param  Flags     The bitmask of flags that specify left justification, zero pad,\r
+                    and commas.\r
+  @param  Value     The 64-bit signed value to convert to a string.\r
+  @param  Width            The maximum number of characters to place in Buffer.\r
+  @param  Increment Character increment in Buffer.\r
+  \r
+  @return Total number of characters required to perform the conversion.\r
+\r
+**/\r
 UINTN\r
 BasePrintLibConvertValueToString (\r
   IN OUT CHAR8   *Buffer,\r
 UINTN\r
 BasePrintLibConvertValueToString (\r
   IN OUT CHAR8   *Buffer,\r