4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/** @file
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Provides services to print a formatted string to a buffer. All combinations of
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode and ASCII strings are supported.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncCopyright (c) 2006 - 2011, Intel Corporation. All rights reserved.<BR>
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncThis program and the accompanying materials are licensed and made available under
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncthe terms and conditions of the BSD License that accompanies this distribution.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncThe full text of the license may be found at
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsynchttp://opensource.org/licenses/bsd-license.php.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncTHE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncWITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Print Library functions provide a simple means to produce formatted output
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync strings. Many of the output functions use a format string to describe how to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync format the output of variable arguments. The format string consists of normal
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync text and argument descriptors. There are no restrictions for how the normal
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync text and argument descriptors can be mixed. The following end of line(EOL)
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync translations must be performed on the contents of the format string:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - '\\r' is translated to '\\r'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - '\\r\\n' is translated to '\\r\\n'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - '\\n' is translated to '\\r\\n'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - '\\n\\r' is translated to '\\r\\n'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This does not follow the ANSI C standard for sprint(). The format of argument
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync descriptors is described below. The ANSI C standard for sprint() has been
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync followed for some of the format types, and has not been followed for others.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The exceptions are noted below.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync %[flags][width][.precision]type
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync [flags]:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - -
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The field is left justified. If not flag is not specified, then the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync field is right justified.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - space
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - Prefix a space character to a number. Only valid for types X, x, and d.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - +
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - Prefix a plus character to a number. Only valid for types X, x, and d.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If both space and + are specified, then space is ignored.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - 0
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - Pad with 0 characters to the left of a number. Only valid for types
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync X, x, and d.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - ,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - Place a comma every 3rd digit of the number. Only valid for type d.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If 0 is also specified, then 0 is ignored.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - L, l
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The number being printed is a UINT64. Only valid for types X, x, and d.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If this flag is not specified, then the number being printed is a int.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - NOTE: All invalid flags are ignored.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync [width]:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The width of the field is specified by a UINTN argument in the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - number
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The number specified as a decimal value represents the width of
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the field.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - NOTE: If [width] is not specified, then a field width of 0 is assumed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync [.precision]:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - *
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The precision of the field is specified by a UINTN argument in the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - number
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The number specified as a decimal value represents the precision of
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the field.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - NOTE: If [.precision] is not specified, then a precision of 0 is assumed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync type:
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - %
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - Print a %%.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - c
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a Unicode character. ASCII characters can be printed
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync using this type too by making sure bits 8..15 of the argument are set to 0.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - x
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a hexadecimal number. The characters used are 0..9 and
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync A..F. If the flag 'L' is not specified, then the argument is assumed
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync to be an int. This does not follow ANSI C.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - X
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a hexadecimal number and the number is padded with
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync zeros. This is equivalent to a format string of "0x". If the flag
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync 'L' is not specified, then the argument is assumed to be an int.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This does not follow ANSI C.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - d
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a decimal number. If the flag 'L' is not specified,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync then the argument is assumed to be an int.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - p
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a pointer that is a (VOID *), and it is printed as a
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync hexadecimal number The characters used are 0..9 and A..F.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - a
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a pointer to an ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This does not follow ANSI C.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - S, s
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a pointer to a Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This does not follow ANSI C.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - g
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a pointer to a GUID structure. The GUID is printed
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync in the format XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This does not follow ANSI C.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - t
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a pointer to an EFI_TIME structure. The time and
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync date are printed in the format "mm/dd/yyyy hh:mm" where mm is the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync month zero padded, dd is the day zero padded, yyyy is the year zero
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync padded, hh is the hour zero padded, and mm is minutes zero padded.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync This does not follow ANSI C.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - r
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - The argument is a RETURN_STATUS value. This value is converted to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync a string following the table below. This does not follow ANSI C.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_SUCCESS
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Success"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_LOAD_ERROR
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Load Error"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_INVALID_PARAMETER
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Invalid Parameter"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_UNSUPPORTED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Unsupported"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_BAD_BUFFER_SIZE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Bad Buffer Size"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_BUFFER_TOO_SMALL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Buffer Too Small"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_NOT_READY
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Not Ready"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_DEVICE_ERROR
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Device Error"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_WRITE_PROTECTED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Write Protected"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_OUT_OF_RESOURCES
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Out of Resources"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_VOLUME_CORRUPTED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Volume Corrupt"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_VOLUME_FULL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Volume Full"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_NO_MEDIA
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "No Media"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_MEDIA_CHANGED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Media changed"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_NOT_FOUND
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Not Found"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_ACCESS_DENIED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Access Denied"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_NO_RESPONSE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "No Response"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_NO_MAPPING
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "No mapping"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_TIMEOUT
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Time out"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_NOT_STARTED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Not started"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_ALREADY_STARTED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Already started"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_ABORTED
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Aborted"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_ICMP_ERROR
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "ICMP Error"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_TFTP_ERROR
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "TFTP Error"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_PROTOCOL_ERROR
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Protocol Error"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_WARN_UNKNOWN_GLYPH
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Warning Unknown Glyph"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_WARN_DELETE_FAILURE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Warning Delete Failure"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_WARN_WRITE_FAILURE
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Warning Write Failure"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - RETURN_WARN_BUFFER_TOO_SMALL
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync - "Warning Buffer Too Small"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#ifndef __PRINT_LIB_H__
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define __PRINT_LIB_H__
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync///
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Define the maximum number of characters that are required to
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// encode with a NULL terminator a decimal, hexadecimal, GUID,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// or TIME value.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync///
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Maximum Length Decimal String = 28
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// "-9,223,372,036,854,775,808"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Maximum Length Hexadecimal String = 17
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// "FFFFFFFFFFFFFFFF"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Maximum Length GUID = 37
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// "00000000-0000-0000-0000-000000000000"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Maximum Length TIME = 18
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// "12/12/2006 12:12"
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync///
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define MAXIMUM_VALUE_CHARACTERS 38
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync///
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// Flags bitmask values use in UnicodeValueToString() and
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/// AsciiValueToString()
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync///
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define LEFT_JUSTIFY 0x01
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define COMMA_TYPE 0x08
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define PREFIX_ZERO 0x20
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#define RADIX_HEX 0x80
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in an output buffer based on
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync a Null-terminated Unicode format string and a VA_LIST argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Unicode string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list specified by Marker based on the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of Unicode characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumUnicodeStringLength Unicode characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString Null-terminated Unicode format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Marker VA_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of Unicode characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUnicodeVSPrint (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR16 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VA_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in an output buffer based on
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync a Null-terminated Unicode format string and a BASE_LIST argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Unicode string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list specified by Marker based on the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of Unicode characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumUnicodeStringLength Unicode characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString Null-terminated Unicode format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Marker BASE_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of Unicode characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUnicodeBSPrint (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR16 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN BASE_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode format string and variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Unicode string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list based on the contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of Unicode characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated Unicode format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param ... The variable argument list whose contents are accessed based on the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of Unicode characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUnicodeSPrint (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR16 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ...
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII format string and a VA_LIST argument list
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Unicode string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list specified by Marker based on the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of Unicode characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumUnicodeStringLength Unicode characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated ASCII format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Marker VA_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of Unicode characters in the produced output buffer not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUnicodeVSPrintAsciiFormat (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR8 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VA_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII format string and a BASE_LIST argument list
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Unicode string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list specified by Marker based on the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of Unicode characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumUnicodeStringLength Unicode characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated ASCII format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Marker A BASE_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of Unicode characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUnicodeBSPrintAsciiFormat (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR8 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN BASE_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII format string and variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Unicode string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list based on the contents of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of Unicode characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and StartOfBuffer is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 1 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumUnicodeStringLength Unicode characters, the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated ASCII format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param ... Variable argument list whose contents are accessed based on the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of Unicode characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUnicodeSPrintAsciiFormat (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR16 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR8 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ...
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Converts a decimal value to a Null-terminated Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Converts the decimal number specified by Value to a Null-terminated Unicode
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync string specified by Buffer containing at most Width characters. No padding of spaces
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync is ever performed. If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of Unicode characters in Buffer is returned, not including the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If the conversion contains more than Width characters, then only the first
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Width characters are returned, and the total number of characters
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync required to perform the conversion is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Additional conversion parameters are specified in Flags.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Flags bit LEFT_JUSTIFY is always ignored.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync All conversions are left justified in Buffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Width is 0, PREFIX_ZERO is ignored in Flags.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync are inserted every 3rd digit starting from the right.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If RADIX_HEX is set in Flags, then the output buffer will be
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync formatted in hexadecimal format.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync then Buffer is padded with '0' characters so the combination of the optional '-'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync sign character, '0' characters, digit characters for Value, and the Null-terminator
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync add up to Width characters.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Buffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Buffer is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If unsupported bits are set in Flags, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Buffer The pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Flags The bitmask of flags that specify left justification, zero pad, and commas.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Value The 64-bit signed value to convert to a string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Width The maximum number of Unicode characters to place in Buffer, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of Unicode characters in Buffer, not including the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUnicodeValueToString (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN OUT CHAR16 *Buffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN Flags,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN INT64 Value,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN Width
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII format string and a VA_LIST argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The ASCII string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list specified by Marker based on
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of ASCII characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumAsciiStringLength ASCII characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated ASCII format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Marker VA_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of ASCII characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncAsciiVSPrint (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR8 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR8 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VA_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII format string and a BASE_LIST argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The ASCII string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list specified by Marker based on
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of ASCII characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumAsciiStringLength ASCII characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated ASCII format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Marker BASE_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of ASCII characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncAsciiBSPrint (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR8 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR8 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN BASE_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII format string and variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The ASCII string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list based on the contents of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of ASCII characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumAsciiStringLength ASCII characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated ASCII format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param ... The variable argument list whose contents are accessed based on the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of ASCII characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncAsciiSPrint (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR8 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR8 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ...
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode format string and a VA_LIST argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The ASCII string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list specified by Marker based on
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of ASCII characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumAsciiStringLength ASCII characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated Unicode format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Marker VA_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of ASCII characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncAsciiVSPrintUnicodeFormat (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR8 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR16 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VA_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode format string and a BASE_LIST argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The ASCII string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list specified by Marker based on
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the contents of the format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of ASCII characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumAsciiStringLength ASCII characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated Unicode format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Marker BASE_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of ASCII characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncAsciiBSPrintUnicodeFormat (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR8 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR16 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN BASE_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Unicode format string and variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync and BufferSize.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The ASCII string is produced by parsing the format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Arguments are pulled from the variable argument list based on the contents of the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of ASCII characters in the produced output buffer is returned, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize is 0, then no output buffer is produced and 0 is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If BufferSize > 0 and FormatString is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator, then
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync contains more than PcdMaximumAsciiStringLength ASCII characters, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param FormatString A null-terminated Unicode format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param ... Variable argument list whose contents are accessed based on the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync format string specified by FormatString.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of ASCII characters in the produced output buffer, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncAsciiSPrintUnicodeFormat (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR8 *StartOfBuffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN BufferSize,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR16 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ...
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Converts a decimal value to a Null-terminated ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Converts the decimal number specified by Value to a Null-terminated ASCII string
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync specified by Buffer containing at most Width characters. No padding of spaces
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync is ever performed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The number of ASCII characters in Buffer is returned, not including the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If the conversion contains more than Width characters, then only the first Width
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync characters are returned, and the total number of characters required to perform
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the conversion is returned.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Additional conversion parameters are specified in Flags.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync The Flags bit LEFT_JUSTIFY is always ignored.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync All conversions are left justified in Buffer.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Width is 0, PREFIX_ZERO is ignored in Flags.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync are inserted every 3rd digit starting from the right.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If RADIX_HEX is set in Flags, then the output buffer will be
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync formatted in hexadecimal format.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync then Buffer is padded with '0' characters so the combination of the optional '-'
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync sign character, '0' characters, digit characters for Value, and the Null-terminator
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync add up to Width characters.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Buffer is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If unsupported bits are set in Flags, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Buffer A pointer to the output buffer for the produced Null-terminated
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync ASCII string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Flags The bitmask of flags that specify left justification, zero pad, and commas.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Value The 64-bit signed value to convert to a string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param Width The maximum number of ASCII characters to place in Buffer, not including
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of ASCII characters in Buffer, not including the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncAsciiValueToString (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync OUT CHAR8 *Buffer,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN Flags,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN INT64 Value,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN UINTN Width
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Returns the number of characters that would be produced by if the formatted
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync output were produced not including the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Format is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Format is not aligned on a 16-bit boundary, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] FormatString A Null-terminated Unicode format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] Marker VA_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of characters that would be produced, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSPrintLength (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR16 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VA_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync/**
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Returns the number of characters that would be produced by if the formatted
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync output were produced not including the Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync If Format is NULL, then ASSERT().
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] FormatString A Null-terminated ASCII format string.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @param[in] Marker VA_LIST marker for the variable argument list.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync @return The number of characters that would be produced, not including the
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync Null-terminator.
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync**/
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncUINTN
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncEFIAPI
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsyncSPrintLengthAsciiFormat (
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN CONST CHAR8 *FormatString,
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync IN VA_LIST Marker
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync );
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync
4fd606d1f5abe38e1f42c38de1d2e895166bd0f4vboxsync#endif