118 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
		
			3.0 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /**
 | |
|  * This file has no copyright assigned and is placed in the Public Domain.
 | |
|  * This file is part of the mingw-w64 runtime package.
 | |
|  * No warranty is given; refer to the file DISCLAIMER within this package.
 | |
|  */
 | |
| 
 | |
| #if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
 | |
| #define NONAMELESSUNION		1
 | |
| #endif
 | |
| #if defined(NONAMELESSSTRUCT) && \
 | |
|    !defined(NONAMELESSUNION)
 | |
| #define NONAMELESSUNION		1
 | |
| #endif
 | |
| #if defined(NONAMELESSUNION)  && \
 | |
|    !defined(NONAMELESSSTRUCT)
 | |
| #define NONAMELESSSTRUCT	1
 | |
| #endif
 | |
| #if !defined(__GNU_EXTENSION)
 | |
| #if defined(__GNUC__) || defined(__GNUG__)
 | |
| #define __GNU_EXTENSION		__extension__
 | |
| #else
 | |
| #define __GNU_EXTENSION
 | |
| #endif
 | |
| #endif /* __extension__ */
 | |
| 
 | |
| #ifndef __ANONYMOUS_DEFINED
 | |
| #define __ANONYMOUS_DEFINED
 | |
| #if defined(__GNUC__) || defined(__GNUG__)
 | |
| #define _ANONYMOUS_UNION	__extension__
 | |
| #define _ANONYMOUS_STRUCT	__extension__
 | |
| #else
 | |
| #define _ANONYMOUS_UNION
 | |
| #define _ANONYMOUS_STRUCT
 | |
| #endif
 | |
| #ifndef NONAMELESSUNION
 | |
| #define _UNION_NAME(x)
 | |
| #define _STRUCT_NAME(x)
 | |
| #else /* NONAMELESSUNION */
 | |
| #define _UNION_NAME(x)  x
 | |
| #define _STRUCT_NAME(x) x
 | |
| #endif
 | |
| #endif	/* __ANONYMOUS_DEFINED */
 | |
| 
 | |
| #ifndef DUMMYUNIONNAME
 | |
| # ifdef NONAMELESSUNION
 | |
| #  define DUMMYUNIONNAME  u
 | |
| #  define DUMMYUNIONNAME1 u1	/* Wine uses this variant */
 | |
| #  define DUMMYUNIONNAME2 u2
 | |
| #  define DUMMYUNIONNAME3 u3
 | |
| #  define DUMMYUNIONNAME4 u4
 | |
| #  define DUMMYUNIONNAME5 u5
 | |
| #  define DUMMYUNIONNAME6 u6
 | |
| #  define DUMMYUNIONNAME7 u7
 | |
| #  define DUMMYUNIONNAME8 u8
 | |
| #  define DUMMYUNIONNAME9 u9
 | |
| # else /* NONAMELESSUNION */
 | |
| #  define DUMMYUNIONNAME
 | |
| #  define DUMMYUNIONNAME1	/* Wine uses this variant */
 | |
| #  define DUMMYUNIONNAME2
 | |
| #  define DUMMYUNIONNAME3
 | |
| #  define DUMMYUNIONNAME4
 | |
| #  define DUMMYUNIONNAME5
 | |
| #  define DUMMYUNIONNAME6
 | |
| #  define DUMMYUNIONNAME7
 | |
| #  define DUMMYUNIONNAME8
 | |
| #  define DUMMYUNIONNAME9
 | |
| # endif
 | |
| #endif	/* DUMMYUNIONNAME */
 | |
| 
 | |
| #if !defined(DUMMYUNIONNAME1)	/* MinGW does not define this one */
 | |
| # ifdef NONAMELESSUNION
 | |
| #  define DUMMYUNIONNAME1 u1	/* Wine uses this variant */
 | |
| # else
 | |
| #  define DUMMYUNIONNAME1	/* Wine uses this variant */
 | |
| # endif
 | |
| #endif	/* DUMMYUNIONNAME1 */
 | |
| 
 | |
| #ifndef DUMMYSTRUCTNAME
 | |
| # ifdef NONAMELESSUNION
 | |
| #  define DUMMYSTRUCTNAME  s
 | |
| #  define DUMMYSTRUCTNAME1 s1	/* Wine uses this variant */
 | |
| #  define DUMMYSTRUCTNAME2 s2
 | |
| #  define DUMMYSTRUCTNAME3 s3
 | |
| #  define DUMMYSTRUCTNAME4 s4
 | |
| #  define DUMMYSTRUCTNAME5 s5
 | |
| # else
 | |
| #  define DUMMYSTRUCTNAME
 | |
| #  define DUMMYSTRUCTNAME1	/* Wine uses this variant */
 | |
| #  define DUMMYSTRUCTNAME2
 | |
| #  define DUMMYSTRUCTNAME3
 | |
| #  define DUMMYSTRUCTNAME4
 | |
| #  define DUMMYSTRUCTNAME5
 | |
| # endif
 | |
| #endif /* DUMMYSTRUCTNAME */
 | |
| 
 | |
| /* These are for compatibility with the Wine source tree */
 | |
| 
 | |
| #ifndef WINELIB_NAME_AW
 | |
| # ifdef __MINGW_NAME_AW
 | |
| #   define WINELIB_NAME_AW  __MINGW_NAME_AW
 | |
| # else
 | |
| #  ifdef UNICODE
 | |
| #   define WINELIB_NAME_AW(func) func##W
 | |
| #  else
 | |
| #   define WINELIB_NAME_AW(func) func##A
 | |
| #  endif
 | |
| # endif
 | |
| #endif	/* WINELIB_NAME_AW */
 | |
| 
 | |
| #ifndef DECL_WINELIB_TYPE_AW
 | |
| # ifdef __MINGW_TYPEDEF_AW
 | |
| #  define DECL_WINELIB_TYPE_AW  __MINGW_TYPEDEF_AW
 | |
| # else
 | |
| #  define DECL_WINELIB_TYPE_AW(type)  typedef WINELIB_NAME_AW(type) type;
 | |
| # endif
 | |
| #endif	/* DECL_WINELIB_TYPE_AW */
 | |
| 
 |