xref: /haiku/src/add-ons/kernel/partitioning_systems/gpt/guid.h (revision 25a7b01d15612846f332751841da3579db313082)
1 /*
2  * Copyright 2007, Axel Dörfler, axeld@pinc-software.de. All rights reserved.
3  * Distributed under the terms of the MIT License.
4  */
5 #ifndef GUID_H
6 #define GUID_H
7 
8 
9 #include <SupportDefs.h>
10 
11 
12 typedef struct guid {
13 	uint32	data1;
14 	uint16	data2;
15 	uint16	data3;
16 	uint8	data4[8];
17 
18 	inline bool operator==(const guid &other) const;
19 	inline bool operator!=(const guid &other) const;
20 } _PACKED guid_t;
21 
22 
23 inline bool
24 guid_t::operator==(const guid_t &other) const
25 {
26 	return data1 == other.data1
27 		&& data2 == other.data2
28 		&& data3 == other.data3
29 		&& *(uint64 *)data4 == *(uint64 *)other.data4;
30 }
31 
32 
33 inline bool
34 guid_t::operator!=(const guid_t &other) const
35 {
36 	return data1 != other.data1
37 		|| data2 != other.data2
38 		|| data3 != other.data3
39 		|| *(uint64 *)data4 != *(uint64 *)other.data4;
40 }
41 
42 #endif	/* GUID_H */
43 
44