]>
git.proxmox.com Git - mirror_edk2.git/blob - DynamicTablesPkg/Include/Library/AcpiHelperLib.h
3 Copyright (c) 2017 - 2021, Arm Limited. All rights reserved.<BR>
5 SPDX-License-Identifier: BSD-2-Clause-Patent
8 #ifndef ACPI_HELPER_LIB_H_
9 #define ACPI_HELPER_LIB_H_
11 /** Is a character upper case
13 #define IS_UPPER_CHAR(x) ((x >= 'A') && (x <= 'Z'))
15 /** Is a character a decimal digit
17 #define IS_DIGIT(x) ((x >= '0') && (x <= '9'))
19 /** Is a character an upper case hexadecimal digit
21 #define IS_UPPER_HEX(x) (((x >= 'A') && (x <= 'F')) || IS_DIGIT (x))
23 /** Convert a hex number to its ASCII code.
25 @param [in] Hex Hex number to convert.
28 @return The ASCII code corresponding to x.
37 /** Convert an ASCII char representing an hexadecimal number
40 @param [in] Char Char to convert.
41 Must be between '0'-'9' or 'A'-'F' or 'a'-'f'.
43 @return The corresponding integer (between 0-16).
52 /** Check if a HID is a valid PNP ID.
54 @param [in] Hid The Hid to validate.
56 @retval TRUE The Hid is a valid PNP ID.
57 @retval FALSE The Hid is not a valid PNP ID.
64 /** Check if a HID is a valid ACPI ID.
66 @param [in] Hid The Hid to validate.
68 @retval TRUE The Hid is a valid ACPI ID.
69 @retval FALSE The Hid is not a valid ACPI ID.
76 /** Convert a EisaId string to its compressed UINT32 equivalent.
78 Cf. ACPI 6.4 specification, s19.3.4 "ASL Macros": "Eisaid"
80 @param [in] EisaIdStr Input EisaId string.
81 @param [out] EisaIdInt Output EisaId UINT32 (compressed).
83 @retval EFI_SUCCESS The function completed successfully.
84 @retval EFI_INVALID_PARAMETER Invalid parameter.
88 AmlGetEisaIdFromString (
89 IN CONST CHAR8
* EisaIdStr
,
90 OUT UINT32
* EisaIdInt
93 #endif // ACPI_HELPER_LIB_H_