\r
**/\r
\r
+#ifndef __PRINT_LIB_INTERNAL_H\r
+#define __PRINT_LIB_INTERNAL_H\r
+\r
//\r
// Print primitives\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 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
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
CHAR8 *\r
BasePrintLibFillBuffer (\r
CHAR8 *Buffer,\r
+ CHAR8 *EndBuffer,\r
INTN Length,\r
UINTN Character,\r
INTN Increment\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 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
IN UINTN Width,\r
IN UINTN Increment\r
);\r
+\r
+#endif\r