1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
| /*
| * UUID/GUID definition
| *
| * Copyright (C) 2010, Intel Corp.
| * Huang Ying <ying.huang@intel.com>
| *
| * This program is free software; you can redistribute it and/or
| * modify it under the terms of the GNU General Public License version
| * 2 as published by the Free Software Foundation;
| *
| * This program is distributed in the hope that it will be useful,
| * but WITHOUT ANY WARRANTY; without even the implied warranty of
| * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
| * GNU General Public License for more details.
| */
|
| #ifndef _LINUX_UUID_H_
| #define _LINUX_UUID_H_
|
| #include <linux/types.h>
| #include <linux/string.h>
|
| typedef struct {
| __u8 b[16];
| } uuid_le;
|
| typedef struct {
| __u8 b[16];
| } uuid_be;
|
| #define UUID_LE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \
| ((uuid_le) \
| {{ (a) & 0xff, ((a) >> 8) & 0xff, ((a) >> 16) & 0xff, ((a) >> 24) & 0xff, \
| (b) & 0xff, ((b) >> 8) & 0xff, \
| (c) & 0xff, ((c) >> 8) & 0xff, \
| (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
|
| #define UUID_BE(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \
| ((uuid_be) \
| {{ ((a) >> 24) & 0xff, ((a) >> 16) & 0xff, ((a) >> 8) & 0xff, (a) & 0xff, \
| ((b) >> 8) & 0xff, (b) & 0xff, \
| ((c) >> 8) & 0xff, (c) & 0xff, \
| (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) }})
|
| #define NULL_UUID_LE \
| UUID_LE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, \
| 0x00, 0x00, 0x00, 0x00)
|
| #define NULL_UUID_BE \
| UUID_BE(0x00000000, 0x0000, 0x0000, 0x00, 0x00, 0x00, 0x00, \
| 0x00, 0x00, 0x00, 0x00)
|
|
| #endif /* _LINUX_UUID_H_ */
|
|