IN VA_LIST Marker\r
);\r
\r
+/**\r
+ Produces a Null-terminated Unicode string in an output buffer based on \r
+ a Null-terminated Unicode format string and a BASE_LIST argument list\r
+ \r
+ Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer\r
+ and BufferSize. \r
+ The Unicode string is produced by parsing the format string specified by FormatString. \r
+ Arguments are pulled from the variable argument list specified by Marker based on the \r
+ contents of the format string. \r
+ The number of Unicode characters in the produced output buffer is returned not including\r
+ the Null-terminator.\r
+ If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.\r
+\r
+ If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().\r
+ If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().\r
+ If BufferSize > 1 and FormatString is NULL, then ASSERT().\r
+ If BufferSize > 1 and FormatString is not aligned on a 16-bit boundary, then ASSERT().\r
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than \r
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then\r
+ ASSERT().\r
+ If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string\r
+ contains more than PcdMaximumUnicodeStringLength Unicode characters not including the\r
+ Null-terminator, then ASSERT().\r
+\r
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated \r
+ Unicode string.\r
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.\r
+ @param FormatString Null-terminated Unicode format string.\r
+ @param Marker BASE_LIST marker for the variable argument list.\r
+ \r
+ @return The number of Unicode characters in the produced output buffer not including the\r
+ Null-terminator.\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+UnicodeBSPrint (\r
+ OUT CHAR16 *StartOfBuffer,\r
+ IN UINTN BufferSize,\r
+ IN CONST CHAR16 *FormatString,\r
+ IN BASE_LIST Marker\r
+ );\r
+\r
/**\r
Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated \r
Unicode format string and variable argument list.\r
IN VA_LIST Marker\r
);\r
\r
+/**\r
+ Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated\r
+ ASCII format string and a BASE_LIST argument list\r
+ \r
+ Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer\r
+ and BufferSize.\r
+ The Unicode string is produced by parsing the format string specified by FormatString.\r
+ Arguments are pulled from the variable argument list specified by Marker based on the \r
+ contents of the format string.\r
+ The number of Unicode characters in the produced output buffer is returned not including\r
+ the Null-terminator.\r
+ If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.\r
+\r
+ If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().\r
+ If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().\r
+ If BufferSize > 1 and FormatString is NULL, then ASSERT().\r
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than\r
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then\r
+ ASSERT().\r
+ If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string\r
+ contains more than PcdMaximumUnicodeStringLength Unicode characters not including the\r
+ Null-terminator, then ASSERT().\r
+\r
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated \r
+ Unicode string.\r
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.\r
+ @param FormatString Null-terminated ASCII format string.\r
+ @param Marker BASE_LIST marker for the variable argument list.\r
+ \r
+ @return The number of Unicode characters in the produced output buffer not including the\r
+ Null-terminator.\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+UnicodeBSPrintAsciiFormat (\r
+ OUT CHAR16 *StartOfBuffer,\r
+ IN UINTN BufferSize,\r
+ IN CONST CHAR8 *FormatString,\r
+ IN BASE_LIST Marker\r
+ );\r
+\r
/**\r
Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated \r
ASCII format string and variable argument list.\r
IN VA_LIST Marker\r
);\r
\r
+/**\r
+ Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated\r
+ ASCII format string and a BASE_LIST argument list.\r
+ \r
+ Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer\r
+ and BufferSize.\r
+ The ASCII string is produced by parsing the format string specified by FormatString.\r
+ Arguments are pulled from the variable argument list specified by Marker based on \r
+ the contents of the format string.\r
+ The number of ASCII characters in the produced output buffer is returned not including\r
+ the Null-terminator.\r
+ If BufferSize is 0, then no output buffer is produced and 0 is returned.\r
+\r
+ If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().\r
+ If BufferSize > 0 and FormatString is NULL, then ASSERT().\r
+ If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than\r
+ PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then\r
+ ASSERT().\r
+ If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string\r
+ contains more than PcdMaximumAsciiStringLength ASCII characters not including the\r
+ Null-terminator, then ASSERT().\r
+\r
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated \r
+ ASCII string.\r
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.\r
+ @param FormatString Null-terminated ASCII format string.\r
+ @param Marker BASE_LIST marker for the variable argument list.\r
+ \r
+ @return The number of ASCII characters in the produced output buffer not including the\r
+ Null-terminator.\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+AsciiBSPrint (\r
+ OUT CHAR8 *StartOfBuffer,\r
+ IN UINTN BufferSize,\r
+ IN CONST CHAR8 *FormatString,\r
+ IN BASE_LIST Marker\r
+ );\r
+\r
/**\r
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated\r
ASCII format string and variable argument list.\r
IN VA_LIST Marker\r
);\r
\r
+/**\r
+ Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated\r
+ Unicode format string and a BASE_LIST argument list.\r
+ \r
+ Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer\r
+ and BufferSize.\r
+ The ASCII string is produced by parsing the format string specified by FormatString.\r
+ Arguments are pulled from the variable argument list specified by Marker based on \r
+ the contents of the format string.\r
+ The number of ASCII characters in the produced output buffer is returned not including\r
+ the Null-terminator.\r
+ If BufferSize is 0, then no output buffer is produced and 0 is returned.\r
+\r
+ If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().\r
+ If BufferSize > 0 and FormatString is NULL, then ASSERT().\r
+ If BufferSize > 0 and FormatString is not aligned on a 16-bit boundary, then ASSERT().\r
+ If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than\r
+ PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then\r
+ ASSERT().\r
+ If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string\r
+ contains more than PcdMaximumAsciiStringLength ASCII characters not including the\r
+ Null-terminator, then ASSERT().\r
+\r
+ @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated \r
+ ASCII string.\r
+ @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.\r
+ @param FormatString Null-terminated Unicode format string.\r
+ @param Marker BASE_LIST marker for the variable argument list.\r
+ \r
+ @return The number of ASCII characters in the produced output buffer not including the\r
+ Null-terminator.\r
+\r
+**/\r
+UINTN\r
+EFIAPI\r
+AsciiBSPrintUnicodeFormat (\r
+ OUT CHAR8 *StartOfBuffer,\r
+ IN UINTN BufferSize,\r
+ IN CONST CHAR16 *FormatString,\r
+ IN BASE_LIST Marker\r
+ );\r
+\r
/**\r
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated\r
Unicode format string and variable argument list.\r