Update BaseLib according to code review comments.

git-svn-id: https://edk2.svn.sourceforge.net/svnroot/edk2/trunk/edk2@5956 6f19259b-4bc3-4df7-8a09-765794883524
This commit is contained in:
xli24 2008-09-24 04:17:16 +00:00
parent 9d5eaca403
commit 24dcb5e50a
7 changed files with 142 additions and 141 deletions

View File

@ -1,7 +1,7 @@
/** @file
Declaration of internal functions in BaseLib.
Copyright (c) 2006 - 2007, Intel Corporation<BR>
Copyright (c) 2006 - 2008, Intel Corporation<BR>
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
@ -22,19 +22,6 @@
#include <Library/TimerLib.h>
#include <Library/PcdLib.h>
#define QUIENT_MAX_UINTN_DIVIDED_BY_10 ((UINTN) -1 / 10)
#define REMINDER_MAX_UINTN_DIVIDED_BY_10 ((UINTN) -1 % 10)
#define QUIENT_MAX_UINTN_DIVIDED_BY_16 ((UINTN) -1 / 16)
#define REMINDER_MAX_UINTN_DIVIDED_BY_16 ((UINTN) -1 % 16)
#define QUIENT_MAX_UINT64_DIVIDED_BY_10 ((UINT64) -1 / 10)
#define REMINDER_MAX_UINT64_DIVIDED_BY_10 ((UINT64) -1 % 10)
#define QUIENT_MAX_UINT64_DIVIDED_BY_16 ((UINT64) -1 / 16)
#define REMINDER_MAX_UINT64_DIVIDED_BY_16 ((UINT64) -1 % 16)
//
// Math functions
//
@ -150,7 +137,7 @@ InternalMathRRotU64 (
@param Operand A 64-bit unsigned value.
@return The byte swaped Operand.
@return The byte swapped Operand.
**/
UINT64
@ -295,12 +282,12 @@ InternalMathDivRemU64x64 (
/**
Divides a 64-bit signed integer by a 64-bit signed integer and
generates a 64-bit signed result and a optional 64-bit signed remainder.
generates a 64-bit signed result and an optional 64-bit signed remainder.
This function divides the 64-bit unsigned value Dividend by the 64-bit
unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder
is not NULL, then the 64-bit unsigned remainder is returned in Remainder.
This function returns the 64-bit unsigned quotient.
This function divides the 64-bit signed value Dividend by the 64-bit
signed value Divisor and generates a 64-bit signed quotient. If Remainder
is not NULL, then the 64-bit signed remainder is returned in Remainder.
This function returns the 64-bit signed quotient.
@param Dividend A 64-bit signed value.
@param Divisor A 64-bit signed value.
@ -354,7 +341,7 @@ InternalSwitchStack (
/**
Worker function that locates the Node in the List
Worker function that locates the Node in the List.
By searching the List, finds the location of the Node in List. At the same time,
verifies the validity of this list.
@ -474,7 +461,7 @@ InternalSyncCompareExchange64 (
/**
Worker function that returns a bit field from Operand
Worker function that returns a bit field from Operand.
Returns the bitfield specified by the StartBit and the EndBit from Operand.

View File

@ -2,7 +2,7 @@
Utility functions to generate checksum based on 2's complement
algorithm.
Copyright (c) 2007, Intel Corporation<BR>
Copyright (c) 2007 - 2008, Intel Corporation<BR>
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

View File

@ -18,10 +18,10 @@
Worker function that Divides a 64-bit signed integer by a 64-bit signed integer and
generates a 64-bit signed result and a optional 64-bit signed remainder.
This function divides the 64-bit unsigned value Dividend by the 64-bit
unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder
is not NULL, then the 64-bit unsigned remainder is returned in Remainder.
This function returns the 64-bit unsigned quotient.
This function divides the 64-bit signed value Dividend by the 64-bit
signed value Divisor and generates a 64-bit signed quotient. If Remainder
is not NULL, then the 64-bit signed remainder is returned in Remainder.
This function returns the 64-bit signed quotient.
@param Dividend A 64-bit signed value.
@param Divisor A 64-bit signed value.

View File

@ -25,7 +25,7 @@
If List is NULL, then ASSERT().
If List->ForwardLink is NULL, then ASSERT().
If List->backLink is NULL, then ASSERT().
If List->BackLink is NULL, then ASSERT().
If Node is NULL, then ASSERT();
If PcdMaximumLinkedListLenth is not zero, and prior to insertion the number
of nodes in ListHead, including the ListHead node, is greater than or
@ -384,7 +384,7 @@ IsNodeAtEnd (
@param FirstEntry A pointer to a node in a linked list.
@param SecondEntry A pointer to another node in the same linked list.
@return SecondEntry
@return SecondEntry after the nodes are swapped
**/
LIST_ENTRY *
@ -411,7 +411,7 @@ SwapListEntries (
Ptr = RemoveEntryList (FirstEntry);
//
// If FirstEntry immediately follows SecondEntry, FirstEntry willl be placed
// If FirstEntry immediately follows SecondEntry, FirstEntry will be placed
// immediately in front of SecondEntry
//
if (Ptr->BackLink == SecondEntry) {
@ -452,7 +452,9 @@ SwapListEntries (
@param Entry A pointer to a node in a linked list
@return Entry
@return The node following Entry in the doubly linked list.
If Entry is the only node in the linked list, then
the head node of the linked list is returned.
**/
LIST_ENTRY *

View File

@ -2,7 +2,7 @@
Leaf math worker functions that require 64-bit arithmetic support from the
compiler.
Copyright (c) 2006, Intel Corporation<BR>
Copyright (c) 2006 - 2008, Intel Corporation<BR>
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
@ -345,10 +345,10 @@ InternalMathDivRemU64x64 (
Divides a 64-bit signed integer by a 64-bit signed integer and
generates a 64-bit signed result and a optional 64-bit signed remainder.
This function divides the 64-bit unsigned value Dividend by the 64-bit
unsigned value Divisor and generates a 64-bit unsigned quotient. If Remainder
is not NULL, then the 64-bit unsigned remainder is returned in Remainder.
This function returns the 64-bit unsigned quotient.
This function divides the 64-bit signed value Dividend by the 64-bit
signed value Divisor and generates a 64-bit signed quotient. If Remainder
is not NULL, then the 64-bit signed remainder is returned in Remainder.
This function returns the 64-bit signed quotient.
@param Dividend A 64-bit signed value.
@param Divisor A 64-bit signed value.

View File

@ -1,7 +1,7 @@
/** @file
Unicode and ASCII string primatives.
Copyright (c) 2006 - 2007, Intel Corporation<BR>
Copyright (c) 2006 - 2008, Intel Corporation<BR>
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
@ -17,6 +17,18 @@
#include "BaseLibInternals.h"
#define QUOTIENT_MAX_UINTN_DIVIDED_BY_10 ((UINTN) -1 / 10)
#define REMAINDER_MAX_UINTN_DIVIDED_BY_10 ((UINTN) -1 % 10)
#define QUOTIENT_MAX_UINTN_DIVIDED_BY_16 ((UINTN) -1 / 16)
#define REMAINDER_MAX_UINTN_DIVIDED_BY_16 ((UINTN) -1 % 16)
#define QUOTIENT_MAX_UINT64_DIVIDED_BY_10 ((UINT64) -1 / 10)
#define REMAINDER_MAX_UINT64_DIVIDED_BY_10 ((UINT64) -1 % 10)
#define QUOTIENT_MAX_UINT64_DIVIDED_BY_16 ((UINT64) -1 / 16)
#define REMAINDER_MAX_UINT64_DIVIDED_BY_16 ((UINT64) -1 % 16)
/**
Copies one Null-terminated Unicode string to another Null-terminated Unicode
string and returns the new Unicode string.
@ -37,7 +49,7 @@
@param Destination Pointer to a Null-terminated Unicode string.
@param Source Pointer to a Null-terminated Unicode string.
@return Destiantion
@return Destination pointing to the copied string.
**/
CHAR16 *
@ -53,7 +65,7 @@ StrCpy (
// Destination cannot be NULL
//
ASSERT (Destination != NULL);
ASSERT (((UINTN) Destination & 0x01) == 0);
ASSERT (((UINTN) Destination & BIT0) == 0);
//
// Destination and source cannot overlap
@ -95,7 +107,7 @@ StrCpy (
@param Source Pointer to a Null-terminated Unicode string.
@param Length Maximum number of Unicode characters to copy.
@return Destination
@return Destination pointing to the copied string.
**/
CHAR16 *
@ -116,11 +128,10 @@ StrnCpy (
// Destination cannot be NULL if Length is not zero
//
ASSERT (Destination != NULL);
ASSERT (((UINTN) Destination & 0x01) == 0);
ASSERT (((UINTN) Destination & BIT0) == 0);
//
// Destination and source cannot overlap
// Q: Does Source have to be NULL-terminated?
//
ASSERT ((UINTN)(Destination - Source) > StrLen (Source));
ASSERT ((UINTN)(Source - Destination) >= Length);
@ -162,7 +173,7 @@ StrLen (
UINTN Length;
ASSERT (String != NULL);
ASSERT (((UINTN) String & 0x01) == 0);
ASSERT (((UINTN) String & BIT0) == 0);
for (Length = 0; *String != L'\0'; String++, Length++) {
//
@ -228,7 +239,8 @@ StrSize (
@param SecondString Pointer to a Null-terminated Unicode string.
@retval 0 FirstString is identical to SecondString.
@return others FirstString is not identical to SecondString.
@return The first mismatched Unicode character in SecondString subtracted
from the first mismatched Unicode character in FirstString.
**/
INTN
@ -278,7 +290,8 @@ StrCmp (
@param Length Maximum number of Unicode characters to compare.
@retval 0 FirstString is identical to SecondString.
@return others FirstString is not identical to SecondString.
@return The value returned is the first mismatched Unicode character in SecondString
subtracted from the first mismatched Unicode character in FirstString.
**/
INTN
@ -338,7 +351,7 @@ StrnCmp (
@param Destination Pointer to a Null-terminated Unicode string.
@param Source Pointer to a Null-terminated Unicode string.
@return Destination
@return Destination pointing to the concatenated Unicode string.
**/
CHAR16 *
@ -392,7 +405,7 @@ StrCat (
@param Length Maximum number of Unicode characters to concatenate from
Source.
@return Destination
@return Destination pointing to the concatenated Unicode string.
**/
CHAR16 *
@ -436,7 +449,7 @@ StrnCat (
@param SearchString Pointer to a Null-terminated Unicode string to search for.
@retval NULL If the SearchString does not appear in String.
@return others If there is a match.
@return Pointer to the matching sub-string.
**/
CHAR16 *
@ -495,7 +508,7 @@ StrStr (
@param Char The character to check against.
@retval TRUE If the Char is a decmial character.
@retval FALSE Otherwise.
@retval FALSE If the Char is not a decmial character.
**/
BOOLEAN
@ -512,7 +525,7 @@ InternalIsDecimalDigitCharacter (
it maps to a valid small-case ASCII character.
This internal function only deal with Unicode character
which maps to a valid small-case ASII character, i.e.
which maps to a valid small-case ASCII character, i.e.
L'a' to L'z'. For other Unicode character, the input character
is returned directly.
@ -546,7 +559,7 @@ InternalCharToUpper (
@param Char The character to convert.
@retval UINTN The numerical value converted.
@return The numerical value converted.
**/
UINTN
@ -573,7 +586,7 @@ InternalHexCharToUintn (
@param Char The character to check against.
@retval TRUE If the Char is a hexadecmial character.
@retval FALSE Otherwise.
@retval FALSE If the Char is not a hexadecmial character.
**/
BOOLEAN
@ -619,7 +632,7 @@ InternalIsHexaDecimalDigitCharacter (
@param String Pointer to a Null-terminated Unicode string.
@retval UINTN
@return The value of type UINTN converted.
**/
UINTN
@ -657,9 +670,9 @@ StrDecimalToUintn (
// If the number represented by String overflows according
// to the range defined by UINTN, then ASSERT().
//
ASSERT ((Result < QUIENT_MAX_UINTN_DIVIDED_BY_10) ||
((QUIENT_MAX_UINTN_DIVIDED_BY_10 == Result) &&
(*String - L'0') <= REMINDER_MAX_UINTN_DIVIDED_BY_10)
ASSERT ((Result < QUOTIENT_MAX_UINTN_DIVIDED_BY_10) ||
((QUOTIENT_MAX_UINTN_DIVIDED_BY_10 == Result) &&
(*String - L'0') <= REMAINDER_MAX_UINTN_DIVIDED_BY_10)
);
Result = Result * 10 + (*String - L'0');
@ -701,7 +714,7 @@ StrDecimalToUintn (
@param String Pointer to a Null-terminated Unicode string.
@retval UINT64
@return The value of type UINT64 converted.
**/
UINT64
@ -739,9 +752,9 @@ StrDecimalToUint64 (
// If the number represented by String overflows according
// to the range defined by UINTN, then ASSERT().
//
ASSERT ((Result < QUIENT_MAX_UINT64_DIVIDED_BY_10) ||
((QUIENT_MAX_UINT64_DIVIDED_BY_10 == Result) &&
(*String - L'0') <= REMINDER_MAX_UINT64_DIVIDED_BY_10)
ASSERT ((Result < QUOTIENT_MAX_UINT64_DIVIDED_BY_10) ||
((QUOTIENT_MAX_UINT64_DIVIDED_BY_10 == Result) &&
(*String - L'0') <= REMAINDER_MAX_UINT64_DIVIDED_BY_10)
);
Result = MultU64x32 (Result, 10) + (*String - L'0');
@ -783,7 +796,7 @@ StrDecimalToUint64 (
@param String Pointer to a Null-terminated Unicode string.
@retval UINTN
@return The value of type UINTN converted.
**/
UINTN
@ -832,9 +845,9 @@ StrHexToUintn (
// If the Hex Number represented by String overflows according
// to the range defined by UINTN, then ASSERT().
//
ASSERT ((Result < QUIENT_MAX_UINTN_DIVIDED_BY_16) ||
((QUIENT_MAX_UINTN_DIVIDED_BY_16 == Result) &&
(InternalHexCharToUintn (*String) <= REMINDER_MAX_UINTN_DIVIDED_BY_16))
ASSERT ((Result < QUOTIENT_MAX_UINTN_DIVIDED_BY_16) ||
((QUOTIENT_MAX_UINTN_DIVIDED_BY_16 == Result) &&
(InternalHexCharToUintn (*String) <= REMAINDER_MAX_UINTN_DIVIDED_BY_16))
);
Result = (Result << 4) + InternalHexCharToUintn (*String);
@ -877,7 +890,7 @@ StrHexToUintn (
@param String Pointer to a Null-terminated Unicode string.
@retval UINT64
@return The value of type UINT64 converted.
**/
UINT64
@ -926,9 +939,9 @@ StrHexToUint64 (
// If the Hex Number represented by String overflows according
// to the range defined by UINTN, then ASSERT().
//
ASSERT ((Result < QUIENT_MAX_UINT64_DIVIDED_BY_16)||
((QUIENT_MAX_UINT64_DIVIDED_BY_16 == Result) &&
(InternalHexCharToUintn (*String) <= REMINDER_MAX_UINT64_DIVIDED_BY_16))
ASSERT ((Result < QUOTIENT_MAX_UINT64_DIVIDED_BY_16)||
((QUOTIENT_MAX_UINT64_DIVIDED_BY_16 == Result) &&
(InternalHexCharToUintn (*String) <= REMAINDER_MAX_UINT64_DIVIDED_BY_16))
);
Result = LShiftU64 (Result, 4);
@ -949,7 +962,7 @@ StrHexToUint64 (
@param Char The character to check against.
@retval TRUE If the Char is a decmial character.
@retval FALSE Otherwise.
@retval FALSE If the Char is not a decmial character.
**/
BOOLEAN
@ -972,7 +985,7 @@ InternalAsciiIsDecimalDigitCharacter (
@param Char The character to check against.
@retval TRUE If the Char is a hexadecmial character.
@retval FALSE Otherwise.
@retval FALSE If the Char is not a hexadecmial character.
**/
BOOLEAN
@ -1017,7 +1030,7 @@ InternalAsciiIsHexaDecimalDigitCharacter (
@param Source Pointer to a Null-terminated Unicode string.
@param Destination Pointer to a Null-terminated ASCII string.
@return Destination
@return Destination pointing to the converted ASCII string.
**/
CHAR8 *
@ -1084,7 +1097,7 @@ UnicodeStrToAsciiStr (
@param Destination Pointer to a Null-terminated ASCII string.
@param Source Pointer to a Null-terminated ASCII string.
@return Destination
@return Destination pointing to the copied string.
**/
CHAR8 *
@ -1138,7 +1151,7 @@ AsciiStrCpy (
@param Source Pointer to a Null-terminated ASCII string.
@param Length Maximum number of ASCII characters to copy.
@return Destination
@return Destination pointing to the copied string.
**/
CHAR8 *
@ -1264,7 +1277,8 @@ AsciiStrSize (
@param SecondString Pointer to a Null-terminated ASCII string.
@retval 0 FirstString is identical to SecondString.
@return others FirstString is not identical to SecondString.
@return The first mismatched ASCII character in SecondString subtracted
from the first mismatched ASCII character in FirstString.
**/
INTN
@ -1289,7 +1303,7 @@ AsciiStrCmp (
}
/**
Converts a lowercase Ascii character to upper one
Converts a lowercase Ascii character to upper one.
If Chr is lowercase Ascii character, then converts it to upper one.
@ -1320,7 +1334,7 @@ AsciiToUpper (
@param Char The character to convert.
@retval UINTN The numerical value converted.
@return The numerical value converted.
**/
UINTN
@ -1362,8 +1376,8 @@ InternalAsciiHexCharToUintn (
@retval 0 FirstString is identical to SecondString using case insensitive
comparisons.
@return others FirstString is not identical to SecondString using case
insensitive comparisons.
@return The first mismatched lower case ASCII character in SecondString subtracted
from the first mismatched lower case ASCII character in FirstString.
**/
INTN
@ -1419,7 +1433,8 @@ AsciiStriCmp (
@param Length Maximum number of ASCII characters to compare.
@retval 0 FirstString is identical to SecondString.
@return others FirstString is not identical to SecondString.
@return The first mismatched ASCII character in SecondString subtracted from the
first mismatched ASCII character in FirstString.
**/
INTN
@ -1474,7 +1489,7 @@ AsciiStrnCmp (
@param Destination Pointer to a Null-terminated ASCII string.
@param Source Pointer to a Null-terminated ASCII string.
@return Destination
@return Destination pointing to the concatenated ASCII string.
**/
CHAR8 *
@ -1525,7 +1540,7 @@ AsciiStrCat (
@param Length Maximum number of ASCII characters to concatenate from
Source.
@return Destination
@return Destination pointing to the concatenated ASCII string.
**/
CHAR8 *
@ -1566,7 +1581,7 @@ AsciiStrnCat (
@param SearchString Pointer to a Null-terminated ASCII string to search for.
@retval NULL If the SearchString does not appear in String.
@return others If there is a match.
@return Pointer to the matching sub-string.
**/
CHAR8 *
@ -1641,7 +1656,7 @@ AsciiStrStr (
@param String Pointer to a Null-terminated ASCII string.
@retval UINTN
@return The value of type UINTN converted.
**/
UINTN
@ -1678,9 +1693,9 @@ AsciiStrDecimalToUintn (
// If the number represented by String overflows according
// to the range defined by UINTN, then ASSERT().
//
ASSERT ((Result < QUIENT_MAX_UINTN_DIVIDED_BY_10) ||
((QUIENT_MAX_UINTN_DIVIDED_BY_10 == Result) &&
(*String - '0') <= REMINDER_MAX_UINTN_DIVIDED_BY_10)
ASSERT ((Result < QUOTIENT_MAX_UINTN_DIVIDED_BY_10) ||
((QUOTIENT_MAX_UINTN_DIVIDED_BY_10 == Result) &&
(*String - '0') <= REMAINDER_MAX_UINTN_DIVIDED_BY_10)
);
Result = Result * 10 + (*String - '0');
@ -1718,7 +1733,7 @@ AsciiStrDecimalToUintn (
@param String Pointer to a Null-terminated ASCII string.
@retval UINT64
@return The value of type UINT64 converted.
**/
UINT64
@ -1755,9 +1770,9 @@ AsciiStrDecimalToUint64 (
// If the number represented by String overflows according
// to the range defined by UINTN, then ASSERT().
//
ASSERT ((Result < QUIENT_MAX_UINT64_DIVIDED_BY_10) ||
((QUIENT_MAX_UINT64_DIVIDED_BY_10 == Result) &&
(*String - '0') <= REMINDER_MAX_UINT64_DIVIDED_BY_10)
ASSERT ((Result < QUOTIENT_MAX_UINT64_DIVIDED_BY_10) ||
((QUOTIENT_MAX_UINT64_DIVIDED_BY_10 == Result) &&
(*String - '0') <= REMAINDER_MAX_UINT64_DIVIDED_BY_10)
);
Result = MultU64x32 (Result, 10) + (*String - '0');
@ -1798,7 +1813,7 @@ AsciiStrDecimalToUint64 (
@param String Pointer to a Null-terminated ASCII string.
@retval UINTN
@return The value of type UINTN converted.
**/
UINTN
@ -1846,9 +1861,9 @@ AsciiStrHexToUintn (
// If the Hex Number represented by String overflows according
// to the range defined by UINTN, then ASSERT().
//
ASSERT ((Result < QUIENT_MAX_UINTN_DIVIDED_BY_16) ||
((QUIENT_MAX_UINTN_DIVIDED_BY_16 == Result) &&
(InternalAsciiHexCharToUintn (*String) <= REMINDER_MAX_UINTN_DIVIDED_BY_16))
ASSERT ((Result < QUOTIENT_MAX_UINTN_DIVIDED_BY_16) ||
((QUOTIENT_MAX_UINTN_DIVIDED_BY_16 == Result) &&
(InternalAsciiHexCharToUintn (*String) <= REMAINDER_MAX_UINTN_DIVIDED_BY_16))
);
Result = (Result << 4) + InternalAsciiHexCharToUintn (*String);
@ -1890,7 +1905,7 @@ AsciiStrHexToUintn (
@param String Pointer to a Null-terminated ASCII string.
@retval UINT64
@return The value of type UINT64 converted.
**/
UINT64
@ -1941,9 +1956,9 @@ AsciiStrHexToUint64 (
// If the Hex Number represented by String overflows according
// to the range defined by UINTN, then ASSERT().
//
ASSERT ((Result < QUIENT_MAX_UINT64_DIVIDED_BY_16) ||
((QUIENT_MAX_UINT64_DIVIDED_BY_16 == Result) &&
(InternalAsciiHexCharToUintn (*String) <= REMINDER_MAX_UINT64_DIVIDED_BY_16))
ASSERT ((Result < QUOTIENT_MAX_UINT64_DIVIDED_BY_16) ||
((QUOTIENT_MAX_UINT64_DIVIDED_BY_16 == Result) &&
(InternalAsciiHexCharToUintn (*String) <= REMAINDER_MAX_UINT64_DIVIDED_BY_16))
);
Result = LShiftU64 (Result, 4);
@ -1979,7 +1994,7 @@ AsciiStrHexToUint64 (
@param Source Pointer to a Null-terminated ASCII string.
@param Destination Pointer to a Null-terminated Unicode string.
@return Destination
@return Destination pointing to the converted Unicode string.
**/
CHAR16 *
@ -2032,7 +2047,7 @@ AsciiStrToUnicodeStr (
@param Value The 8-bit value to convert to BCD. Range 0..99.
@return The BCD value
@return The BCD value converted.
**/
UINT8
@ -2056,7 +2071,7 @@ DecimalToBcd8 (
@param Value The 8-bit BCD value to convert to an 8-bit value.
@return The 8-bit value is returned.
@return The 8-bit decimal value converted.
**/
UINT8
@ -2082,7 +2097,7 @@ BcdToDecimal8 (
@param Nibble The nibble which is in the low 4 bits of the input byte.
@retval CHAR16 The Unicode hexadecimal character.
@return The Unicode hexadecimal character.
**/
CHAR16
@ -2113,14 +2128,13 @@ NibbleToHexChar (
the input buffer for a 64-bits unsigned integrer 0x12345678abcdef1234 will be converted to
a Unicode string equal to L"12345678abcdef1234".
@param String On input, String is pointed to the buffer allocated for the convertion.
@param StringLen The Length of String buffer to hold the output String. The length must include the tailing '\0' character.
The StringLen required to convert a N bytes Buffer will be a least equal to or greater
than 2*N + 1.
@param String Pointer to the buffer allocated for the convertion.
@param StringLen On input: Pointer to length in bytes of buffer to hold the Unicode string.
On output:If return EFI_SUCCESS, pointer to length of Unicode string converted.
If return EFI_BUFFER_TOO_SMALL, pointer to length of string buffer desired.
@param Buffer The pointer to a input buffer.
@param BufferSizeInBytes Lenth in bytes of the input buffer.
@retval EFI_SUCCESS The convertion is successfull. All bytes in Buffer has been convert to the corresponding
Unicode character and placed into the right place in String.
@retval EFI_BUFFER_TOO_SMALL StringSizeInBytes is smaller than 2 * N + 1the number of bytes required to
@ -2275,10 +2289,9 @@ HexStringToBuf (
Unicode character is converted to a byte. For example, Unicode character
L'A' will be converted to 0x0A.
If Digit is NULL, then ASSERT.
If Digit is NULL, then ASSERT().
@param Digit The output hexadecimal digit.
@param Char The input Unicode character.
@retval TRUE Char is in the range of Hexadecimal number. Digit is updated

View File

@ -1,7 +1,7 @@
/** @file
Switch Stack functions.
Copyright (c) 2006 - 2007, Intel Corporation<BR>
Copyright (c) 2006 - 2008, Intel Corporation<BR>
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
@ -39,7 +39,6 @@
function.
@param NewStack A pointer to the new stack to use for the EntryPoint
function.
@param ... Extended parameters.
**/
VOID