1 #ifndef _GPXE_UUID_H 2 #define _GPXE_UUID_H 3 4 /** @file 5 * 6 * Universally unique IDs 7 */ 8 9 FILE_LICENCE ( GPL2_OR_LATER ); 10 11 #include <stdint.h> 12 13 /** A universally unique ID */ 14 union uuid { 15 /** Canonical form (00000000-0000-0000-0000-000000000000) */ 16 struct { 17 /** 8 hex digits, big-endian */ 18 uint32_t a; 19 /** 2 hex digits, big-endian */ 20 uint16_t b; 21 /** 2 hex digits, big-endian */ 22 uint16_t c; 23 /** 2 hex digits, big-endian */ 24 uint16_t d; 25 /** 12 hex digits, big-endian */ 26 uint8_t e[6]; 27 } canonical; 28 uint8_t raw[16]; 29 }; 30 31 extern char * uuid_ntoa ( union uuid *uuid ); 32 33 #endif /* _GPXE_UUID_H */ 34