Home | History | Annotate | Download | only in dshow
      1 /**
      2  * This file has no copyright assigned and is placed in the Public Domain.
      3  * This file is part of the w64 mingw-runtime package.
      4  * No warranty is given; refer to the file DISCLAIMER within this package.
      5  */
      6 
      7 #if defined(_MSC_VER) && !defined(_MSC_EXTENSIONS)
      8 #define NONAMELESSUNION		1
      9 #endif
     10 #if defined(NONAMELESSSTRUCT) && \
     11    !defined(NONAMELESSUNION)
     12 #define NONAMELESSUNION		1
     13 #endif
     14 #if defined(NONAMELESSUNION)  && \
     15    !defined(NONAMELESSSTRUCT)
     16 #define NONAMELESSSTRUCT	1
     17 #endif
     18 
     19 #ifndef __ANONYMOUS_DEFINED
     20 #define __ANONYMOUS_DEFINED
     21 #if defined(__GNUC__) || defined(__GNUG__)
     22 #define _ANONYMOUS_UNION	__extension__
     23 #define _ANONYMOUS_STRUCT	__extension__
     24 #else
     25 #define _ANONYMOUS_UNION
     26 #define _ANONYMOUS_STRUCT
     27 #endif
     28 #ifndef NONAMELESSUNION
     29 #define _UNION_NAME(x)
     30 #define _STRUCT_NAME(x)
     31 #else /* NONAMELESSUNION */
     32 #define _UNION_NAME(x)  x
     33 #define _STRUCT_NAME(x) x
     34 #endif
     35 #endif	/* __ANONYMOUS_DEFINED */
     36 
     37 #ifndef DUMMYUNIONNAME
     38 # ifdef NONAMELESSUNION
     39 #  define DUMMYUNIONNAME  u
     40 #  define DUMMYUNIONNAME1 u1	/* Wine uses this variant */
     41 #  define DUMMYUNIONNAME2 u2
     42 #  define DUMMYUNIONNAME3 u3
     43 #  define DUMMYUNIONNAME4 u4
     44 #  define DUMMYUNIONNAME5 u5
     45 #  define DUMMYUNIONNAME6 u6
     46 #  define DUMMYUNIONNAME7 u7
     47 #  define DUMMYUNIONNAME8 u8
     48 #  define DUMMYUNIONNAME9 u9
     49 # else /* NONAMELESSUNION */
     50 #  define DUMMYUNIONNAME
     51 #  define DUMMYUNIONNAME1	/* Wine uses this variant */
     52 #  define DUMMYUNIONNAME2
     53 #  define DUMMYUNIONNAME3
     54 #  define DUMMYUNIONNAME4
     55 #  define DUMMYUNIONNAME5
     56 #  define DUMMYUNIONNAME6
     57 #  define DUMMYUNIONNAME7
     58 #  define DUMMYUNIONNAME8
     59 #  define DUMMYUNIONNAME9
     60 # endif
     61 #endif	/* DUMMYUNIONNAME */
     62 
     63 #if !defined(DUMMYUNIONNAME1)	/* MinGW does not define this one */
     64 # ifdef NONAMELESSUNION
     65 #  define DUMMYUNIONNAME1 u1	/* Wine uses this variant */
     66 # else
     67 #  define DUMMYUNIONNAME1	/* Wine uses this variant */
     68 # endif
     69 #endif	/* DUMMYUNIONNAME1 */
     70 
     71 #ifndef DUMMYSTRUCTNAME
     72 # ifdef NONAMELESSUNION
     73 #  define DUMMYSTRUCTNAME  s
     74 #  define DUMMYSTRUCTNAME1 s1	/* Wine uses this variant */
     75 #  define DUMMYSTRUCTNAME2 s2
     76 #  define DUMMYSTRUCTNAME3 s3
     77 #  define DUMMYSTRUCTNAME4 s4
     78 #  define DUMMYSTRUCTNAME5 s5
     79 # else
     80 #  define DUMMYSTRUCTNAME
     81 #  define DUMMYSTRUCTNAME1	/* Wine uses this variant */
     82 #  define DUMMYSTRUCTNAME2
     83 #  define DUMMYSTRUCTNAME3
     84 #  define DUMMYSTRUCTNAME4
     85 #  define DUMMYSTRUCTNAME5
     86 # endif
     87 #endif /* DUMMYSTRUCTNAME */
     88 
     89 /* These are for compatibility with the Wine source tree */
     90 
     91 #ifndef WINELIB_NAME_AW
     92 # ifdef __MINGW_NAME_AW
     93 #   define WINELIB_NAME_AW  __MINGW_NAME_AW
     94 # else
     95 #  ifdef UNICODE
     96 #   define WINELIB_NAME_AW(func) func##W
     97 #  else
     98 #   define WINELIB_NAME_AW(func) func##A
     99 #  endif
    100 # endif
    101 #endif	/* WINELIB_NAME_AW */
    102 
    103 #ifndef DECL_WINELIB_TYPE_AW
    104 # ifdef __MINGW_TYPEDEF_AW
    105 #  define DECL_WINELIB_TYPE_AW  __MINGW_TYPEDEF_AW
    106 # else
    107 #  define DECL_WINELIB_TYPE_AW(type)  typedef WINELIB_NAME_AW(type) type;
    108 # endif
    109 #endif	/* DECL_WINELIB_TYPE_AW */
    110 
    111