]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BasePrintLib/PrintLibInternal.h
Make MDE package pass intel IPF compiler with /W4 /WX switched on.
[mirror_edk2.git] / MdePkg / Library / BasePrintLib / PrintLibInternal.h
index 5e650b012326a670b420dbac6d338f7f878c370f..5a63cbb8b79f06938bbf280ba182a4dffb57818b 100644 (file)
@@ -14,6 +14,9 @@
 \r
 **/\r
 \r
+#ifndef __PRINT_LIB_INTERNAL_H\r
+#define __PRINT_LIB_INTERNAL_H\r
+\r
 //\r
 // Print primitives\r
 //\r
@@ -48,6 +51,34 @@ typedef struct {
   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 a VA_LIST 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
+  @param  Flags       Intial flags value.\r
+                      Can only have FORMAT_UNICODE and OUTPUT_UNICODE set.\r
+  @param  Format      Null-terminated format string.\r
+  @param  Marker      Vararg list consumed by processing Format.\r
+\r
+  @return Number of characters printed not including the Null-terminator.\r
+\r
+**/\r
+UINTN\r
+BasePrintLibVSPrint (\r
+  OUT CHAR8        *Buffer,\r
+  IN  UINTN        BufferSize,\r
+  IN  UINTN        Flags,\r
+  IN  CONST CHAR8  *Format,\r
+  IN  VA_LIST      Marker\r
+  );\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
@@ -82,6 +113,8 @@ BasePrintLibSPrint (
   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  EndBuffer   The end of the input Buffer. No characters will be\r
+                      placed after that. \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
@@ -92,6 +125,7 @@ BasePrintLibSPrint (
 CHAR8 *\r
 BasePrintLibFillBuffer (\r
   CHAR8   *Buffer,\r
+  CHAR8   *EndBuffer,\r
   INTN    Length,\r
   UINTN   Character,\r
   INTN    Increment\r
@@ -148,7 +182,8 @@ BasePrintLibValueToString (
   @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  Width     The maximum number of characters to place in Buffer, not including\r
+                    the Null-terminator.\r
   @param  Increment Character increment in Buffer.\r
   \r
   @return Total number of characters required to perform the conversion.\r
@@ -162,3 +197,5 @@ BasePrintLibConvertValueToString (
   IN UINTN       Width,\r
   IN UINTN       Increment\r
   );\r
+\r
+#endif\r