#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;