diff options
author | Michael Brown | 2022-01-04 14:31:15 +0100 |
---|---|---|
committer | Michael Brown | 2022-01-04 15:03:12 +0100 |
commit | f43c2fd69749bb9a44f2a3ab61b6735938432b52 (patch) | |
tree | b5afddef6c6f701312dda21aa4732e9c0253d587 /src/include/ipxe/settings.h | |
parent | [efi] Disable EFI watchdog timer when shutting down to boot an OS (diff) | |
download | ipxe-f43c2fd69749bb9a44f2a3ab61b6735938432b52.tar.gz ipxe-f43c2fd69749bb9a44f2a3ab61b6735938432b52.tar.xz ipxe-f43c2fd69749bb9a44f2a3ab61b6735938432b52.zip |
[settings] Support formatting UUIDs as little-endian GUIDs
The RFC4122 specification defines UUIDs as being in network byte
order, but an unfortunately significant amount of (mostly Microsoft)
software treats them as having the first three fields in little-endian
byte order.
In an ideal world, any server-side software that compares UUIDs for
equality would perform an endian-insensitive comparison (analogous to
comparing strings for equality using a case-insensitive comparison),
and would therefore not care about byte order differences.
Define a setting type name ":guid" to allow a UUID setting to be
formatted in little-endian order, to simplify interoperability with
server-side software that expects such a formatting.
Signed-off-by: Michael Brown <mcb30@ipxe.org>
Diffstat (limited to 'src/include/ipxe/settings.h')
-rw-r--r-- | src/include/ipxe/settings.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/src/include/ipxe/settings.h b/src/include/ipxe/settings.h index f463e667..e042b975 100644 --- a/src/include/ipxe/settings.h +++ b/src/include/ipxe/settings.h @@ -426,6 +426,7 @@ extern const struct setting_type setting_type_hexhyp __setting_type; extern const struct setting_type setting_type_hexraw __setting_type; extern const struct setting_type setting_type_base64 __setting_type; extern const struct setting_type setting_type_uuid __setting_type; +extern const struct setting_type setting_type_guid __setting_type; extern const struct setting_type setting_type_busdevfn __setting_type; extern const struct setting_type setting_type_dnssl __setting_type; |