diff options
Diffstat (limited to 'src/guid.h')
-rw-r--r-- | src/guid.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/src/guid.h b/src/guid.h new file mode 100644 index 0000000..f92607d --- /dev/null +++ b/src/guid.h @@ -0,0 +1,40 @@ + +#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; + + + + |