);\r
\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Copies one Null-terminated Unicode string to another Null-terminated Unicode\r
- string and returns the new Unicode string.\r
-\r
- This function copies the contents of the Unicode string Source to the Unicode\r
- string Destination, and returns Destination. If Source and Destination\r
- overlap, then the results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength Unicode characters not including the\r
- Null-terminator, then ASSERT().\r
-\r
- @param Destination The pointer to a Null-terminated Unicode string.\r
- @param Source The pointer to a Null-terminated Unicode string.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-StrCpy (\r
- OUT CHAR16 *Destination,\r
- IN CONST CHAR16 *Source\r
- );\r
-\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Copies up to a specified length from one Null-terminated Unicode string to\r
- another Null-terminated Unicode string and returns the new Unicode string.\r
-\r
- This function copies the contents of the Unicode string Source to the Unicode\r
- string Destination, and returns Destination. At most, Length Unicode\r
- characters are copied from Source to Destination. If Length is 0, then\r
- Destination is returned unmodified. If Length is greater that the number of\r
- Unicode characters in Source, then Destination is padded with Null Unicode\r
- characters. If Source and Destination overlap, then the results are\r
- undefined.\r
-\r
- If Length > 0 and Destination is NULL, then ASSERT().\r
- If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Length > 0 and Source is NULL, then ASSERT().\r
- If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Length is greater than\r
- PcdMaximumUnicodeStringLength, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator,\r
- then ASSERT().\r
-\r
- @param Destination The pointer to a Null-terminated Unicode string.\r
- @param Source The pointer to a Null-terminated Unicode string.\r
- @param Length The maximum number of Unicode characters to copy.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-StrnCpy (\r
- OUT CHAR16 *Destination,\r
- IN CONST CHAR16 *Source,\r
- IN UINTN Length\r
- );\r
-#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)\r
-\r
/**\r
Returns the length of a Null-terminated Unicode string.\r
\r
);\r
\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Concatenates one Null-terminated Unicode string to another Null-terminated\r
- Unicode string, and returns the concatenated Unicode string.\r
-\r
- This function concatenates two Null-terminated Unicode strings. The contents\r
- of Null-terminated Unicode string Source are concatenated to the end of\r
- Null-terminated Unicode string Destination. The Null-terminated concatenated\r
- Unicode String is returned. If Source and Destination overlap, then the\r
- results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Destination contains more\r
- than PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination\r
- and Source results in a Unicode string with more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
-\r
- @param Destination The pointer to a Null-terminated Unicode string.\r
- @param Source The pointer to a Null-terminated Unicode string.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-StrCat (\r
- IN OUT CHAR16 *Destination,\r
- IN CONST CHAR16 *Source\r
- );\r
-\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Concatenates up to a specified length one Null-terminated Unicode to the end\r
- of another Null-terminated Unicode string, and returns the concatenated\r
- Unicode string.\r
-\r
- This function concatenates two Null-terminated Unicode strings. The contents\r
- of Null-terminated Unicode string Source are concatenated to the end of\r
- Null-terminated Unicode string Destination, and Destination is returned. At\r
- most, Length Unicode characters are concatenated from Source to the end of\r
- Destination, and Destination is always Null-terminated. If Length is 0, then\r
- Destination is returned unmodified. If Source and Destination overlap, then\r
- the results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Length > 0 and Source is NULL, then ASSERT().\r
- If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Length is greater than\r
- PcdMaximumUnicodeStringLength, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Destination contains more\r
- than PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination\r
- and Source results in a Unicode string with more than PcdMaximumUnicodeStringLength\r
- Unicode characters, not including the Null-terminator, then ASSERT().\r
-\r
- @param Destination The pointer to a Null-terminated Unicode string.\r
- @param Source The pointer to a Null-terminated Unicode string.\r
- @param Length The maximum number of Unicode characters to concatenate from\r
- Source.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-StrnCat (\r
- IN OUT CHAR16 *Destination,\r
- IN CONST CHAR16 *Source,\r
- IN UINTN Length\r
- );\r
-#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)\r
-\r
/**\r
Returns the first occurrence of a Null-terminated Unicode sub-string\r
in a Null-terminated Unicode string.\r
IN UINTN MaxBufferSize\r
);\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Convert a Null-terminated Unicode string to a Null-terminated\r
- ASCII string and returns the ASCII string.\r
-\r
- This function converts the content of the Unicode string Source\r
- to the ASCII string Destination by copying the lower 8 bits of\r
- each Unicode character. It returns Destination.\r
-\r
- The caller is responsible to make sure Destination points to a buffer with size\r
- equal or greater than ((StrLen (Source) + 1) * sizeof (CHAR8)) in bytes.\r
-\r
- If any Unicode characters in Source contain non-zero value in\r
- the upper 8 bits, then ASSERT().\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
-\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains\r
- more than PcdMaximumUnicodeStringLength Unicode characters not including\r
- the Null-terminator, then ASSERT().\r
-\r
- If PcdMaximumAsciiStringLength is not zero, and Source contains more\r
- than PcdMaximumAsciiStringLength Unicode characters not including the\r
- Null-terminator, then ASSERT().\r
-\r
- @param Source The pointer to a Null-terminated Unicode string.\r
- @param Destination The pointer to a Null-terminated ASCII string.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-UnicodeStrToAsciiStr (\r
- IN CONST CHAR16 *Source,\r
- OUT CHAR8 *Destination\r
- );\r
-\r
-#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)\r
\r
/**\r
Convert a Null-terminated Unicode string to a Null-terminated\r
OUT UINTN *DestinationLength\r
);\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Copies one Null-terminated ASCII string to another Null-terminated ASCII\r
- string and returns the new ASCII string.\r
-\r
- This function copies the contents of the ASCII string Source to the ASCII\r
- string Destination, and returns Destination. If Source and Destination\r
- overlap, then the results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,\r
- then ASSERT().\r
-\r
- @param Destination The pointer to a Null-terminated ASCII string.\r
- @param Source The pointer to a Null-terminated ASCII string.\r
-\r
- @return Destination\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-AsciiStrCpy (\r
- OUT CHAR8 *Destination,\r
- IN CONST CHAR8 *Source\r
- );\r
-\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Copies up to a specified length one Null-terminated ASCII string to another\r
- Null-terminated ASCII string and returns the new ASCII string.\r
-\r
- This function copies the contents of the ASCII string Source to the ASCII\r
- string Destination, and returns Destination. At most, Length ASCII characters\r
- are copied from Source to Destination. If Length is 0, then Destination is\r
- returned unmodified. If Length is greater that the number of ASCII characters\r
- in Source, then Destination is padded with Null ASCII characters. If Source\r
- and Destination overlap, then the results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Length is greater than\r
- PcdMaximumAsciiStringLength, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
-\r
- @param Destination The pointer to a Null-terminated ASCII string.\r
- @param Source The pointer to a Null-terminated ASCII string.\r
- @param Length The maximum number of ASCII characters to copy.\r
-\r
- @return Destination\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-AsciiStrnCpy (\r
- OUT CHAR8 *Destination,\r
- IN CONST CHAR8 *Source,\r
- IN UINTN Length\r
- );\r
-#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)\r
\r
/**\r
Returns the length of a Null-terminated ASCII string.\r
);\r
\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Concatenates one Null-terminated ASCII string to another Null-terminated\r
- ASCII string, and returns the concatenated ASCII string.\r
-\r
- This function concatenates two Null-terminated ASCII strings. The contents of\r
- Null-terminated ASCII string Source are concatenated to the end of Null-\r
- terminated ASCII string Destination. The Null-terminated concatenated ASCII\r
- String is returned.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero and Destination contains more than\r
- PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero and concatenating Destination and\r
- Source results in a ASCII string with more than PcdMaximumAsciiStringLength\r
- ASCII characters, then ASSERT().\r
-\r
- @param Destination The pointer to a Null-terminated ASCII string.\r
- @param Source The pointer to a Null-terminated ASCII string.\r
-\r
- @return Destination\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-AsciiStrCat (\r
- IN OUT CHAR8 *Destination,\r
- IN CONST CHAR8 *Source\r
- );\r
-\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Concatenates up to a specified length one Null-terminated ASCII string to\r
- the end of another Null-terminated ASCII string, and returns the\r
- concatenated ASCII string.\r
-\r
- This function concatenates two Null-terminated ASCII strings. The contents\r
- of Null-terminated ASCII string Source are concatenated to the end of Null-\r
- terminated ASCII string Destination, and Destination is returned. At most,\r
- Length ASCII characters are concatenated from Source to the end of\r
- Destination, and Destination is always Null-terminated. If Length is 0, then\r
- Destination is returned unmodified. If Source and Destination overlap, then\r
- the results are undefined.\r
-\r
- If Length > 0 and Destination is NULL, then ASSERT().\r
- If Length > 0 and Source is NULL, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Length is greater than\r
- PcdMaximumAsciiStringLength, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Destination contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and concatenating Destination and\r
- Source results in a ASCII string with more than PcdMaximumAsciiStringLength\r
- ASCII characters, not including the Null-terminator, then ASSERT().\r
-\r
- @param Destination The pointer to a Null-terminated ASCII string.\r
- @param Source The pointer to a Null-terminated ASCII string.\r
- @param Length The maximum number of ASCII characters to concatenate from\r
- Source.\r
-\r
- @return Destination\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-AsciiStrnCat (\r
- IN OUT CHAR8 *Destination,\r
- IN CONST CHAR8 *Source,\r
- IN UINTN Length\r
- );\r
-#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)\r
-\r
/**\r
Returns the first occurrence of a Null-terminated ASCII sub-string\r
in a Null-terminated ASCII string.\r
IN UINTN MaxBufferSize\r
);\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Convert one Null-terminated ASCII string to a Null-terminated\r
- Unicode string and returns the Unicode string.\r
-\r
- This function converts the contents of the ASCII string Source to the Unicode\r
- string Destination, and returns Destination. The function terminates the\r
- Unicode string Destination by appending a Null-terminator character at the end.\r
- The caller is responsible to make sure Destination points to a buffer with size\r
- equal or greater than ((AsciiStrLen (Source) + 1) * sizeof (CHAR16)) in bytes.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength ASCII characters not including the\r
- Null-terminator, then ASSERT().\r
-\r
- @param Source The pointer to a Null-terminated ASCII string.\r
- @param Destination The pointer to a Null-terminated Unicode string.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-AsciiStrToUnicodeStr (\r
- IN CONST CHAR8 *Source,\r
- OUT CHAR16 *Destination\r
- );\r
-\r
-#endif // !defined (DISABLE_NEW_DEPRECATED_INTERFACES)\r
\r
/**\r
Convert one Null-terminated ASCII string to a Null-terminated\r
**/\r
#define PcdGetExSize(Guid, TokenName) LibPcdGetExSize ((Guid), PcdTokenEx(Guid,TokenName))\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-/**\r
- Sets an 8-bit PCD token value based on a token name.\r
-\r
- Sets the 8-bit value for the token specified by TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space, then the module will not build.\r
-\r
- @param TokenName The name of the PCD token to retrieve a current value for.\r
- @param Value The 8-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSet8(TokenName, Value) _PCD_SET_MODE_8_##TokenName ((Value))\r
-\r
-\r
-/**\r
- Sets a 16-bit PCD token value based on a token name.\r
-\r
- Sets the 16-bit value for the token specified by TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space, then the module will not build.\r
-\r
- @param TokenName The name of the PCD token to retrieve a current value for.\r
- @param Value The 16-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSet16(TokenName, Value) _PCD_SET_MODE_16_##TokenName ((Value))\r
-\r
-\r
-/**\r
- Sets a 32-bit PCD token value based on a token name.\r
-\r
- Sets the 32-bit value for the token specified by TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space, then the module will not build.\r
-\r
- @param TokenName The name of the PCD token to retrieve a current value for.\r
- @param Value The 32-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSet32(TokenName, Value) _PCD_SET_MODE_32_##TokenName ((Value))\r
-\r
-\r
-/**\r
- Sets a 64-bit PCD token value based on a token name.\r
-\r
- Sets the 64-bit value for the token specified by TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space, then the module will not build.\r
-\r
- @param TokenName The name of the PCD token to retrieve a current value for.\r
- @param Value The 64-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSet64(TokenName, Value) _PCD_SET_MODE_64_##TokenName ((Value))\r
-\r
-\r
-/**\r
- Sets a pointer to a PCD token buffer based on a token name.\r
-\r
- Sets the buffer for the token specified by TokenName. Buffer is returned.\r
- If SizeOfBuffer is greater than the maximum size supported by TokenName,\r
- then set SizeOfBuffer to the maximum size supported by TokenName and return NULL\r
- to indicate that the set operation was not actually performed. If SizeOfBuffer\r
- is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported\r
- by TokenName and NULL must be returned.\r
- If TokenName is not a valid token in the token space, then the module will not build.\r
-\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param TokenName The name of the PCD token to set the current value for.\r
- @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.\r
- @param Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pointer to the Buffer that was set.\r
-\r
-**/\r
-#define PcdSetPtr(TokenName, SizeOfBuffer, Buffer) \\r
- _PCD_SET_MODE_PTR_##TokenName ((SizeOfBuffer), (Buffer))\r
-\r
-/**\r
- Sets a Boolean PCD token value based on a token name.\r
-\r
- Sets the Boolean value for the token specified by TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space, then the module will not build.\r
-\r
- @param TokenName The name of the PCD token to set the current value for.\r
- @param Buffer The Boolean value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSetBool(TokenName, Value) _PCD_SET_MODE_BOOL_##TokenName ((Value))\r
-#endif\r
-\r
/**\r
Sets a 8-bit PCD token value based on a token name.\r
\r
\r
\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-/**\r
- Sets an 8-bit PCD token value based on a GUID and a token name.\r
-\r
- Sets the 8-bit value for the token specified by Guid and TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space specified by Guid,\r
- then the module will not build.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param Guid Pointer to a 128-bit unique value that designates\r
- which namespace to retrieve a value from.\r
- @param TokenName The name of the PCD token to set the current value for.\r
- @param Value The 8-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSetEx8(Guid, TokenName, Value) LibPcdSetEx8 ((Guid), PcdTokenEx(Guid,TokenName), (Value))\r
-\r
-\r
-/**\r
- Sets a 16-bit PCD token value based on a GUID and a token name.\r
-\r
- Sets the 16-bit value for the token specified by Guid and TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space specified by Guid,\r
- then the module will not build.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param Guid Pointer to a 128-bit unique value that designates\r
- which namespace to retrieve a value from.\r
- @param TokenName The name of the PCD token to set the current value for.\r
- @param Value The 16-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSetEx16(Guid, TokenName, Value) LibPcdSetEx16 ((Guid), PcdTokenEx(Guid,TokenName), (Value))\r
-\r
-\r
-/**\r
- Sets a 32-bit PCD token value based on a GUID and a token name.\r
-\r
- Sets the 32-bit value for the token specified by Guid and TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space specified by Guid,\r
- then the module will not build.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param Guid Pointer to a 128-bit unique value that designates\r
- which namespace to retrieve a value from.\r
- @param TokenName The name of the PCD token to set the current value for.\r
- @param Value The 32-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSetEx32(Guid, TokenName, Value) LibPcdSetEx32 ((Guid), PcdTokenEx(Guid,TokenName), (Value))\r
-\r
-\r
-/**\r
- Sets a 64-bit PCD token value based on a GUID and a token name.\r
-\r
- Sets the 64-bit value for the token specified by Guid and TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space specified by Guid,\r
- then the module will not build.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param Guid Pointer to a 128-bit unique value that designates\r
- which namespace to retrieve a value from.\r
- @param TokenName The name of the PCD token to set the current value for.\r
- @param Value The 64-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSetEx64(Guid, TokenName, Value) LibPcdSetEx64 ((Guid), PcdTokenEx(Guid,TokenName), (Value))\r
-\r
-\r
-/**\r
- Sets a pointer to a PCD token buffer based on a GUID and a token name.\r
-\r
- Sets the buffer for the token specified by Guid and TokenName. Buffer is returned.\r
- If SizeOfBuffer is greater than the maximum size supported by Guid and TokenName,\r
- then set SizeOfBuffer to the maximum size supported by Guid and TokenName and return\r
- NULL to indicate that the set operation was not actually performed. If SizeOfBuffer\r
- is set to MAX_ADDRESS, then SizeOfBuffer must be set to the maximum size supported by\r
- Guid and TokenName and NULL must be returned.\r
- If TokenName is not a valid token in the token space specified by Guid,\r
- then the module will not build.\r
-\r
- If Guid is NULL, then ASSERT().\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param Guid Pointer to a 128-bit unique value that designates\r
- which namespace to retrieve a value from.\r
- @param TokenName The name of the PCD token to set the current value for.\r
- @param SizeOfBuffer A pointer to the size, in bytes, of Buffer.\r
- @param Buffer Pointer to the buffer to set.\r
-\r
- @return Return the pointer to the Buffer that was set.\r
-\r
-**/\r
-#define PcdSetExPtr(Guid, TokenName, SizeOfBuffer, Buffer) \\r
- LibPcdSetExPtr ((Guid), PcdTokenEx(Guid,TokenName), (SizeOfBuffer), (Buffer))\r
-\r
-\r
-/**\r
- Sets a Boolean PCD token value based on a GUID and a token name.\r
-\r
- Sets the Boolean value for the token specified by Guid and TokenName. Value is returned.\r
- If TokenName is not a valid token in the token space specified by Guid,\r
- then the module will not build.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param Guid Pointer to a 128-bit unique value that designates\r
- which namespace to retrieve a value from.\r
- @param TokenName The name of the PCD token to set the current value for.\r
- @param Value The Boolean value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-#define PcdSetExBool(Guid, TokenName, Value) \\r
- LibPcdSetExBool((Guid), PcdTokenEx(Guid,TokenName), (Value))\r
-#endif\r
-\r
/**\r
Sets an 8-bit PCD token value based on a GUID and a token name.\r
\r
);\r
\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 8-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 8-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-LibPcdSet8 (\r
- IN UINTN TokenNumber,\r
- IN UINT8 Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 16-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 16-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-LibPcdSet16 (\r
- IN UINTN TokenNumber,\r
- IN UINT16 Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 32-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 32-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-LibPcdSet32 (\r
- IN UINTN TokenNumber,\r
- IN UINT32 Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 64-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 64-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-LibPcdSet64 (\r
- IN UINTN TokenNumber,\r
- IN UINT64 Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets a buffer for the token specified by TokenNumber to the value\r
- specified by Buffer and SizeOfBuffer. Buffer is returned.\r
- If SizeOfBuffer is greater than the maximum size support by TokenNumber,\r
- then set SizeOfBuffer to the maximum size supported by TokenNumber and\r
- return NULL to indicate that the set operation was not actually performed.\r
-\r
- If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the\r
- maximum size supported by TokenName and NULL must be returned.\r
-\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
- @param[in] Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pointer for the Buffer that was set.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-LibPcdSetPtr (\r
- IN UINTN TokenNumber,\r
- IN OUT UINTN *SizeOfBuffer,\r
- IN CONST VOID *Buffer\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the Boolean value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The boolean value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LibPcdSetBool (\r
- IN UINTN TokenNumber,\r
- IN BOOLEAN Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 8-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid Pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 8-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-LibPcdSetEx8 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT8 Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 16-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid Pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 16-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-LibPcdSetEx16 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT16 Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 32-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid Pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 32-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-LibPcdSetEx32 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT32 Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 64-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid Pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 64-bit value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-LibPcdSetEx64 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT64 Value\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets a buffer for the token specified by TokenNumber to the value specified by\r
- Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than\r
- the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size\r
- supported by TokenNumber and return NULL to indicate that the set operation\r
- was not actually performed.\r
-\r
- If Guid is NULL, then ASSERT().\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param[in] Guid Pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
- @param[in] Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pointer to the Buffer that was set.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-LibPcdSetExPtr (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN OUT UINTN *SizeOfBuffer,\r
- IN VOID *Buffer\r
- );\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the Boolean value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid Pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The Boolean value to set.\r
-\r
- @return Return the Value that was set.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LibPcdSetExBool (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN BOOLEAN Value\r
- );\r
-#endif\r
-\r
/**\r
This function provides a means by which to set a value for a given PCD token.\r
\r
...\r
);\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Converts a decimal value to a Null-terminated Unicode string.\r
-\r
- Converts the decimal number specified by Value to a Null-terminated Unicode\r
- string specified by Buffer containing at most Width characters. No padding of spaces\r
- is ever performed. If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.\r
- The number of Unicode characters in Buffer is returned, not including the Null-terminator.\r
- If the conversion contains more than Width characters, then only the first\r
- Width characters are returned, and the total number of characters\r
- required to perform the conversion is returned.\r
- Additional conversion parameters are specified in Flags.\r
-\r
- The Flags bit LEFT_JUSTIFY is always ignored.\r
- All conversions are left justified in Buffer.\r
- If Width is 0, PREFIX_ZERO is ignored in Flags.\r
- If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas\r
- are inserted every 3rd digit starting from the right.\r
- If RADIX_HEX is set in Flags, then the output buffer will be\r
- formatted in hexadecimal format.\r
- If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.\r
- If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,\r
- then Buffer is padded with '0' characters so the combination of the optional '-'\r
- sign character, '0' characters, digit characters for Value, and the Null-terminator\r
- add up to Width characters.\r
- If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().\r
- If Buffer is NULL, then ASSERT().\r
- If Buffer is not aligned on a 16-bit boundary, then ASSERT().\r
- If unsupported bits are set in Flags, then ASSERT().\r
- If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().\r
- If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()\r
-\r
- @param Buffer The pointer to the output buffer for the produced Null-terminated\r
- Unicode string.\r
- @param Flags The bitmask of flags that specify left justification, zero pad, and commas.\r
- @param Value The 64-bit signed value to convert to a string.\r
- @param Width The maximum number of Unicode characters to place in Buffer, not including\r
- the Null-terminator.\r
-\r
- @return The number of Unicode characters in Buffer, not including the Null-terminator.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-UnicodeValueToString (\r
- IN OUT CHAR16 *Buffer,\r
- IN UINTN Flags,\r
- IN INT64 Value,\r
- IN UINTN Width\r
- );\r
-\r
-#endif\r
-\r
/**\r
Converts a decimal value to a Null-terminated Unicode string.\r
\r
...\r
);\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Converts a decimal value to a Null-terminated ASCII string.\r
-\r
- Converts the decimal number specified by Value to a Null-terminated ASCII string\r
- specified by Buffer containing at most Width characters. No padding of spaces\r
- is ever performed.\r
- If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.\r
- The number of ASCII characters in Buffer is returned, not including the Null-terminator.\r
- If the conversion contains more than Width characters, then only the first Width\r
- characters are returned, and the total number of characters required to perform\r
- the conversion is returned.\r
- Additional conversion parameters are specified in Flags.\r
- The Flags bit LEFT_JUSTIFY is always ignored.\r
- All conversions are left justified in Buffer.\r
- If Width is 0, PREFIX_ZERO is ignored in Flags.\r
- If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas\r
- are inserted every 3rd digit starting from the right.\r
- If RADIX_HEX is set in Flags, then the output buffer will be\r
- formatted in hexadecimal format.\r
- If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.\r
- If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,\r
- then Buffer is padded with '0' characters so the combination of the optional '-'\r
- sign character, '0' characters, digit characters for Value, and the Null-terminator\r
- add up to Width characters.\r
-\r
- If Buffer is NULL, then ASSERT().\r
- If unsupported bits are set in Flags, then ASSERT().\r
- If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().\r
- If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()\r
-\r
- @param Buffer A pointer to the output buffer for the produced Null-terminated\r
- ASCII string.\r
- @param Flags The bitmask of flags that specify left justification, zero pad, and commas.\r
- @param Value The 64-bit signed value to convert to a string.\r
- @param Width The maximum number of ASCII characters to place in Buffer, not including\r
- the Null-terminator.\r
-\r
- @return The number of ASCII characters in Buffer, not including the Null-terminator.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-AsciiValueToString (\r
- OUT CHAR8 *Buffer,\r
- IN UINTN Flags,\r
- IN INT64 Value,\r
- IN UINTN Width\r
- );\r
-\r
-#endif\r
\r
/**\r
Converts a decimal value to a Null-terminated Ascii string.\r
IN EFI_UNICODE_STRING_TABLE *UnicodeStringTable\r
);\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Returns a pointer to an allocated buffer that contains the contents of a\r
- variable retrieved through the UEFI Runtime Service GetVariable(). The\r
- returned buffer is allocated using AllocatePool(). The caller is responsible\r
- for freeing this buffer with FreePool().\r
-\r
- If Name is NULL, then ASSERT().\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Name The pointer to a Null-terminated Unicode string.\r
- @param[in] Guid The pointer to an EFI_GUID structure.\r
-\r
- @retval NULL The variable could not be retrieved.\r
- @retval NULL There are not enough resources available for the variable contents.\r
- @retval Other A pointer to allocated buffer containing the variable contents.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetVariable (\r
- IN CONST CHAR16 *Name,\r
- IN CONST EFI_GUID *Guid\r
- );\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Returns a pointer to an allocated buffer that contains the contents of a\r
- variable retrieved through the UEFI Runtime Service GetVariable(). This\r
- function always uses the EFI_GLOBAL_VARIABLE GUID to retrieve variables.\r
- The returned buffer is allocated using AllocatePool(). The caller is\r
- responsible for freeing this buffer with FreePool().\r
-\r
- If Name is NULL, then ASSERT().\r
-\r
- @param[in] Name The pointer to a Null-terminated Unicode string.\r
-\r
- @retval NULL The variable could not be retrieved.\r
- @retval NULL There are not enough resources available for the variable contents.\r
- @retval Other A pointer to allocated buffer containing the variable contents.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetEfiGlobalVariable (\r
- IN CONST CHAR16 *Name\r
- );\r
-#endif\r
-\r
\r
/**\r
Returns the status whether get the variable success. The function retrieves\r
\r
#include "BaseLibInternals.h"\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Copies one Null-terminated Unicode string to another Null-terminated Unicode\r
- string and returns the new Unicode string.\r
-\r
- This function copies the contents of the Unicode string Source to the Unicode\r
- string Destination, and returns Destination. If Source and Destination\r
- overlap, then the results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
-\r
- @param Destination A pointer to a Null-terminated Unicode string.\r
- @param Source A pointer to a Null-terminated Unicode string.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-StrCpy (\r
- OUT CHAR16 *Destination,\r
- IN CONST CHAR16 *Source\r
- )\r
-{\r
- CHAR16 *ReturnValue;\r
-\r
- //\r
- // Destination cannot be NULL\r
- //\r
- ASSERT (Destination != NULL);\r
- ASSERT (((UINTN) Destination & BIT0) == 0);\r
-\r
- //\r
- // Destination and source cannot overlap\r
- //\r
- ASSERT ((UINTN)(Destination - Source) > StrLen (Source));\r
- ASSERT ((UINTN)(Source - Destination) > StrLen (Source));\r
-\r
- ReturnValue = Destination;\r
- while (*Source != 0) {\r
- *(Destination++) = *(Source++);\r
- }\r
- *Destination = 0;\r
- return ReturnValue;\r
-}\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Copies up to a specified length from one Null-terminated Unicode string to\r
- another Null-terminated Unicode string and returns the new Unicode string.\r
-\r
- This function copies the contents of the Unicode string Source to the Unicode\r
- string Destination, and returns Destination. At most, Length Unicode\r
- characters are copied from Source to Destination. If Length is 0, then\r
- Destination is returned unmodified. If Length is greater that the number of\r
- Unicode characters in Source, then Destination is padded with Null Unicode\r
- characters. If Source and Destination overlap, then the results are\r
- undefined.\r
-\r
- If Length > 0 and Destination is NULL, then ASSERT().\r
- If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Length > 0 and Source is NULL, then ASSERT().\r
- If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Length is greater than\r
- PcdMaximumUnicodeStringLength, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the Null-terminator,\r
- then ASSERT().\r
-\r
- @param Destination A pointer to a Null-terminated Unicode string.\r
- @param Source A pointer to a Null-terminated Unicode string.\r
- @param Length The maximum number of Unicode characters to copy.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-StrnCpy (\r
- OUT CHAR16 *Destination,\r
- IN CONST CHAR16 *Source,\r
- IN UINTN Length\r
- )\r
-{\r
- CHAR16 *ReturnValue;\r
-\r
- if (Length == 0) {\r
- return Destination;\r
- }\r
-\r
- //\r
- // Destination cannot be NULL if Length is not zero\r
- //\r
- ASSERT (Destination != NULL);\r
- ASSERT (((UINTN) Destination & BIT0) == 0);\r
-\r
- //\r
- // Destination and source cannot overlap\r
- //\r
- ASSERT ((UINTN)(Destination - Source) > StrLen (Source));\r
- ASSERT ((UINTN)(Source - Destination) >= Length);\r
-\r
- if (PcdGet32 (PcdMaximumUnicodeStringLength) != 0) {\r
- ASSERT (Length <= PcdGet32 (PcdMaximumUnicodeStringLength));\r
- }\r
-\r
- ReturnValue = Destination;\r
-\r
- while ((*Source != L'\0') && (Length > 0)) {\r
- *(Destination++) = *(Source++);\r
- Length--;\r
- }\r
-\r
- ZeroMem (Destination, Length * sizeof (*Destination));\r
- return ReturnValue;\r
-}\r
-#endif\r
\r
/**\r
Returns the length of a Null-terminated Unicode string.\r
return *FirstString - *SecondString;\r
}\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Concatenates one Null-terminated Unicode string to another Null-terminated\r
- Unicode string, and returns the concatenated Unicode string.\r
-\r
- This function concatenates two Null-terminated Unicode strings. The contents\r
- of Null-terminated Unicode string Source are concatenated to the end of\r
- Null-terminated Unicode string Destination. The Null-terminated concatenated\r
- Unicode String is returned. If Source and Destination overlap, then the\r
- results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Destination contains more\r
- than PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination\r
- and Source results in a Unicode string with more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
-\r
- @param Destination A pointer to a Null-terminated Unicode string.\r
- @param Source A pointer to a Null-terminated Unicode string.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-StrCat (\r
- IN OUT CHAR16 *Destination,\r
- IN CONST CHAR16 *Source\r
- )\r
-{\r
- StrCpy (Destination + StrLen (Destination), Source);\r
-\r
- //\r
- // Size of the resulting string should never be zero.\r
- // PcdMaximumUnicodeStringLength is tested inside StrLen().\r
- //\r
- ASSERT (StrSize (Destination) != 0);\r
- return Destination;\r
-}\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Concatenates up to a specified length one Null-terminated Unicode to the end\r
- of another Null-terminated Unicode string, and returns the concatenated\r
- Unicode string.\r
-\r
- This function concatenates two Null-terminated Unicode strings. The contents\r
- of Null-terminated Unicode string Source are concatenated to the end of\r
- Null-terminated Unicode string Destination, and Destination is returned. At\r
- most, Length Unicode characters are concatenated from Source to the end of\r
- Destination, and Destination is always Null-terminated. If Length is 0, then\r
- Destination is returned unmodified. If Source and Destination overlap, then\r
- the results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Length > 0 and Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Length > 0 and Source is NULL, then ASSERT().\r
- If Length > 0 and Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Length is greater than\r
- PcdMaximumUnicodeStringLength, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Destination contains more\r
- than PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and concatenating Destination\r
- and Source results in a Unicode string with more than PcdMaximumUnicodeStringLength\r
- Unicode characters, not including the Null-terminator, then ASSERT().\r
-\r
- @param Destination A pointer to a Null-terminated Unicode string.\r
- @param Source A pointer to a Null-terminated Unicode string.\r
- @param Length The maximum number of Unicode characters to concatenate from\r
- Source.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-StrnCat (\r
- IN OUT CHAR16 *Destination,\r
- IN CONST CHAR16 *Source,\r
- IN UINTN Length\r
- )\r
-{\r
- UINTN DestinationLen;\r
-\r
- DestinationLen = StrLen (Destination);\r
- StrnCpy (Destination + DestinationLen, Source, Length);\r
- Destination[DestinationLen + Length] = L'\0';\r
-\r
- //\r
- // Size of the resulting string should never be zero.\r
- // PcdMaximumUnicodeStringLength is tested inside StrLen().\r
- //\r
- ASSERT (StrSize (Destination) != 0);\r
- return Destination;\r
-}\r
-#endif\r
\r
/**\r
Returns the first occurrence of a Null-terminated Unicode sub-string\r
(Char >= 'a' && Char <= 'f'));\r
}\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Convert a Null-terminated Unicode string to a Null-terminated\r
- ASCII string and returns the ASCII string.\r
-\r
- This function converts the content of the Unicode string Source\r
- to the ASCII string Destination by copying the lower 8 bits of\r
- each Unicode character. It returns Destination.\r
-\r
- The caller is responsible to make sure Destination points to a buffer with size\r
- equal or greater than ((StrLen (Source) + 1) * sizeof (CHAR8)) in bytes.\r
-\r
- If any Unicode characters in Source contain non-zero value in\r
- the upper 8 bits, then ASSERT().\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
-\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains\r
- more than PcdMaximumUnicodeStringLength Unicode characters, not including\r
- the Null-terminator, then ASSERT().\r
-\r
- If PcdMaximumAsciiStringLength is not zero, and Source contains more\r
- than PcdMaximumAsciiStringLength Unicode characters, not including the\r
- Null-terminator, then ASSERT().\r
-\r
- @param Source A pointer to a Null-terminated Unicode string.\r
- @param Destination A pointer to a Null-terminated ASCII string.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-UnicodeStrToAsciiStr (\r
- IN CONST CHAR16 *Source,\r
- OUT CHAR8 *Destination\r
- )\r
-{\r
- CHAR8 *ReturnValue;\r
-\r
- ASSERT (Destination != NULL);\r
-\r
- //\r
- // ASSERT if Source is long than PcdMaximumUnicodeStringLength.\r
- // Length tests are performed inside StrLen().\r
- //\r
- ASSERT (StrSize (Source) != 0);\r
-\r
- //\r
- // Source and Destination should not overlap\r
- //\r
- ASSERT ((UINTN) (Destination - (CHAR8 *) Source) >= StrSize (Source));\r
- ASSERT ((UINTN) ((CHAR8 *) Source - Destination) > StrLen (Source));\r
-\r
-\r
- ReturnValue = Destination;\r
- while (*Source != '\0') {\r
- //\r
- // If any Unicode characters in Source contain\r
- // non-zero value in the upper 8 bits, then ASSERT().\r
- //\r
- ASSERT (*Source < 0x100);\r
- *(Destination++) = (CHAR8) *(Source++);\r
- }\r
-\r
- *Destination = '\0';\r
-\r
- //\r
- // ASSERT Original Destination is less long than PcdMaximumAsciiStringLength.\r
- // Length tests are performed inside AsciiStrLen().\r
- //\r
- ASSERT (AsciiStrSize (ReturnValue) != 0);\r
-\r
- return ReturnValue;\r
-}\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Copies one Null-terminated ASCII string to another Null-terminated ASCII\r
- string and returns the new ASCII string.\r
-\r
- This function copies the contents of the ASCII string Source to the ASCII\r
- string Destination, and returns Destination. If Source and Destination\r
- overlap, then the results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
-\r
- @param Destination A pointer to a Null-terminated ASCII string.\r
- @param Source A pointer to a Null-terminated ASCII string.\r
-\r
- @return Destination\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-AsciiStrCpy (\r
- OUT CHAR8 *Destination,\r
- IN CONST CHAR8 *Source\r
- )\r
-{\r
- CHAR8 *ReturnValue;\r
-\r
- //\r
- // Destination cannot be NULL\r
- //\r
- ASSERT (Destination != NULL);\r
-\r
- //\r
- // Destination and source cannot overlap\r
- //\r
- ASSERT ((UINTN)(Destination - Source) > AsciiStrLen (Source));\r
- ASSERT ((UINTN)(Source - Destination) > AsciiStrLen (Source));\r
-\r
- ReturnValue = Destination;\r
- while (*Source != 0) {\r
- *(Destination++) = *(Source++);\r
- }\r
- *Destination = 0;\r
- return ReturnValue;\r
-}\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Copies up to a specified length one Null-terminated ASCII string to another\r
- Null-terminated ASCII string and returns the new ASCII string.\r
-\r
- This function copies the contents of the ASCII string Source to the ASCII\r
- string Destination, and returns Destination. At most, Length ASCII characters\r
- are copied from Source to Destination. If Length is 0, then Destination is\r
- returned unmodified. If Length is greater that the number of ASCII characters\r
- in Source, then Destination is padded with Null ASCII characters. If Source\r
- and Destination overlap, then the results are undefined.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Length is greater than\r
- PcdMaximumAsciiStringLength, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
-\r
- @param Destination A pointer to a Null-terminated ASCII string.\r
- @param Source A pointer to a Null-terminated ASCII string.\r
- @param Length The maximum number of ASCII characters to copy.\r
-\r
- @return Destination\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-AsciiStrnCpy (\r
- OUT CHAR8 *Destination,\r
- IN CONST CHAR8 *Source,\r
- IN UINTN Length\r
- )\r
-{\r
- CHAR8 *ReturnValue;\r
-\r
- if (Length == 0) {\r
- return Destination;\r
- }\r
-\r
- //\r
- // Destination cannot be NULL\r
- //\r
- ASSERT (Destination != NULL);\r
-\r
- //\r
- // Destination and source cannot overlap\r
- //\r
- ASSERT ((UINTN)(Destination - Source) > AsciiStrLen (Source));\r
- ASSERT ((UINTN)(Source - Destination) >= Length);\r
-\r
- if (PcdGet32 (PcdMaximumAsciiStringLength) != 0) {\r
- ASSERT (Length <= PcdGet32 (PcdMaximumAsciiStringLength));\r
- }\r
-\r
- ReturnValue = Destination;\r
-\r
- while (*Source != 0 && Length > 0) {\r
- *(Destination++) = *(Source++);\r
- Length--;\r
- }\r
-\r
- ZeroMem (Destination, Length * sizeof (*Destination));\r
- return ReturnValue;\r
-}\r
-#endif\r
\r
/**\r
Returns the length of a Null-terminated ASCII string.\r
return *FirstString - *SecondString;\r
}\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Concatenates one Null-terminated ASCII string to another Null-terminated\r
- ASCII string, and returns the concatenated ASCII string.\r
-\r
- This function concatenates two Null-terminated ASCII strings. The contents of\r
- Null-terminated ASCII string Source are concatenated to the end of Null-\r
- terminated ASCII string Destination. The Null-terminated concatenated ASCII\r
- String is returned.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero and Destination contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero and concatenating Destination and\r
- Source results in a ASCII string with more than PcdMaximumAsciiStringLength\r
- ASCII characters, then ASSERT().\r
-\r
- @param Destination A pointer to a Null-terminated ASCII string.\r
- @param Source A pointer to a Null-terminated ASCII string.\r
-\r
- @return Destination\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-AsciiStrCat (\r
- IN OUT CHAR8 *Destination,\r
- IN CONST CHAR8 *Source\r
- )\r
-{\r
- AsciiStrCpy (Destination + AsciiStrLen (Destination), Source);\r
-\r
- //\r
- // Size of the resulting string should never be zero.\r
- // PcdMaximumUnicodeStringLength is tested inside StrLen().\r
- //\r
- ASSERT (AsciiStrSize (Destination) != 0);\r
- return Destination;\r
-}\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Concatenates up to a specified length one Null-terminated ASCII string to\r
- the end of another Null-terminated ASCII string, and returns the\r
- concatenated ASCII string.\r
-\r
- This function concatenates two Null-terminated ASCII strings. The contents\r
- of Null-terminated ASCII string Source are concatenated to the end of Null-\r
- terminated ASCII string Destination, and Destination is returned. At most,\r
- Length ASCII characters are concatenated from Source to the end of\r
- Destination, and Destination is always Null-terminated. If Length is 0, then\r
- Destination is returned unmodified. If Source and Destination overlap, then\r
- the results are undefined.\r
-\r
- If Length > 0 and Destination is NULL, then ASSERT().\r
- If Length > 0 and Source is NULL, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Length is greater than\r
- PcdMaximumAsciiStringLength, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Destination contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters, not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and concatenating Destination and\r
- Source results in a ASCII string with more than PcdMaximumAsciiStringLength\r
- ASCII characters, not including the Null-terminator, then ASSERT().\r
-\r
- @param Destination A pointer to a Null-terminated ASCII string.\r
- @param Source A pointer to a Null-terminated ASCII string.\r
- @param Length The maximum number of ASCII characters to concatenate from\r
- Source.\r
-\r
- @return Destination\r
-\r
-**/\r
-CHAR8 *\r
-EFIAPI\r
-AsciiStrnCat (\r
- IN OUT CHAR8 *Destination,\r
- IN CONST CHAR8 *Source,\r
- IN UINTN Length\r
- )\r
-{\r
- UINTN DestinationLen;\r
-\r
- DestinationLen = AsciiStrLen (Destination);\r
- AsciiStrnCpy (Destination + DestinationLen, Source, Length);\r
- Destination[DestinationLen + Length] = '\0';\r
-\r
- //\r
- // Size of the resulting string should never be zero.\r
- // PcdMaximumUnicodeStringLength is tested inside StrLen().\r
- //\r
- ASSERT (AsciiStrSize (Destination) != 0);\r
- return Destination;\r
-}\r
-#endif\r
\r
/**\r
Returns the first occurrence of a Null-terminated ASCII sub-string\r
return Result;\r
}\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Convert one Null-terminated ASCII string to a Null-terminated\r
- Unicode string and returns the Unicode string.\r
-\r
- This function converts the contents of the ASCII string Source to the Unicode\r
- string Destination, and returns Destination. The function terminates the\r
- Unicode string Destination by appending a Null-terminator character at the end.\r
- The caller is responsible to make sure Destination points to a buffer with size\r
- equal or greater than ((AsciiStrLen (Source) + 1) * sizeof (CHAR16)) in bytes.\r
-\r
- If Destination is NULL, then ASSERT().\r
- If Destination is not aligned on a 16-bit boundary, then ASSERT().\r
- If Source is NULL, then ASSERT().\r
- If Source and Destination overlap, then ASSERT().\r
- If PcdMaximumAsciiStringLength is not zero, and Source contains more than\r
- PcdMaximumAsciiStringLength ASCII characters not including the Null-terminator,\r
- then ASSERT().\r
- If PcdMaximumUnicodeStringLength is not zero, and Source contains more than\r
- PcdMaximumUnicodeStringLength ASCII characters not including the\r
- Null-terminator, then ASSERT().\r
-\r
- @param Source A pointer to a Null-terminated ASCII string.\r
- @param Destination A pointer to a Null-terminated Unicode string.\r
-\r
- @return Destination.\r
-\r
-**/\r
-CHAR16 *\r
-EFIAPI\r
-AsciiStrToUnicodeStr (\r
- IN CONST CHAR8 *Source,\r
- OUT CHAR16 *Destination\r
- )\r
-{\r
- CHAR16 *ReturnValue;\r
-\r
- ASSERT (Destination != NULL);\r
-\r
- //\r
- // ASSERT Source is less long than PcdMaximumAsciiStringLength\r
- //\r
- ASSERT (AsciiStrSize (Source) != 0);\r
-\r
- //\r
- // Source and Destination should not overlap\r
- //\r
- ASSERT ((UINTN) ((CHAR8 *) Destination - Source) > AsciiStrLen (Source));\r
- ASSERT ((UINTN) (Source - (CHAR8 *) Destination) >= (AsciiStrSize (Source) * sizeof (CHAR16)));\r
-\r
-\r
- ReturnValue = Destination;\r
- while (*Source != '\0') {\r
- *(Destination++) = (CHAR16)(UINT8) *(Source++);\r
- }\r
- //\r
- // End the Destination with a NULL.\r
- //\r
- *Destination = '\0';\r
-\r
- //\r
- // ASSERT Original Destination is less long than PcdMaximumUnicodeStringLength\r
- //\r
- ASSERT (StrSize (ReturnValue) != 0);\r
-\r
- return ReturnValue;\r
-}\r
-\r
-#endif\r
\r
STATIC CHAR8 EncodingTable[] = "ABCDEFGHIJKLMNOPQRSTUVWXYZ"\r
"abcdefghijklmnopqrstuvwxyz"\r
}\r
\r
\r
-\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 8-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 8-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-LibPcdSet8 (\r
- IN UINTN TokenNumber,\r
- IN UINT8 Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return 0;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 16-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 16-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-LibPcdSet16 (\r
- IN UINTN TokenNumber,\r
- IN UINT16 Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return 0;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 32-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 32-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-LibPcdSet32 (\r
- IN UINTN TokenNumber,\r
- IN UINT32 Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return 0;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 64-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 64-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-LibPcdSet64 (\r
- IN UINTN TokenNumber,\r
- IN UINT64 Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return 0;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets a buffer for the token specified by TokenNumber to the value\r
- specified by Buffer and SizeOfBuffer. Buffer is returned.\r
- If SizeOfBuffer is greater than the maximum size support by TokenNumber,\r
- then set SizeOfBuffer to the maximum size supported by TokenNumber and\r
- return NULL to indicate that the set operation was not actually performed.\r
-\r
- If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the\r
- maximum size supported by TokenName and NULL must be returned.\r
-\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
- @param[in] Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pointer for the buffer been set.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-LibPcdSetPtr (\r
- IN UINTN TokenNumber,\r
- IN OUT UINTN *SizeOfBuffer,\r
- IN CONST VOID *Buffer\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return NULL;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the Boolean value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The boolean value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LibPcdSetBool (\r
- IN UINTN TokenNumber,\r
- IN BOOLEAN Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return FALSE;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 8-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 8-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-LibPcdSetEx8 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT8 Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return 0;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 16-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 16-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-LibPcdSetEx16 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT16 Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return 0;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 32-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 32-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-LibPcdSetEx32 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT32 Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return 0;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 64-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 64-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-LibPcdSetEx64 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT64 Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return 0;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets a buffer for the token specified by TokenNumber to the value specified by\r
- Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than\r
- the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size\r
- supported by TokenNumber and return NULL to indicate that the set operation\r
- was not actually performed.\r
-\r
- If Guid is NULL, then ASSERT().\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
- @param[in] Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pinter to the buffer been set.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-LibPcdSetExPtr (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN OUT UINTN *SizeOfBuffer,\r
- IN VOID *Buffer\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return NULL;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the Boolean value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The Boolean value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LibPcdSetExBool (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN BOOLEAN Value\r
- )\r
-{\r
- ASSERT (FALSE);\r
-\r
- return FALSE;\r
-}\r
-#endif\r
-\r
/**\r
This function provides a means by which to set a value for a given PCD token.\r
\r
return NumberOfPrinted;\r
}\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Converts a decimal value to a Null-terminated Unicode string.\r
-\r
- Converts the decimal number specified by Value to a Null-terminated Unicode\r
- string specified by Buffer containing at most Width characters. No padding of spaces\r
- is ever performed. If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.\r
- The number of Unicode characters in Buffer is returned not including the Null-terminator.\r
- If the conversion contains more than Width characters, then only the first\r
- Width characters are returned, and the total number of characters\r
- required to perform the conversion is returned.\r
- Additional conversion parameters are specified in Flags.\r
-\r
- The Flags bit LEFT_JUSTIFY is always ignored.\r
- All conversions are left justified in Buffer.\r
- If Width is 0, PREFIX_ZERO is ignored in Flags.\r
- If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas\r
- are inserted every 3rd digit starting from the right.\r
- If RADIX_HEX is set in Flags, then the output buffer will be\r
- formatted in hexadecimal format.\r
- If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.\r
- If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,\r
- then Buffer is padded with '0' characters so the combination of the optional '-'\r
- sign character, '0' characters, digit characters for Value, and the Null-terminator\r
- add up to Width characters.\r
- If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().\r
- If Buffer is NULL, then ASSERT().\r
- If Buffer is not aligned on a 16-bit boundary, then ASSERT().\r
- If unsupported bits are set in Flags, then ASSERT().\r
- If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().\r
- If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()\r
-\r
- @param Buffer The pointer to the output buffer for the produced Null-terminated\r
- Unicode string.\r
- @param Flags The bitmask of flags that specify left justification, zero pad, and commas.\r
- @param Value The 64-bit signed value to convert to a string.\r
- @param Width The maximum number of Unicode characters to place in Buffer, not including\r
- the Null-terminator.\r
-\r
- @return The number of Unicode characters in Buffer not including the Null-terminator.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-UnicodeValueToString (\r
- IN OUT CHAR16 *Buffer,\r
- IN UINTN Flags,\r
- IN INT64 Value,\r
- IN UINTN Width\r
- )\r
-{\r
- ASSERT_UNICODE_BUFFER(Buffer);\r
- return BasePrintLibConvertValueToString ((CHAR8 *)Buffer, Flags, Value, Width, 2);\r
-}\r
-\r
-#endif\r
\r
/**\r
Converts a decimal value to a Null-terminated Unicode string.\r
return NumberOfPrinted;\r
}\r
\r
-\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function is deprecated for security reason.\r
-\r
- Converts a decimal value to a Null-terminated ASCII string.\r
-\r
- Converts the decimal number specified by Value to a Null-terminated ASCII string\r
- specified by Buffer containing at most Width characters. No padding of spaces\r
- is ever performed.\r
- If Width is 0 then a width of MAXIMUM_VALUE_CHARACTERS is assumed.\r
- The number of ASCII characters in Buffer is returned not including the Null-terminator.\r
- If the conversion contains more than Width characters, then only the first Width\r
- characters are returned, and the total number of characters required to perform\r
- the conversion is returned.\r
- Additional conversion parameters are specified in Flags.\r
- The Flags bit LEFT_JUSTIFY is always ignored.\r
- All conversions are left justified in Buffer.\r
- If Width is 0, PREFIX_ZERO is ignored in Flags.\r
- If COMMA_TYPE is set in Flags, then PREFIX_ZERO is ignored in Flags, and commas\r
- are inserted every 3rd digit starting from the right.\r
- If RADIX_HEX is set in Flags, then the output buffer will be\r
- formatted in hexadecimal format.\r
- If Value is < 0 and RADIX_HEX is not set in Flags, then the fist character in Buffer is a '-'.\r
- If PREFIX_ZERO is set in Flags and PREFIX_ZERO is not being ignored,\r
- then Buffer is padded with '0' characters so the combination of the optional '-'\r
- sign character, '0' characters, digit characters for Value, and the Null-terminator\r
- add up to Width characters.\r
-\r
- If Buffer is NULL, then ASSERT().\r
- If unsupported bits are set in Flags, then ASSERT().\r
- If both COMMA_TYPE and RADIX_HEX are set in Flags, then ASSERT().\r
- If Width >= MAXIMUM_VALUE_CHARACTERS, then ASSERT()\r
-\r
- @param Buffer The pointer to the output buffer for the produced Null-terminated\r
- ASCII string.\r
- @param Flags The bitmask of flags that specify left justification, zero pad, and commas.\r
- @param Value The 64-bit signed value to convert to a string.\r
- @param Width The maximum number of ASCII characters to place in Buffer, not including\r
- the Null-terminator.\r
-\r
- @return The number of ASCII characters in Buffer not including the Null-terminator.\r
-\r
-**/\r
-UINTN\r
-EFIAPI\r
-AsciiValueToString (\r
- OUT CHAR8 *Buffer,\r
- IN UINTN Flags,\r
- IN INT64 Value,\r
- IN UINTN Width\r
- )\r
-{\r
- return BasePrintLibConvertValueToString (Buffer, Flags, Value, Width, 1);\r
-}\r
-\r
-#endif\r
-\r
/**\r
Converts a decimal value to a Null-terminated Ascii string.\r
\r
}\r
\r
\r
-\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 8-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 8-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-LibPcdSet8 (\r
- IN UINTN TokenNumber,\r
- IN UINT8 Value\r
- )\r
-{\r
- GetPcdProtocol()->Set8 (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 16-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 16-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-LibPcdSet16 (\r
- IN UINTN TokenNumber,\r
- IN UINT16 Value\r
- )\r
-{\r
- GetPcdProtocol()->Set16 (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 32-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 32-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-LibPcdSet32 (\r
- IN UINTN TokenNumber,\r
- IN UINT32 Value\r
- )\r
-{\r
- GetPcdProtocol()->Set32 (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 64-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 64-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-LibPcdSet64 (\r
- IN UINTN TokenNumber,\r
- IN UINT64 Value\r
- )\r
-{\r
- GetPcdProtocol()->Set64 (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets a buffer for the token specified by TokenNumber to the value\r
- specified by Buffer and SizeOfBuffer. Buffer is returned.\r
- If SizeOfBuffer is greater than the maximum size support by TokenNumber,\r
- then set SizeOfBuffer to the maximum size supported by TokenNumber and\r
- return NULL to indicate that the set operation was not actually performed.\r
-\r
- If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the\r
- maximum size supported by TokenName and NULL must be returned.\r
-\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
- @param[in] Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pointer for the buffer been set.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-LibPcdSetPtr (\r
- IN UINTN TokenNumber,\r
- IN OUT UINTN *SizeOfBuffer,\r
- IN CONST VOID *Buffer\r
- )\r
-{\r
- EFI_STATUS Status;\r
- UINTN InputSizeOfBuffer;\r
-\r
- ASSERT (SizeOfBuffer != NULL);\r
-\r
- if (*SizeOfBuffer > 0) {\r
- ASSERT (Buffer != NULL);\r
- }\r
-\r
- InputSizeOfBuffer = *SizeOfBuffer;\r
- Status = GetPcdProtocol()->SetPtr (TokenNumber, SizeOfBuffer, (VOID *) Buffer);\r
- if (EFI_ERROR (Status) && (*SizeOfBuffer < InputSizeOfBuffer)) {\r
- return NULL;\r
- }\r
-\r
- return (VOID *)Buffer;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the Boolean value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The boolean value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LibPcdSetBool (\r
- IN UINTN TokenNumber,\r
- IN BOOLEAN Value\r
- )\r
-{\r
- GetPcdProtocol()->SetBool (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 8-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 8-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-LibPcdSetEx8 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT8 Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- GetPiPcdProtocol()->Set8 (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 16-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 16-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-LibPcdSetEx16 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT16 Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- GetPiPcdProtocol()->Set16 (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 32-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 32-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-LibPcdSetEx32 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT32 Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- GetPiPcdProtocol()->Set32 (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 64-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 64-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-LibPcdSetEx64 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT64 Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- GetPiPcdProtocol()->Set64 (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets a buffer for the token specified by TokenNumber to the value specified by\r
- Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than\r
- the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size\r
- supported by TokenNumber and return NULL to indicate that the set operation\r
- was not actually performed.\r
-\r
- If Guid is NULL, then ASSERT().\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
- @param[in] Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pointer to the buffer been set.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-LibPcdSetExPtr (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN OUT UINTN *SizeOfBuffer,\r
- IN VOID *Buffer\r
- )\r
-{\r
- EFI_STATUS Status;\r
- UINTN InputSizeOfBuffer;\r
-\r
- ASSERT (Guid != NULL);\r
-\r
- ASSERT (SizeOfBuffer != NULL);\r
-\r
- if (*SizeOfBuffer > 0) {\r
- ASSERT (Buffer != NULL);\r
- }\r
-\r
- InputSizeOfBuffer = *SizeOfBuffer;\r
- Status = GetPiPcdProtocol()->SetPtr (Guid, TokenNumber, SizeOfBuffer, Buffer);\r
- if (EFI_ERROR (Status) && (*SizeOfBuffer < InputSizeOfBuffer)) {\r
- return NULL;\r
- }\r
-\r
- return Buffer;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the Boolean value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The Boolean value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LibPcdSetExBool (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN BOOLEAN Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- GetPiPcdProtocol()->SetBool (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-#endif\r
-\r
/**\r
This function provides a means by which to set a value for a given PCD token.\r
\r
}\r
\r
\r
-\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 8-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 8-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-LibPcdSet8 (\r
- IN UINTN TokenNumber,\r
- IN UINT8 Value\r
- )\r
-{\r
- (GetPcdPpiPointer ())->Set8 (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 16-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 16-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-LibPcdSet16 (\r
- IN UINTN TokenNumber,\r
- IN UINT16 Value\r
- )\r
-{\r
- (GetPcdPpiPointer ())->Set16 (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 32-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 32-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-LibPcdSet32 (\r
- IN UINTN TokenNumber,\r
- IN UINT32 Value\r
- )\r
-{\r
- (GetPcdPpiPointer ())->Set32 (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 64-bit value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 64-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-LibPcdSet64 (\r
- IN UINTN TokenNumber,\r
- IN UINT64 Value\r
- )\r
-{\r
- (GetPcdPpiPointer ())->Set64 (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets a buffer for the token specified by TokenNumber to the value\r
- specified by Buffer and SizeOfBuffer. Buffer is returned.\r
- If SizeOfBuffer is greater than the maximum size support by TokenNumber,\r
- then set SizeOfBuffer to the maximum size supported by TokenNumber and\r
- return NULL to indicate that the set operation was not actually performed.\r
-\r
- If SizeOfBuffer is set to MAX_ADDRESS, then SizeOfBuffer must be set to the\r
- maximum size supported by TokenName and NULL must be returned.\r
-\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
- @param[in] Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pointer for the buffer been set.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-LibPcdSetPtr (\r
- IN UINTN TokenNumber,\r
- IN OUT UINTN *SizeOfBuffer,\r
- IN CONST VOID *Buffer\r
- )\r
-{\r
- EFI_STATUS Status;\r
- UINTN InputSizeOfBuffer;\r
-\r
- ASSERT (SizeOfBuffer != NULL);\r
-\r
- if (*SizeOfBuffer > 0) {\r
- ASSERT (Buffer != NULL);\r
- }\r
-\r
- InputSizeOfBuffer = *SizeOfBuffer;\r
- Status = (GetPcdPpiPointer ())->SetPtr (TokenNumber, SizeOfBuffer, (VOID *) Buffer);\r
- if (EFI_ERROR (Status) && (*SizeOfBuffer < InputSizeOfBuffer)) {\r
- return NULL;\r
- }\r
-\r
- return (VOID *) Buffer;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the Boolean value for the token specified by TokenNumber\r
- to the value specified by Value. Value is returned.\r
-\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The boolean value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LibPcdSetBool (\r
- IN UINTN TokenNumber,\r
- IN BOOLEAN Value\r
- )\r
-{\r
- (GetPcdPpiPointer ())->SetBool (TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 8-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 8-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT8\r
-EFIAPI\r
-LibPcdSetEx8 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT8 Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- (GetPiPcdPpiPointer ())->Set8 (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 16-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 16-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT16\r
-EFIAPI\r
-LibPcdSetEx16 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT16 Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- (GetPiPcdPpiPointer ())->Set16 (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 32-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 32-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT32\r
-EFIAPI\r
-LibPcdSetEx32 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT32 Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- (GetPiPcdPpiPointer ())->Set32 (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the 64-bit value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The 64-bit value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-UINT64\r
-EFIAPI\r
-LibPcdSetEx64 (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN UINT64 Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- (GetPiPcdPpiPointer ())->Set64 (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets a buffer for the token specified by TokenNumber to the value specified by\r
- Buffer and SizeOfBuffer. Buffer is returned. If SizeOfBuffer is greater than\r
- the maximum size support by TokenNumber, then set SizeOfBuffer to the maximum size\r
- supported by TokenNumber and return NULL to indicate that the set operation\r
- was not actually performed.\r
-\r
- If Guid is NULL, then ASSERT().\r
- If SizeOfBuffer is NULL, then ASSERT().\r
- If SizeOfBuffer > 0 and Buffer is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in, out] SizeOfBuffer The size, in bytes, of Buffer.\r
- @param[in] Buffer A pointer to the buffer to set.\r
-\r
- @return Return the pinter to the buffer been set.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-LibPcdSetExPtr (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN OUT UINTN *SizeOfBuffer,\r
- IN VOID *Buffer\r
- )\r
-{\r
- EFI_STATUS Status;\r
- UINTN InputSizeOfBuffer;\r
-\r
- ASSERT (SizeOfBuffer != NULL);\r
- if (*SizeOfBuffer > 0) {\r
- ASSERT (Buffer != NULL);\r
- }\r
- ASSERT (Guid != NULL);\r
-\r
- InputSizeOfBuffer = *SizeOfBuffer;\r
- Status = (GetPiPcdPpiPointer ())->SetPtr (Guid, TokenNumber, SizeOfBuffer, Buffer);\r
- if (EFI_ERROR (Status) && (*SizeOfBuffer < InputSizeOfBuffer)) {\r
- return NULL;\r
- }\r
-\r
- return Buffer;\r
-}\r
-\r
-\r
-\r
-/**\r
- This function provides a means by which to set a value for a given PCD token.\r
-\r
- Sets the Boolean value for the token specified by TokenNumber and\r
- Guid to the value specified by Value. Value is returned.\r
-\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Guid The pointer to a 128-bit unique value that\r
- designates which namespace to set a value from.\r
- @param[in] TokenNumber The PCD token number to set a current value for.\r
- @param[in] Value The Boolean value to set.\r
-\r
- @return Return the value that was set.\r
-\r
-**/\r
-BOOLEAN\r
-EFIAPI\r
-LibPcdSetExBool (\r
- IN CONST GUID *Guid,\r
- IN UINTN TokenNumber,\r
- IN BOOLEAN Value\r
- )\r
-{\r
- ASSERT (Guid != NULL);\r
-\r
- (GetPiPcdPpiPointer ())->SetBool (Guid, TokenNumber, Value);\r
-\r
- return Value;\r
-}\r
-#endif\r
-\r
/**\r
This function provides a means by which to set a value for a given PCD token.\r
\r
return EFI_SUCCESS;\r
}\r
\r
-#ifndef DISABLE_NEW_DEPRECATED_INTERFACES\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Returns a pointer to an allocated buffer that contains the contents of a\r
- variable retrieved through the UEFI Runtime Service GetVariable(). The\r
- returned buffer is allocated using AllocatePool(). The caller is responsible\r
- for freeing this buffer with FreePool().\r
-\r
- If Name is NULL, then ASSERT().\r
- If Guid is NULL, then ASSERT().\r
-\r
- @param[in] Name The pointer to a Null-terminated Unicode string.\r
- @param[in] Guid The pointer to an EFI_GUID structure\r
-\r
- @retval NULL The variable could not be retrieved.\r
- @retval NULL There are not enough resources available for the variable contents.\r
- @retval Other A pointer to allocated buffer containing the variable contents.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetVariable (\r
- IN CONST CHAR16 *Name,\r
- IN CONST EFI_GUID *Guid\r
- )\r
-{\r
- EFI_STATUS Status;\r
- UINTN Size;\r
- VOID *Value;\r
-\r
- ASSERT (Name != NULL);\r
- ASSERT (Guid != NULL);\r
-\r
- //\r
- // Try to get the variable size.\r
- //\r
- Value = NULL;\r
- Size = 0;\r
- Status = gRT->GetVariable ((CHAR16 *) Name, (EFI_GUID *) Guid, NULL, &Size, Value);\r
- if (Status != EFI_BUFFER_TOO_SMALL) {\r
- return NULL;\r
- }\r
-\r
- //\r
- // Allocate buffer to get the variable.\r
- //\r
- Value = AllocatePool (Size);\r
- if (Value == NULL) {\r
- return NULL;\r
- }\r
-\r
- //\r
- // Get the variable data.\r
- //\r
- Status = gRT->GetVariable ((CHAR16 *) Name, (EFI_GUID *) Guid, NULL, &Size, Value);\r
- if (EFI_ERROR (Status)) {\r
- FreePool(Value);\r
- return NULL;\r
- }\r
-\r
- return Value;\r
-}\r
-\r
-/**\r
- [ATTENTION] This function will be deprecated for security reason.\r
-\r
- Returns a pointer to an allocated buffer that contains the contents of a\r
- variable retrieved through the UEFI Runtime Service GetVariable(). This\r
- function always uses the EFI_GLOBAL_VARIABLE GUID to retrieve variables.\r
- The returned buffer is allocated using AllocatePool(). The caller is\r
- responsible for freeing this buffer with FreePool().\r
-\r
- If Name is NULL, then ASSERT().\r
-\r
- @param[in] Name The pointer to a Null-terminated Unicode string.\r
-\r
- @retval NULL The variable could not be retrieved.\r
- @retval NULL There are not enough resources available for the variable contents.\r
- @retval Other A pointer to allocated buffer containing the variable contents.\r
-\r
-**/\r
-VOID *\r
-EFIAPI\r
-GetEfiGlobalVariable (\r
- IN CONST CHAR16 *Name\r
- )\r
-{\r
- return GetVariable (Name, &gEfiGlobalVariableGuid);\r
-}\r
-#endif\r
\r
/**\r
Returns the status whether get the variable success. The function retrieves\r
MdePkg/Library/BaseStackCheckLib/BaseStackCheckLib.inf\r
\r
[BuildOptions]\r
- *_*_*_CC_FLAGS = -D DISABLE_NEW_DEPRECATED_INTERFACES\r