1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<#define GUID_16(a) \
(((a) >> 8) & 0xff), \
(((a)) & 0xff),
#define GUID_48(a) \
(((a) >> 40) & 0xff), \
(((a) >> 32) & 0xff), \
(((a) >> 24) & 0xff), \
(((a) >> 16) & 0xff), \
(((a) >> 8) & 0xff), \
(((a)) & 0xff),
#define GUID_FLIP_32(a) \
(((a)) & 0xff), \
(((a) >> 8) & 0xff), \
(((a) >> 16) & 0xff), \
(((a) >> 24) & 0xff),
#define GUID_FLIP_16(a) \
(((a)) & 0xff), \
(((a) >> 8) & 0xff),
#define MAKE_GUID(a,b,c,d,e) \
{{ \
GUID_FLIP_32(0x ## a) \
GUID_FLIP_16(0x ## b) \
GUID_FLIP_16(0x ## c) \
GUID_16(0x ## d) \
GUID_48(0x ## e ## ULL) \
}}
typedef struct
{
uint8_t d[16];
} PACKED GUID;
|