[edk2-devel] [PATCH v1 04/10] DynamicTablesPkg: Add HexFromAscii() to AcpiHelperLib
PierreGondois
pierre.gondois at arm.com
Wed Jun 23 11:05:18 UTC 2021
From: Pierre Gondois <Pierre.Gondois at arm.com>
Add HexFromAscii(), converting an hexadecimal ascii char
to an integer.
Signed-off-by: Pierre Gondois <Pierre.Gondois at arm.com>
---
.../Include/Library/AcpiHelperLib.h | 14 +++++++++
.../Library/Common/AcpiHelperLib/AcpiHelper.c | 30 +++++++++++++++++++
2 files changed, 44 insertions(+)
diff --git a/DynamicTablesPkg/Include/Library/AcpiHelperLib.h b/DynamicTablesPkg/Include/Library/AcpiHelperLib.h
index b653c3cb69ef..eec0cf75e084 100644
--- a/DynamicTablesPkg/Include/Library/AcpiHelperLib.h
+++ b/DynamicTablesPkg/Include/Library/AcpiHelperLib.h
@@ -33,6 +33,20 @@ AsciiFromHex (
IN UINT8 Hex
);
+/** Convert an ASCII char representing an hexadecimal number
+ to its integer value.
+
+ @param [in] Char Char to convert.
+ Must be between '0'-'9' or 'A'-'F' or 'a'-'f'.
+
+ @return The corresponding integer (between 0-16).
+**/
+UINT8
+EFIAPI
+HexFromAscii (
+ IN CHAR8 Char
+ );
+
/** Check if a HID is a valid PNP ID.
@param [in] Hid The Hid to validate.
diff --git a/DynamicTablesPkg/Library/Common/AcpiHelperLib/AcpiHelper.c b/DynamicTablesPkg/Library/Common/AcpiHelperLib/AcpiHelper.c
index 19840fb173eb..c7097c8ff432 100644
--- a/DynamicTablesPkg/Library/Common/AcpiHelperLib/AcpiHelper.c
+++ b/DynamicTablesPkg/Library/Common/AcpiHelperLib/AcpiHelper.c
@@ -37,6 +37,36 @@ AsciiFromHex (
return (UINT8)-1;
}
+/** Convert an ASCII char representing an hexadecimal number
+ to its integer value.
+
+ @param [in] Char Char to convert.
+ Must be between '0'-'9' or 'A'-'F' or 'a'-'f'.
+
+ @return The corresponding integer (between 0-16).
+**/
+UINT8
+EFIAPI
+HexFromAscii (
+ IN CHAR8 Char
+ )
+{
+ if ((Char >= '0') && (Char <= '9')) {
+ return (UINT8)(Char - '0');
+ }
+
+ if ((Char >= 'A') && (Char <= 'F')) {
+ return (UINT8)(Char - 'A' + 10);
+ }
+
+ if ((Char >= 'a') && (Char <= 'f')) {
+ return (UINT8)(Char - 'a' + 10);
+ }
+
+ ASSERT (FALSE);
+ return (UINT8)-1;
+}
+
/** Check if a HID is a valid PNP ID.
@param [in] Hid The Hid to validate.
--
2.17.1
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#76933): https://edk2.groups.io/g/devel/message/76933
Mute This Topic: https://groups.io/mt/83735187/1813853
Group Owner: devel+owner at edk2.groups.io
Unsubscribe: https://edk2.groups.io/g/devel/unsub [edk2-devel-archive at redhat.com]
-=-=-=-=-=-=-=-=-=-=-=-
More information about the edk2-devel-archive
mailing list