]> git.proxmox.com Git - mirror_edk2.git/blobdiff - MdePkg/Library/BasePrintLib/PrintLibInternal.h
Add 2 functions to UefiLib library class: CatSPrint and CatVSPrint.
[mirror_edk2.git] / MdePkg / Library / BasePrintLib / PrintLibInternal.h
index a68a57f0523ce66437b63c2930b1a2f154197865..32a21266c82b26c035851141eb890e57a7ba46bb 100644 (file)
@@ -1,7 +1,7 @@
 /** @file\r
   Base Print Library instance Internal Functions definition.\r
 \r
-  Copyright (c) 2006 - 2008, Intel Corporation. All rights reserved.<BR>\r
+  Copyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>\r
   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
 //\r
 // Print primitives\r
 //\r
-#define PREFIX_SIGN       0x02\r
-#define PREFIX_BLANK      0x04\r
-#define LONG_TYPE         0x10\r
-#define OUTPUT_UNICODE    0x40\r
-#define FORMAT_UNICODE    0x100\r
-#define PAD_TO_WIDTH      0x200\r
-#define ARGUMENT_UNICODE  0x400\r
-#define PRECISION         0x800\r
-#define ARGUMENT_REVERSED 0x1000\r
+#define PREFIX_SIGN           BIT1\r
+#define PREFIX_BLANK          BIT2\r
+#define LONG_TYPE             BIT4\r
+#define OUTPUT_UNICODE        BIT6\r
+#define FORMAT_UNICODE        BIT8\r
+#define PAD_TO_WIDTH          BIT9\r
+#define ARGUMENT_UNICODE      BIT10\r
+#define PRECISION             BIT11\r
+#define ARGUMENT_REVERSED     BIT12\r
+#define COUNT_ONLY_NO_PRINT   BIT13\r
 \r
 //\r
 // Record date and time information\r
@@ -59,16 +60,24 @@ typedef struct {
   VA_LIST is used this routine allows the nesting of Vararg routines. Thus \r
   this is the main print working routine.\r
 \r
-  @param  Buffer          The character buffer to print the results of the parsing\r
-                          of Format into.\r
-  @param  BufferSize      The maximum number of characters to put into buffer.\r
-  @param  Flags           Initial flags value.\r
-                          Can only have FORMAT_UNICODE and OUTPUT_UNICODE set.\r
-  @param  Format          A Null-terminated format string.\r
-  @param  VaListMarker    VA_LIST style variable argument list consumed by processing Format.\r
-  @param  BaseListMarker  BASE_LIST style variable argument list consumed by processing Format.\r
+  If COUNT_ONLY_NO_PRINT is set in Flags, Buffer will not be modified at all.\r
+\r
+  @param[out] Buffer          The character buffer to print the results of the \r
+                              parsing of Format into.\r
+  @param[in]  BufferSize      The maximum number of characters to put into \r
+                              buffer.\r
+  @param[in]  Flags           Initial flags value.\r
+                              Can only have FORMAT_UNICODE, OUTPUT_UNICODE, \r
+                              and COUNT_ONLY_NO_PRINT set.\r
+  @param[in]  Format          A Null-terminated format string.\r
+  @param[in]  VaListMarker    VA_LIST style variable argument list consumed by\r
+                              processing Format.\r
+  @param[in]  BaseListMarker  BASE_LIST style variable argument list consumed\r
+                              by processing Format.\r
 \r
   @return The number of characters printed not including the Null-terminator.\r
+          If COUNT_ONLY_NO_PRINT was set returns the same, but without any\r
+          modification to Buffer.\r
 \r
 **/\r
 UINTN\r