1) Added BIT0, BIT1, …, BIT63 to the Base Defines
2) Added MIN() and MAX() macros to the Base Macros 3) Added StrStr(), StrDecimalToUnitn(), StrDecimalToUint64(), StrHexToUintn(), StrHexToUintn64(), UnicodeToAscii(), AsciiStrStr(), AsciiStrDecimalToUnitn(), AsciiStrDecimalToUint64(), AsciiStrHexToUintn(), AsciiStrHexToUintn64(), and AsciiToUnicode() to the Base Library String Functions 4) Added the Base Library Checksum Functions which include CalculateSum8(), CaclculateCheckSum8(), CalculateSum16(), CalculateChecksum16(), CalculateSum32(), CalculateCheckSum32(), CalculateSum64(), CalculateChecksum64(). 5) Added MMIO Buffer functions to the I/O Library including MmioReadBuffer8(), MmioReadBuffer16(), MmioReadBuffer32(), MmioReadBuffer64(), MmioWriteBuffer8(), MmioWriteBuffer16(), MmioWriteBuffer32(), MmioWriteBuffer64(). 6) Changed the parameter name from SizeOfValue to SizeOfBuffer in PcdSetPtr(), PcdSetPtrEx(), PatchPcdSetPtr(), LibPcdSetPtr(), LibPcdSetPtrEx(), LibPatchPcdSetPtr() 7) Added RADIX_HEX flag to the Print Library to support the conversion of values to hexadecimal strings in UnicodeValueToString() and AsciiValueToString() 8) Added EfiGetCurrentTpl() UEFI Library. git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@2363 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
@@ -3,7 +3,7 @@
|
||||
|
||||
This file is stand alone self consistent set of definitions.
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -76,6 +76,71 @@ typedef struct {
|
||||
#define NULL ((VOID *) 0)
|
||||
#endif
|
||||
|
||||
#define BIT0 0x00000001
|
||||
#define BIT1 0x00000002
|
||||
#define BIT2 0x00000004
|
||||
#define BIT3 0x00000008
|
||||
#define BIT4 0x00000010
|
||||
#define BIT5 0x00000020
|
||||
#define BIT6 0x00000040
|
||||
#define BIT7 0x00000080
|
||||
#define BIT8 0x00000100
|
||||
#define BIT9 0x00000200
|
||||
#define BIT10 0x00000400
|
||||
#define BIT11 0x00000800
|
||||
#define BIT12 0x00001000
|
||||
#define BIT13 0x00002000
|
||||
#define BIT14 0x00004000
|
||||
#define BIT15 0x00008000
|
||||
#define BIT16 0x00010000
|
||||
#define BIT17 0x00020000
|
||||
#define BIT18 0x00040000
|
||||
#define BIT19 0x00080000
|
||||
#define BIT20 0x00100000
|
||||
#define BIT21 0x00200000
|
||||
#define BIT22 0x00400000
|
||||
#define BIT23 0x00800000
|
||||
#define BIT24 0x01000000
|
||||
#define BIT25 0x02000000
|
||||
#define BIT26 0x04000000
|
||||
#define BIT27 0x08000000
|
||||
#define BIT28 0x10000000
|
||||
#define BIT29 0x20000000
|
||||
#define BIT30 0x40000000
|
||||
#define BIT31 0x80000000
|
||||
#define BIT32 0x0000000100000000UL
|
||||
#define BIT33 0x0000000200000000UL
|
||||
#define BIT34 0x0000000400000000UL
|
||||
#define BIT35 0x0000000800000000UL
|
||||
#define BIT36 0x0000001000000000UL
|
||||
#define BIT37 0x0000002000000000UL
|
||||
#define BIT38 0x0000004000000000UL
|
||||
#define BIT39 0x0000008000000000UL
|
||||
#define BIT40 0x0000010000000000UL
|
||||
#define BIT41 0x0000020000000000UL
|
||||
#define BIT42 0x0000040000000000UL
|
||||
#define BIT43 0x0000080000000000UL
|
||||
#define BIT44 0x0000100000000000UL
|
||||
#define BIT45 0x0000200000000000UL
|
||||
#define BIT46 0x0000400000000000UL
|
||||
#define BIT47 0x0000800000000000UL
|
||||
#define BIT48 0x0001000000000000UL
|
||||
#define BIT49 0x0002000000000000UL
|
||||
#define BIT50 0x0004000000000000UL
|
||||
#define BIT51 0x0008000000000000UL
|
||||
#define BIT52 0x0010000000000000UL
|
||||
#define BIT53 0x0020000000000000UL
|
||||
#define BIT54 0x0040000000000000UL
|
||||
#define BIT55 0x0080000000000000UL
|
||||
#define BIT56 0x0100000000000000UL
|
||||
#define BIT57 0x0200000000000000UL
|
||||
#define BIT58 0x0400000000000000UL
|
||||
#define BIT59 0x0800000000000000UL
|
||||
#define BIT60 0x1000000000000000UL
|
||||
#define BIT61 0x2000000000000000UL
|
||||
#define BIT62 0x4000000000000000UL
|
||||
#define BIT63 0x8000000000000000UL
|
||||
|
||||
//
|
||||
// Support for variable length argument lists using the ANSI standard.
|
||||
//
|
||||
@@ -151,6 +216,24 @@ typedef CHAR8 *VA_LIST;
|
||||
} \
|
||||
(Value) = (UINTN)((UINTN) (Value) + (UINTN) (Adjustment))
|
||||
|
||||
//
|
||||
// Return the maximum of two operands.
|
||||
// This macro returns the maximum of two operand specified by a and b.
|
||||
// Both a and b must be the same numerical types, signed or unsigned.
|
||||
//
|
||||
#define MAX(a, b) \
|
||||
(((a) > (b)) ? (a) : (b))
|
||||
|
||||
|
||||
//
|
||||
// Return the minimum of two operands.
|
||||
// This macro returns the minimal of two operand specified by a and b.
|
||||
// Both a and b must be the same numerical types, signed or unsigned.
|
||||
//
|
||||
#define MIN(a, b) \
|
||||
(((a) < (b)) ? (a) : (b))
|
||||
|
||||
|
||||
//
|
||||
// EFI Error Codes common to all execution phases
|
||||
//
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
Public include file for the HOB Library
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -122,6 +122,24 @@ GetFirstGuidHob (
|
||||
)
|
||||
;
|
||||
|
||||
/**
|
||||
Get the Boot Mode from the HOB list.
|
||||
|
||||
This function returns the system boot mode information from the
|
||||
PHIT HOB in HOB list.
|
||||
|
||||
@param VOID
|
||||
|
||||
@return The Boot Mode.
|
||||
|
||||
**/
|
||||
EFI_BOOT_MODE
|
||||
EFIAPI
|
||||
GetBootModeHob (
|
||||
VOID
|
||||
)
|
||||
;
|
||||
|
||||
/**
|
||||
Builds a HOB for a loaded PE32 module.
|
||||
|
||||
|
File diff suppressed because it is too large
Load Diff
@@ -1,7 +1,7 @@
|
||||
/** @file
|
||||
PCD Library Class Interface Declarations
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
@@ -461,7 +461,7 @@ EFIAPI
|
||||
LibPcdSetPtr (
|
||||
IN UINTN TokenNumber,
|
||||
IN OUT UINTN *SizeOfBuffer,
|
||||
IN VOID *Value
|
||||
IN VOID *Buffer
|
||||
);
|
||||
|
||||
|
||||
|
@@ -1,457 +1,466 @@
|
||||
/** @file
|
||||
Library that provides print services
|
||||
|
||||
Copyright (c) 2006, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name: PrintLib.h
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PRINT_LIB_H__
|
||||
#define __PRINT_LIB_H__
|
||||
|
||||
///
|
||||
/// Define the maximum number of characters that are required to
|
||||
/// encode a decimal, hexidecimal, GUID, or TIME value with a NULL
|
||||
/// terminator.
|
||||
///
|
||||
/// Maximum Length Decimal String = 28
|
||||
/// "-9,223,372,036,854,775,808"
|
||||
/// Maximum Length Hexidecimal String = 17
|
||||
/// "FFFFFFFFFFFFFFFF"
|
||||
/// Maximum Length GUID = 37
|
||||
/// "00000000-0000-0000-0000-000000000000"
|
||||
/// Maximum Length TIME = 18
|
||||
/// "12/12/2006 12:12"
|
||||
///
|
||||
#define MAXIMUM_VALUE_CHARACTERS 38
|
||||
|
||||
///
|
||||
/// Flags bitmask values use in UnicodeValueToString() and
|
||||
/// AcsiiValueToString()
|
||||
///
|
||||
#define LEFT_JUSTIFY 0x01
|
||||
#define COMMA_TYPE 0x08
|
||||
#define PREFIX_ZERO 0x20
|
||||
|
||||
/**
|
||||
Produces a Null-terminated Unicode string in an output buffer based on
|
||||
a Null-terminated Unicode format string and a VA_LIST argument list
|
||||
|
||||
Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The Unicode string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list specified by Marker based on the
|
||||
contents of the format string.
|
||||
The number of Unicode characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 1 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
|
||||
contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
@param Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@return The number of Unicode characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeVSPrint (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
|
||||
Unicode format string and variable argument list.
|
||||
|
||||
Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The Unicode string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list based on the contents of the format string.
|
||||
The number of Unicode characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 1 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
|
||||
contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
|
||||
@return The number of Unicode characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeSPrint (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
...
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
|
||||
ASCII format string and a VA_LIST argument list
|
||||
|
||||
Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The Unicode string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list specified by Marker based on the
|
||||
contents of the format string.
|
||||
The number of Unicode characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 1 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
|
||||
contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
@param Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@return The number of Unicode characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeVSPrintAsciiFormat (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR8 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
|
||||
ASCII format string and variable argument list.
|
||||
|
||||
Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The Unicode string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list based on the contents of the
|
||||
format string.
|
||||
The number of Unicode characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 1 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
|
||||
contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
|
||||
@return The number of Unicode characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeSPrintAsciiFormat (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR8 *FormatString,
|
||||
...
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
|
||||
ASCII format string and a VA_LIST argument list.
|
||||
|
||||
Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The ASCII string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list specified by Marker based on
|
||||
the contents of the format string.
|
||||
The number of ASCII characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 0 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
|
||||
contains more than PcdMaximumAsciiStringLength ASCII characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
@param Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@return The number of ASCII characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiVSPrint (
|
||||
OUT CHAR8 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR8 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
|
||||
ASCII format string and variable argument list.
|
||||
|
||||
Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The ASCII string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list based on the contents of the
|
||||
format string.
|
||||
The number of ASCII characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 0 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
|
||||
contains more than PcdMaximumAsciiStringLength ASCII characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
|
||||
@return The number of ASCII characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiSPrint (
|
||||
OUT CHAR8 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR8 *FormatString,
|
||||
...
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
|
||||
ASCII format string and a VA_LIST argument list.
|
||||
|
||||
Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The ASCII string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list specified by Marker based on
|
||||
the contents of the format string.
|
||||
The number of ASCII characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 0 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
|
||||
contains more than PcdMaximumAsciiStringLength ASCII characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
@param Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@return The number of ASCII characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiVSPrintUnicodeFormat (
|
||||
OUT CHAR8 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
|
||||
ASCII format string and variable argument list.
|
||||
|
||||
Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The ASCII string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list based on the contents of the
|
||||
format string.
|
||||
The number of ASCII characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 0 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
|
||||
contains more than PcdMaximumAsciiStringLength ASCII characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
|
||||
@return The number of ASCII characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiSPrintUnicodeFormat (
|
||||
OUT CHAR8 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
...
|
||||
);
|
||||
|
||||
/**
|
||||
Converts a decimal value to a Null-terminated Unicode string.
|
||||
|
||||
Converts the decimal number specified by Value to a Null-terminated Unicode
|
||||
string specified by Buffer containing at most Width characters.
|
||||
If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
|
||||
The number of Unicode characters in Buffer is returned not including the Null-terminator.
|
||||
If the conversion contains more than Width characters, then only the first
|
||||
Width characters are returned, and the total number of characters
|
||||
required to perform the conversion is returned.
|
||||
Additional conversion parameters are specified in Flags.
|
||||
The Flags bit LEFT_JUSTIFY is always ignored.
|
||||
All conversions are left justified in Buffer.
|
||||
If Width is 0, PREFIX_ZERO is ignored in Flags.
|
||||
If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
|
||||
are inserted every 3rd digit starting from the right.
|
||||
If Value is < 0, then the fist character in Buffer is a '-'.
|
||||
If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
|
||||
then Buffer is padded with '0' characters so the combination of the optional '-'
|
||||
sign character, '0' characters, digit characters for Value, and the Null-terminator
|
||||
add up to Width characters.
|
||||
|
||||
If Buffer is NULL, then ASSERT().
|
||||
If unsupported bits are set in Flags, then ASSERT().
|
||||
If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
|
||||
|
||||
@param Buffer Pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param Flags The bitmask of flags that specify left justification, zero pad, and commas.
|
||||
@param Value The 64-bit signed value to convert to a string.
|
||||
@param Width The maximum number of Unicode characters to place in Buffer, not including
|
||||
the Null-terminator.
|
||||
|
||||
@return The number of Unicode characters in Buffer not including the Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeValueToString (
|
||||
IN OUT CHAR16 *Buffer,
|
||||
IN UINTN Flags,
|
||||
IN INT64 Value,
|
||||
IN UINTN Width
|
||||
);
|
||||
|
||||
/**
|
||||
Converts a decimal value to a Null-terminated ASCII string.
|
||||
|
||||
Converts the decimal number specified by Value to a Null-terminated ASCII string
|
||||
specified by Buffer containing at most Width characters.
|
||||
If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
|
||||
The number of ASCII characters in Buffer is returned not including the Null-terminator.
|
||||
If the conversion contains more than Width characters, then only the first Width
|
||||
characters are returned, and the total number of characters required to perform
|
||||
the conversion is returned.
|
||||
Additional conversion parameters are specified in Flags.
|
||||
The Flags bit LEFT_JUSTIFY is always ignored.
|
||||
All conversions are left justified in Buffer.
|
||||
If Width is 0, PREFIX_ZERO is ignored in Flags.
|
||||
If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
|
||||
are inserted every 3rd digit starting from the right.
|
||||
If Value is < 0, then the fist character in Buffer is a '-'.
|
||||
If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored, then Buffer
|
||||
is padded with '0' characters so the combination of the optional '-'
|
||||
sign character, '0' characters, digit characters for Value, and the
|
||||
Null-terminator add up to Width characters.
|
||||
|
||||
If Buffer is NULL, then ASSERT().
|
||||
If unsupported bits are set in Flags, then ASSERT().
|
||||
If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
|
||||
|
||||
@param Buffer Pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param Flags The bitmask of flags that specify left justification, zero pad, and commas.
|
||||
@param Value The 64-bit signed value to convert to a string.
|
||||
@param Width The maximum number of ASCII characters to place in Buffer, not including
|
||||
the Null-terminator.
|
||||
|
||||
@return The number of ASCII characters in Buffer not including the Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiValueToString (
|
||||
IN OUT CHAR8 *Buffer,
|
||||
IN UINTN Flags,
|
||||
IN INT64 Value,
|
||||
IN UINTN Width
|
||||
);
|
||||
|
||||
#endif
|
||||
/** @file
|
||||
Library that provides print services
|
||||
|
||||
Copyright (c) 2006 - 2007, Intel Corporation
|
||||
All rights reserved. This program and the accompanying materials
|
||||
are licensed and made available under the terms and conditions of the BSD License
|
||||
which accompanies this distribution. The full text of the license may be found at
|
||||
http://opensource.org/licenses/bsd-license.php
|
||||
|
||||
THE PROGRAM IS DISTRIBUTED UNDER THE BSD LICENSE ON AN "AS IS" BASIS,
|
||||
WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, EITHER EXPRESS OR IMPLIED.
|
||||
|
||||
Module Name: PrintLib.h
|
||||
|
||||
**/
|
||||
|
||||
#ifndef __PRINT_LIB_H__
|
||||
#define __PRINT_LIB_H__
|
||||
|
||||
///
|
||||
/// Define the maximum number of characters that are required to
|
||||
/// encode a decimal, hexidecimal, GUID, or TIME value with a NULL
|
||||
/// terminator.
|
||||
///
|
||||
/// Maximum Length Decimal String = 28
|
||||
/// "-9,223,372,036,854,775,808"
|
||||
/// Maximum Length Hexidecimal String = 17
|
||||
/// "FFFFFFFFFFFFFFFF"
|
||||
/// Maximum Length GUID = 37
|
||||
/// "00000000-0000-0000-0000-000000000000"
|
||||
/// Maximum Length TIME = 18
|
||||
/// "12/12/2006 12:12"
|
||||
///
|
||||
#define MAXIMUM_VALUE_CHARACTERS 38
|
||||
|
||||
///
|
||||
/// Flags bitmask values use in UnicodeValueToString() and
|
||||
/// AcsiiValueToString()
|
||||
///
|
||||
#define LEFT_JUSTIFY 0x01
|
||||
#define COMMA_TYPE 0x08
|
||||
#define PREFIX_ZERO 0x20
|
||||
#define RADIX_HEX 0x80
|
||||
|
||||
/**
|
||||
Produces a Null-terminated Unicode string in an output buffer based on
|
||||
a Null-terminated Unicode format string and a VA_LIST argument list
|
||||
|
||||
Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The Unicode string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list specified by Marker based on the
|
||||
contents of the format string.
|
||||
The number of Unicode characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 1 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
|
||||
contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
@param Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@return The number of Unicode characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeVSPrint (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
|
||||
Unicode format string and variable argument list.
|
||||
|
||||
Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The Unicode string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list based on the contents of the format string.
|
||||
The number of Unicode characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 1 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
|
||||
contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
|
||||
@return The number of Unicode characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeSPrint (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
...
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
|
||||
ASCII format string and a VA_LIST argument list
|
||||
|
||||
Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The Unicode string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list specified by Marker based on the
|
||||
contents of the format string.
|
||||
The number of Unicode characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 1 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
|
||||
contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
@param Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@return The number of Unicode characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeVSPrintAsciiFormat (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR8 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated Unicode string in an output buffer based on a Null-terminated
|
||||
ASCII format string and variable argument list.
|
||||
|
||||
Produces a Null-terminated Unicode string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The Unicode string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list based on the contents of the
|
||||
format string.
|
||||
The number of Unicode characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0 or 1, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 1 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 1 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and produced Null-terminated Unicode string
|
||||
contains more than PcdMaximumUnicodeStringLength Unicode characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
|
||||
@return The number of Unicode characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeSPrintAsciiFormat (
|
||||
OUT CHAR16 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR8 *FormatString,
|
||||
...
|
||||
);
|
||||
|
||||
/**
|
||||
Converts a decimal value to a Null-terminated Unicode string.
|
||||
|
||||
Converts the decimal number specified by Value to a Null-terminated Unicode
|
||||
string specified by Buffer containing at most Width characters. No padding of spaces
|
||||
is ever performed. If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
|
||||
The number of Unicode characters in Buffer is returned not including the Null-terminator.
|
||||
If the conversion contains more than Width characters, then only the first
|
||||
Width characters are returned, and the total number of characters
|
||||
required to perform the conversion is returned.
|
||||
Additional conversion parameters are specified in Flags.
|
||||
|
||||
The Flags bit LEFT_JUSTIFY is always ignored.
|
||||
All conversions are left justified in Buffer.
|
||||
If Width is 0, PREFIX_ZERO is ignored in Flags.
|
||||
If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
|
||||
are inserted every 3rd digit starting from the right.
|
||||
If HEX_RADIX is set in Flags, then the output buffer will be
|
||||
formatted in hexadecimal format.
|
||||
If Value is < 0 and HEX_RADIX is not set in Flags, then the fist character in Buffer is a '-'.
|
||||
If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
|
||||
then Buffer is padded with '0' characters so the combination of the optional '-'
|
||||
sign character, '0' characters, digit characters for Value, and the Null-terminator
|
||||
add up to Width characters.
|
||||
If both COMMA_TYPE and HEX_RADIX are set in Flags, then ASSERT().
|
||||
If Buffer is NULL, then ASSERT().
|
||||
If unsupported bits are set in Flags, then ASSERT().
|
||||
If both COMMA_TYPE and HEX_RADIX are set in Flags, then ASSERT().
|
||||
If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
|
||||
|
||||
@param Buffer Pointer to the output buffer for the produced Null-terminated
|
||||
Unicode string.
|
||||
@param Flags The bitmask of flags that specify left justification, zero pad, and commas.
|
||||
@param Value The 64-bit signed value to convert to a string.
|
||||
@param Width The maximum number of Unicode characters to place in Buffer, not including
|
||||
the Null-terminator.
|
||||
|
||||
@return The number of Unicode characters in Buffer not including the Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
UnicodeValueToString (
|
||||
IN OUT CHAR16 *Buffer,
|
||||
IN UINTN Flags,
|
||||
IN INT64 Value,
|
||||
IN UINTN Width
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
|
||||
ASCII format string and a VA_LIST argument list.
|
||||
|
||||
Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The ASCII string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list specified by Marker based on
|
||||
the contents of the format string.
|
||||
The number of ASCII characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 0 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
|
||||
contains more than PcdMaximumAsciiStringLength ASCII characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
@param Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@return The number of ASCII characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiVSPrint (
|
||||
OUT CHAR8 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR8 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
|
||||
ASCII format string and variable argument list.
|
||||
|
||||
Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The ASCII string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list based on the contents of the
|
||||
format string.
|
||||
The number of ASCII characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 0 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
|
||||
contains more than PcdMaximumAsciiStringLength ASCII characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
|
||||
@return The number of ASCII characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiSPrint (
|
||||
OUT CHAR8 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR8 *FormatString,
|
||||
...
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
|
||||
ASCII format string and a VA_LIST argument list.
|
||||
|
||||
Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The ASCII string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list specified by Marker based on
|
||||
the contents of the format string.
|
||||
The number of ASCII characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 0 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
|
||||
contains more than PcdMaximumAsciiStringLength ASCII characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
@param Marker VA_LIST marker for the variable argument list.
|
||||
|
||||
@return The number of ASCII characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiVSPrintUnicodeFormat (
|
||||
OUT CHAR8 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
IN VA_LIST Marker
|
||||
);
|
||||
|
||||
/**
|
||||
Produces a Null-terminated ASCII string in an output buffer based on a Null-terminated
|
||||
ASCII format string and variable argument list.
|
||||
|
||||
Produces a Null-terminated ASCII string in the output buffer specified by StartOfBuffer
|
||||
and BufferSize.
|
||||
The ASCII string is produced by parsing the format string specified by FormatString.
|
||||
Arguments are pulled from the variable argument list based on the contents of the
|
||||
format string.
|
||||
The number of ASCII characters in the produced output buffer is returned not including
|
||||
the Null-terminator.
|
||||
If BufferSize is 0, then no output buffer is produced and 0 is returned.
|
||||
|
||||
If BufferSize > 0 and StartOfBuffer is NULL, then ASSERT().
|
||||
If BufferSize > 0 and FormatString is NULL, then ASSERT().
|
||||
If PcdMaximumUnicodeStringLength is not zero, and FormatString contains more than
|
||||
PcdMaximumUnicodeStringLength Unicode characters not including the Null-terminator, then
|
||||
ASSERT().
|
||||
If PcdMaximumAsciiStringLength is not zero, and produced Null-terminated ASCII string
|
||||
contains more than PcdMaximumAsciiStringLength ASCII characters not including the
|
||||
Null-terminator, then ASSERT().
|
||||
|
||||
@param StartOfBuffer A pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param BufferSize The size, in bytes, of the output buffer specified by StartOfBuffer.
|
||||
@param FormatString Null-terminated Unicode format string.
|
||||
|
||||
@return The number of ASCII characters in the produced output buffer not including the
|
||||
Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiSPrintUnicodeFormat (
|
||||
OUT CHAR8 *StartOfBuffer,
|
||||
IN UINTN BufferSize,
|
||||
IN CONST CHAR16 *FormatString,
|
||||
...
|
||||
);
|
||||
|
||||
/**
|
||||
Converts a decimal value to a Null-terminated ASCII string.
|
||||
|
||||
Converts the decimal number specified by Value to a Null-terminated ASCII string
|
||||
specified by Buffer containing at most Width characters. No padding of spaces
|
||||
is ever performed.
|
||||
If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.
|
||||
The number of ASCII characters in Buffer is returned not including the Null-terminator.
|
||||
If the conversion contains more than Width characters, then only the first Width
|
||||
characters are returned, and the total number of characters required to perform
|
||||
the conversion is returned.
|
||||
Additional conversion parameters are specified in Flags.
|
||||
The Flags bit LEFT_JUSTIFY is always ignored.
|
||||
All conversions are left justified in Buffer.
|
||||
If Width is 0, PREFIX_ZERO is ignored in Flags.
|
||||
If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas
|
||||
are inserted every 3rd digit starting from the right.
|
||||
If HEX_RADIX is set in Flags, then the output buffer will be
|
||||
formatted in hexadecimal format.
|
||||
If Value is < 0 and HEX_RADIX is not set in Flags, then the fist character in Buffer is a '-'.
|
||||
If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,
|
||||
then Buffer is padded with '0' characters so the combination of the optional '-'
|
||||
sign character, '0' characters, digit characters for Value, and the Null-terminator
|
||||
add up to Width characters.
|
||||
|
||||
If Buffer is NULL, then ASSERT().
|
||||
If unsupported bits are set in Flags, then ASSERT().
|
||||
If both COMMA_TYPE and HEX_RADIX are set in Flags, then ASSERT().
|
||||
If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()
|
||||
|
||||
@param Buffer Pointer to the output buffer for the produced Null-terminated
|
||||
ASCII string.
|
||||
@param Flags The bitmask of flags that specify left justification, zero pad, and commas.
|
||||
@param Value The 64-bit signed value to convert to a string.
|
||||
@param Width The maximum number of ASCII characters to place in Buffer, not including
|
||||
the Null-terminator.
|
||||
|
||||
@return The number of ASCII characters in Buffer not including the Null-terminator.
|
||||
|
||||
**/
|
||||
UINTN
|
||||
EFIAPI
|
||||
AsciiValueToString (
|
||||
IN OUT CHAR8 *Buffer,
|
||||
IN UINTN Flags,
|
||||
IN INT64 Value,
|
||||
IN UINTN Width
|
||||
);
|
||||
|
||||
#endif
|
||||
|
@@ -128,6 +128,26 @@ EfiNamedEventSignal (
|
||||
IN CONST EFI_GUID *Name
|
||||
);
|
||||
|
||||
/**
|
||||
Returns the current TPL.
|
||||
|
||||
This function returns the current TPL. There is no EFI service to directly
|
||||
retrieve the current TPL. Instead, the RaiseTPL() function is used to raise
|
||||
the TPL to TPL_HIGH_LEVEL. This will return the current TPL. The TPL level
|
||||
can then immediately be restored back to the current TPL level with a call
|
||||
to RestoreTPL().
|
||||
|
||||
@param VOID
|
||||
|
||||
@retvale EFI_TPL The current TPL.
|
||||
|
||||
**/
|
||||
EFI_TPL
|
||||
EFIAPI
|
||||
EfiGetCurrentTpl (
|
||||
VOID
|
||||
);
|
||||
|
||||
/**
|
||||
This function initializes a basic mutual exclusion lock to the released state
|
||||
and returns the lock. Each lock provides mutual exclusion access at its task
|
||||
@@ -595,5 +615,4 @@ EfiGetNameGuidFromFwVolDevicePathNode (
|
||||
IN CONST MEDIA_FW_VOL_FILEPATH_DEVICE_PATH *FvDevicePathNode
|
||||
);
|
||||
|
||||
|
||||
#endif
|
||||
|
Reference in New Issue
Block a user