summaryrefslogtreecommitdiffstats
path: root/src/core/uuid.c
diff options
context:
space:
mode:
authorMichael Brown2008-05-20 19:41:36 +0200
committerMichael Brown2008-05-20 19:41:36 +0200
commit30cd3486898e1d9a3add0ca05663637f4d3bf9c8 (patch)
tree0508ef0fb74072f417151286b5541a3e8356573b /src/core/uuid.c
parent[libc] Fix isdigit(), islower() and isupper(). (diff)
downloadipxe-30cd3486898e1d9a3add0ca05663637f4d3bf9c8.tar.gz
ipxe-30cd3486898e1d9a3add0ca05663637f4d3bf9c8.tar.xz
ipxe-30cd3486898e1d9a3add0ca05663637f4d3bf9c8.zip
[SMBIOS] Interpret UUIDs as being in network-endian order
Various specification documents disagree about the byte ordering of UUIDs. However, SMBIOS seems to use the standard in which everything is in network-endian order. This doesn't affect anything sent on the wire; only what gets printed on the screen when the "uuid" variable is displayed.
Diffstat (limited to 'src/core/uuid.c')
-rw-r--r--src/core/uuid.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/src/core/uuid.c b/src/core/uuid.c
index dae26c16..c6e7f5d5 100644
--- a/src/core/uuid.c
+++ b/src/core/uuid.c
@@ -37,9 +37,9 @@ char * uuid_ntoa ( union uuid *uuid ) {
static char buf[37]; /* "00000000-0000-0000-0000-000000000000" */
sprintf ( buf, "%08lx-%04x-%04x-%04x-%02x%02x%02x%02x%02x%02x",
- le32_to_cpu ( uuid->canonical.a ),
- le16_to_cpu ( uuid->canonical.b ),
- le16_to_cpu ( uuid->canonical.c ),
+ be32_to_cpu ( uuid->canonical.a ),
+ be16_to_cpu ( uuid->canonical.b ),
+ be16_to_cpu ( uuid->canonical.c ),
be16_to_cpu ( uuid->canonical.d ),
uuid->canonical.e[0], uuid->canonical.e[1],
uuid->canonical.e[2], uuid->canonical.e[3],