• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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