6 * Universally unique IDs
9 FILE_LICENCE ( GPL2_OR_LATER );
14 /** A universally unique ID */
16 /** Canonical form (00000000-0000-0000-0000-000000000000) */
18 /** 8 hex digits, big-endian */
20 /** 2 hex digits, big-endian */
22 /** 2 hex digits, big-endian */
24 /** 2 hex digits, big-endian */
26 /** 12 hex digits, big-endian */
33 * Change UUID endianness
37 * RFC4122 defines UUIDs as being encoded in network byte order, but
38 * leaves some wriggle room for "explicit application or presentation
39 * protocol specification to the contrary". PXE, EFI and SMBIOS
40 * (versions 2.6 and above) treat the first three fields as being
43 static inline void uuid_mangle ( union uuid *uuid ) {
45 __bswap_32s ( &uuid->canonical.a );
46 __bswap_16s ( &uuid->canonical.b );
47 __bswap_16s ( &uuid->canonical.c );
50 extern char * uuid_ntoa ( const union uuid *uuid );
52 #endif /* _IPXE_UUID_H */