There's no need for DUMMYUNIONNAME in private headers.
diff --git a/dlls/d3d8/d3dcore_gl.h b/dlls/d3d8/d3dcore_gl.h
index 22b610b..9ec7b8b 100644
--- a/dlls/d3d8/d3dcore_gl.h
+++ b/dlls/d3d8/d3dcore_gl.h
@@ -304,9 +304,9 @@
Direct3DStridedData diffuse;
Direct3DStridedData specular;
Direct3DStridedData texCoords[8];
- } DUMMYSTRUCTNAME;
+ } s;
Direct3DStridedData input[16]; /* Indexed by constants in D3DVSDE_REGISTER */
- } DUMMYUNIONNAME;
+ } u;
} Direct3DVertexStridedData;
#define USE_GL_FUNC(type, pfn) type pfn;
diff --git a/dlls/twain/twain.h b/dlls/twain/twain.h
index 317b2e7..b6576ae 100644
--- a/dlls/twain/twain.h
+++ b/dlls/twain/twain.h
@@ -335,7 +335,7 @@
union {
TW_UINT32 EOJ;
TW_UINT32 Reserved;
- } DUMMYUNIONNAME;
+ } u;
} TW_PENDINGXFERS, FAR *pTW_PENDINGXFERS;
/* DAT_RGBRESPONSE */
diff --git a/include/wine/mmsystem16.h b/include/wine/mmsystem16.h
index 69ac462..ebbf9ee 100644
--- a/include/wine/mmsystem16.h
+++ b/include/wine/mmsystem16.h
@@ -330,11 +330,11 @@
struct {
LONG lMinimum; /* signed minimum for this control */
LONG lMaximum; /* signed maximum for this control */
- } DUMMYSTRUCTNAME;
+ } s;
struct {
DWORD dwMinimum; /* unsigned minimum for this control */
DWORD dwMaximum; /* unsigned maximum for this control */
- } DUMMYSTRUCTNAME1;
+ } s1;
DWORD dwReserved[6];
} Bounds;
union {
@@ -350,7 +350,7 @@
union {
DWORD dwControlID; /* MIXER_GETLINECONTROLSF_ONEBYID */
DWORD dwControlType; /* MIXER_GETLINECONTROLSF_ONEBYTYPE */
- } DUMMYUNIONNAME;
+ } u;
DWORD cControls; /* count of controls pmxctrl points to */
DWORD cbmxctrl; /* size in bytes of _one_ MIXERCONTROL */
SEGPTR pamxctrl; /* pointer to first MIXERCONTROL array */
@@ -363,7 +363,7 @@
union {
HWND16 hwndOwner; /* for MIXER_SETCONTROLDETAILSF_CUSTOM */
DWORD cMultipleItems; /* if _MULTIPLE, the number of items per channel */
- } DUMMYUNIONNAME;
+ } u;
DWORD cbDetails; /* size of _one_ details_XX struct */
LPVOID paDetails; /* pointer to array of details_XX structs */
} MIXERCONTROLDETAILS16,*LPMIXERCONTROLDETAILS16;