while others dislike them being extra commits, let's clean them up once and for all for the existing code. If it's ugly, let it only be ugly once :-) Signed-off-by: Stefan Reinauer <stepan@coresystems.de> Acked-by: Stefan Reinauer <stepan@coresystems.de> git-svn-id: svn://svn.coreboot.org/coreboot/trunk@5507 2b7e53f0-3cfb-0310-b3e9-8179ed1497e1
		
			
				
	
	
		
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			55 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| // Common/MyGuidDef.h
 | |
| 
 | |
| #ifndef GUID_DEFINED
 | |
| #define GUID_DEFINED
 | |
| 
 | |
| #include "Types.h"
 | |
| 
 | |
| typedef struct {
 | |
|   UInt32 Data1;
 | |
|   UInt16 Data2;
 | |
|   UInt16 Data3;
 | |
|   unsigned char Data4[8];
 | |
| } GUID;
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| #define REFGUID const GUID &
 | |
| #else
 | |
| #define REFGUID const GUID *
 | |
| #endif
 | |
| 
 | |
| #define REFCLSID REFGUID
 | |
| #define REFIID REFGUID
 | |
| 
 | |
| #ifdef __cplusplus
 | |
| inline bool operator==(REFGUID g1, REFGUID g2)
 | |
| {
 | |
|   for (int i = 0; i < (int)sizeof(g1); i++)
 | |
|     if (((const unsigned char *)&g1)[i] != ((const unsigned char *)&g2)[i])
 | |
|       return false;
 | |
|   return true;
 | |
| }
 | |
| inline bool operator!=(REFGUID g1, REFGUID g2) { return !(g1 == g2); }
 | |
| #endif
 | |
| 
 | |
| #ifdef __cplusplus
 | |
|   #define MY_EXTERN_C extern "C"
 | |
| #else
 | |
|   #define MY_EXTERN_C extern
 | |
| #endif
 | |
| 
 | |
| #endif // GUID_DEFINED
 | |
| 
 | |
| 
 | |
| #ifdef DEFINE_GUID
 | |
| #undef DEFINE_GUID
 | |
| #endif
 | |
| 
 | |
| #ifdef INITGUID
 | |
|   #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
 | |
|     MY_EXTERN_C const GUID name = { l, w1, w2, { b1, b2,  b3,  b4,  b5,  b6,  b7,  b8 } }
 | |
| #else
 | |
|   #define DEFINE_GUID(name, l, w1, w2, b1, b2, b3, b4, b5, b6, b7, b8) \
 | |
|     MY_EXTERN_C const GUID name
 | |
| #endif
 |