6#define AML_EISA_ID_BYTE(c) ((uint32_t)(((c) - 0x40) & 0x1F))
18 if (str[i] <
'A' || str[i] >
'Z')
26 if ((str[i] <
'0' || str[i] >
'9') && (str[i] <
'A' || str[i] >
'F'))
37 const uint32_t shifts[4] = {20, 16, 28, 24};
41 if (str[i] >=
'0' && str[i] <=
'9')
43 value |= (
uint32_t)(str[i] -
'0') << shift;
47 value |= (
uint32_t)(str[i] -
'A' + 10) << shift;
54#define AML_EISA_ID_CHAR(b) ((char)(((b) & 0x1F) + 0x40))
68 const uint32_t shifts[4] = {20, 16, 28, 24};
72 uint8_t nibble = (eisaId >> shift) & 0x0F;
75 buffer[i] = (char)(
'0' + nibble);
79 buffer[i] = (char)(
'A' + (nibble - 10));
#define AML_EISA_ID_BYTE(c)
#define AML_EISA_ID_CHAR(b)
#define EINVAL
Invalid argument.
#define errno
Error number variable.
#define NULL
Pointer error value.
#define ERR
Integer error value.
uint64_t aml_eisa_id_to_string(uint32_t eisaId, char *buffer, size_t bufferSize)
Convert a numeric EISA ID to a string EISA ID.
uint64_t aml_eisa_id_from_string(const char *str)
Convert a string EISA ID to a numeric EISA ID.
EFI_PHYSICAL_ADDRESS buffer
size_t strnlen_s(const char *s, size_t maxsize)