xref: /arm-trusted-firmware/include/drivers/partition/efi.h (revision 91f16700b400a8c0651d24a598fc48ee2997a0d7)
1*91f16700Schasinglulu /*
2*91f16700Schasinglulu  * Copyright (c) 2021, Linaro Limited
3*91f16700Schasinglulu  * Copyright (c) 2022, STMicroelectronics - All Rights Reserved
4*91f16700Schasinglulu  *
5*91f16700Schasinglulu  * SPDX-License-Identifier: BSD-3-Clause
6*91f16700Schasinglulu  *
7*91f16700Schasinglulu  */
8*91f16700Schasinglulu 
9*91f16700Schasinglulu #ifndef DRIVERS_PARTITION_EFI_H
10*91f16700Schasinglulu #define DRIVERS_PARTITION_EFI_H
11*91f16700Schasinglulu 
12*91f16700Schasinglulu #include <string.h>
13*91f16700Schasinglulu 
14*91f16700Schasinglulu #include <tools_share/uuid.h>
15*91f16700Schasinglulu 
16*91f16700Schasinglulu #define EFI_NAMELEN		36
17*91f16700Schasinglulu 
18*91f16700Schasinglulu static inline int guidcmp(const void *g1, const void *g2)
19*91f16700Schasinglulu {
20*91f16700Schasinglulu 	return memcmp(g1, g2, sizeof(struct efi_guid));
21*91f16700Schasinglulu }
22*91f16700Schasinglulu 
23*91f16700Schasinglulu static inline void *guidcpy(void *dst, const void *src)
24*91f16700Schasinglulu {
25*91f16700Schasinglulu 	return memcpy(dst, src, sizeof(struct efi_guid));
26*91f16700Schasinglulu }
27*91f16700Schasinglulu 
28*91f16700Schasinglulu #define EFI_GUID(a, b, c, d0, d1, d2, d3, d4, d5, d6, d7) \
29*91f16700Schasinglulu 	{ (a) & 0xffffffffU,		\
30*91f16700Schasinglulu 	  (b) & 0xffffU,			\
31*91f16700Schasinglulu 	  (c) & 0xffffU,			\
32*91f16700Schasinglulu 	  { (d0), (d1), (d2), (d3), (d4), (d5), (d6), (d7) } }
33*91f16700Schasinglulu 
34*91f16700Schasinglulu #define NULL_GUID \
35*91f16700Schasinglulu 	EFI_GUID(0x00000000U, 0x0000U, 0x0000U, 0x00U, 0x00U, \
36*91f16700Schasinglulu 		 0x00U, 0x00U, 0x00U, 0x00U, 0x00U, 0x00U)
37*91f16700Schasinglulu 
38*91f16700Schasinglulu #endif /* DRIVERS_PARTITION_EFI_H */
39