Reordered the CALLBACK and WINAPI directives so that it compiles with
old g++ versions.

diff --git a/include/animate.h b/include/animate.h
index b9c09fc..eade4bd 100644
--- a/include/animate.h
+++ b/include/animate.h
@@ -19,17 +19,17 @@
     * storage instead, which is not efficient on memory usage, but
     * will lead to less bugs in the future
     */
-   HIC	  	(WINAPI*  fnICOpen)(DWORD, DWORD, UINT);
-   LRESULT	(WINAPI*  fnICClose)(HIC);
-   LRESULT	(WINAPI*  fnICSendMessage)(HIC, UINT, DWORD, DWORD);
-   DWORD	(WINAPIV* fnICDecompress)(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID);
+   HIC	  	WINAPI  (*fnICOpen)(DWORD, DWORD, UINT);
+   LRESULT	WINAPI  (*fnICClose)(HIC);
+   LRESULT	WINAPI  (*fnICSendMessage)(HIC, UINT, DWORD, DWORD);
+   DWORD	WINAPIV (*fnICDecompress)(HIC,DWORD,LPBITMAPINFOHEADER,LPVOID,LPBITMAPINFOHEADER,LPVOID);
 
-    HMMIO (WINAPI* fnmmioOpenA)(LPSTR,MMIOINFO*,DWORD);
-    MMRESULT (WINAPI * fnmmioClose)(HMMIO,UINT);
-    UINT (WINAPI * fnmmioAscend)(HMMIO,MMCKINFO*,UINT);
-    UINT (WINAPI * fnmmioDescend)(HMMIO,MMCKINFO*,const MMCKINFO*,UINT);
-    LONG (WINAPI * fnmmioSeek)(HMMIO,LONG,INT);
-    LONG (WINAPI * fnmmioRead)(HMMIO,HPSTR,LONG);
+    HMMIO WINAPI (*fnmmioOpenA)(LPSTR,MMIOINFO*,DWORD);
+    MMRESULT WINAPI (*fnmmioClose)(HMMIO,UINT);
+    UINT  WINAPI (*fnmmioAscend)(HMMIO,MMCKINFO*,UINT);
+    UINT  WINAPI (*fnmmioDescend)(HMMIO,MMCKINFO*,const MMCKINFO*,UINT);
+    LONG  WINAPI (*fnmmioSeek)(HMMIO,LONG,INT);
+    LONG  WINAPI (*fnmmioRead)(HMMIO,HPSTR,LONG);
 
    /* reference to input stream (file or resource) */
    HGLOBAL 		hRes;
diff --git a/include/callback.h b/include/callback.h
index df369eb..3ca0052 100644
--- a/include/callback.h
+++ b/include/callback.h
@@ -26,17 +26,17 @@
 
 typedef struct
 {
-    LONG (CALLBACK *CallRegisterShortProc)( CONTEXT86 *, INT );
-    LONG (CALLBACK *CallRegisterLongProc)( CONTEXT86 *, INT );
-    INT16 (CALLBACK *CallWindowsExitProc)( FARPROC16, INT16 );
-    INT16 (CALLBACK *CallWordBreakProc)( EDITWORDBREAKPROC16, SEGPTR, INT16,
+    LONG CALLBACK (*CallRegisterShortProc)( CONTEXT86 *, INT );
+    LONG CALLBACK (*CallRegisterLongProc)( CONTEXT86 *, INT );
+    INT16 CALLBACK (*CallWindowsExitProc)( FARPROC16, INT16 );
+    INT16 CALLBACK (*CallWordBreakProc)( EDITWORDBREAKPROC16, SEGPTR, INT16,
                                          INT16, INT16 );
-    VOID (CALLBACK *CallBootAppProc)( FARPROC16, HANDLE16, HFILE16 );
-    WORD (CALLBACK *CallLoadAppSegProc)( FARPROC16, HANDLE16, HFILE16, WORD );
-    WORD (CALLBACK *CallLocalNotifyFunc)( FARPROC16, WORD, HLOCAL16, WORD );
-    HGLOBAL16 (CALLBACK *CallResourceHandlerProc)( FARPROC16, HGLOBAL16, HMODULE16, HRSRC16 );
-    DWORD (CALLBACK *CallUTProc)( FARPROC16, DWORD, DWORD );
-    LRESULT (CALLBACK *CallASPIPostProc)( FARPROC16, SEGPTR );
+    VOID CALLBACK (*CallBootAppProc)( FARPROC16, HANDLE16, HFILE16 );
+    WORD CALLBACK (*CallLoadAppSegProc)( FARPROC16, HANDLE16, HFILE16, WORD );
+    WORD CALLBACK (*CallLocalNotifyFunc)( FARPROC16, WORD, HLOCAL16, WORD );
+    HGLOBAL16 CALLBACK (*CallResourceHandlerProc)( FARPROC16, HGLOBAL16, HMODULE16, HRSRC16 );
+    DWORD CALLBACK (*CallUTProc)( FARPROC16, DWORD, DWORD );
+    LRESULT CALLBACK (*CallASPIPostProc)( FARPROC16, SEGPTR );
 } CALLBACKS_TABLE;
 
 extern const CALLBACKS_TABLE *Callbacks;
diff --git a/include/commctrl.h b/include/commctrl.h
index bb9632a..632178a 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -2049,7 +2049,7 @@
 #define LPNMTVDISPINFO          WINELIB_NAME_AW(LPNMTVDISPINFO)
 #define TV_DISPINFO             NMTVDISPINFO
 
-typedef INT (CALLBACK *PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM);
+typedef INT CALLBACK (*PFNTVCOMPARE)(LPARAM, LPARAM, LPARAM);
 
 typedef struct tagTVSORTCB
 {
@@ -2746,7 +2746,7 @@
 
 #define TC_HITTESTINFO TCHITTESTINFO
 
-typedef INT (CALLBACK *PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
+typedef INT CALLBACK (*PFNLVCOMPARE)(LPARAM, LPARAM, LPARAM);
 
 typedef struct tagNMLVCACHEHINT
 {
@@ -3587,7 +3587,7 @@
 INT  WINAPI DSA_InsertItem (const HDSA, INT, LPVOID);
 BOOL WINAPI DSA_SetItem (const HDSA, INT, LPVOID);
 
-typedef INT (CALLBACK *DSAENUMPROC)(LPVOID, DWORD);
+typedef INT CALLBACK (*DSAENUMPROC)(LPVOID, DWORD);
 VOID   WINAPI DSA_EnumCallback (const HDSA, DSAENUMPROC, LPARAM);
 BOOL WINAPI DSA_DestroyCallback (const HDSA, DSAENUMPROC, LPARAM);
 
@@ -3615,7 +3615,7 @@
 LPVOID WINAPI DPA_DeletePtr (const HDPA, INT);
 BOOL WINAPI DPA_DeleteAllPtrs (const HDPA);
 
-typedef INT (CALLBACK *PFNDPACOMPARE)(LPVOID, LPVOID, LPARAM);
+typedef INT CALLBACK (*PFNDPACOMPARE)(LPVOID, LPVOID, LPARAM);
 BOOL WINAPI DPA_Sort (const HDPA, PFNDPACOMPARE, LPARAM);
 
 #define DPAS_SORTED             0x0001
@@ -3626,10 +3626,10 @@
 
 #define DPAM_SORT               0x0001
 
-typedef PVOID(CALLBACK *PFNDPAMERGE)(DWORD,PVOID,PVOID,LPARAM);
+typedef PVOID CALLBACK (*PFNDPAMERGE)(DWORD,PVOID,PVOID,LPARAM);
 BOOL WINAPI DPA_Merge (const HDPA, const HDPA, DWORD, PFNDPACOMPARE, PFNDPAMERGE, LPARAM);
 
-typedef INT (CALLBACK *DPAENUMPROC)(LPVOID, DWORD);
+typedef INT CALLBACK (*DPAENUMPROC)(LPVOID, DWORD);
 VOID   WINAPI DPA_EnumCallback (const HDPA, DPAENUMPROC, LPARAM);
 BOOL WINAPI DPA_DestroyCallback (const HDPA, DPAENUMPROC, LPARAM);
 
diff --git a/include/commdlg.h b/include/commdlg.h
index 6240b1c..436a6c1 100644
--- a/include/commdlg.h
+++ b/include/commdlg.h
@@ -48,7 +48,7 @@
 #define SAVE_DIALOG  1
 #define OPEN_DIALOG  2
     
-typedef UINT (CALLBACK *LPOFNHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
+typedef UINT CALLBACK (*LPOFNHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
 
 typedef struct {
 	DWORD		lStructSize;
@@ -116,7 +116,7 @@
 DECL_WINELIB_TYPE_AW(OFNOTIFY)
 DECL_WINELIB_TYPE_AW(LPOFNOTIFY)
  
-typedef UINT (CALLBACK *LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
+typedef UINT CALLBACK (*LPCCHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
 
 typedef struct {
 	DWORD		lStructSize;
@@ -156,7 +156,7 @@
 #define CC_ENABLETEMPLATE        0x00000020
 #define CC_ENABLETEMPLATEHANDLE  0x00000040
 
-typedef UINT (CALLBACK *LPFRHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
+typedef UINT CALLBACK (*LPFRHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
 
 typedef struct {
 	DWORD		lStructSize;
@@ -207,7 +207,7 @@
 #define FR_HIDEMATCHCASE                0x00008000
 #define FR_HIDEWHOLEWORD                0x00010000
 
-typedef UINT (CALLBACK *LPCFHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
+typedef UINT CALLBACK (*LPCFHOOKPROC)(HWND,UINT,WPARAM,LPARAM);
 
 typedef struct
 {
@@ -391,8 +391,8 @@
         (void)SNDMSG(_hdlg, CDM_SETDEFEXT, 0, (LPARAM)(LPSTR)_pszext)
 
 
-typedef UINT (CALLBACK *LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
-typedef UINT (CALLBACK *LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
+typedef UINT CALLBACK (*LPPRINTHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
+typedef UINT CALLBACK (*LPSETUPHOOKPROC) (HWND, UINT, WPARAM, LPARAM);
 
 typedef struct tagPDA
 {
@@ -487,8 +487,8 @@
 #define WM_PSD_ENVSTAMPRECT	(WM_USER+5)
 #define WM_PSD_YAFULLPAGERECT	(WM_USER+6)
 
-typedef UINT (CALLBACK* LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
-typedef UINT (CALLBACK* LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
+typedef UINT CALLBACK (*LPPAGEPAINTHOOK)( HWND, UINT, WPARAM, LPARAM );
+typedef UINT CALLBACK (*LPPAGESETUPHOOK)( HWND, UINT, WPARAM, LPARAM );
 
 typedef struct tagPSDA
 {
diff --git a/include/crtdll.h b/include/crtdll.h
index 4657bce..0756d4e 100644
--- a/include/crtdll.h
+++ b/include/crtdll.h
@@ -27,7 +27,7 @@
 /* function prototypes used in crtdll.c */
 extern int LastErrorToErrno(DWORD);
 
-void * __cdecl CRTDLL_malloc( DWORD size );
+void   __cdecl *CRTDLL_malloc( DWORD size );
 void   __cdecl CRTDLL_free( void *ptr );
 
 LPSTR  __cdecl CRTDLL__mbsinc( LPCSTR str );
diff --git a/include/d3d.h b/include/d3d.h
index ccea735..cfd4f27 100644
--- a/include/d3d.h
+++ b/include/d3d.h
@@ -56,15 +56,15 @@
 typedef struct IDirect3DDevice3       IDirect3DDevice3, *LPDIRECT3DDEVICE3;
 typedef struct IDirect3DDevice7       IDirect3DDevice7, *LPDIRECT3DDEVICE7;
 
-typedef struct IDirect3DViewport2     IDirect3DViewport, *LPDIRECT3DVIEWPORT;
+typedef struct IDirect3DViewport      IDirect3DViewport, *LPDIRECT3DVIEWPORT;
 typedef struct IDirect3DViewport2     IDirect3DViewport2, *LPDIRECT3DVIEWPORT2;
 typedef struct IDirect3DViewport3     IDirect3DViewport3, *LPDIRECT3DVIEWPORT3;
 
-typedef struct IDirect3DMaterial2     IDirect3DMaterial, *LPDIRECT3DMATERIAL;
+typedef struct IDirect3DMaterial      IDirect3DMaterial, *LPDIRECT3DMATERIAL;
 typedef struct IDirect3DMaterial2     IDirect3DMaterial2, *LPDIRECT3DMATERIAL2;
 typedef struct IDirect3DMaterial3     IDirect3DMaterial3, *LPDIRECT3DMATERIAL3;
 
-typedef struct IDirect3DTexture2      IDirect3DTexture, *LPDIRECT3DTEXTURE;
+typedef struct IDirect3DTexture       IDirect3DTexture, *LPDIRECT3DTEXTURE;
 typedef struct IDirect3DTexture2      IDirect3DTexture2,  *LPDIRECT3DTEXTURE2;
 
 typedef struct IDirect3DExecuteBuffer IDirect3DExecuteBuffer, *LPDIRECT3DEXECUTEBUFFER;
diff --git a/include/d3dcaps.h b/include/d3dcaps.h
index 46c0bf2..764569b 100644
--- a/include/d3dcaps.h
+++ b/include/d3dcaps.h
@@ -329,8 +329,8 @@
 #define D3DVTXPCAPS_POSITIONALLIGHTS    0x00000010
 #define D3DVTXPCAPS_LOCALVIEWER         0x00000020
 
-typedef HRESULT (CALLBACK * LPD3DENUMDEVICESCALLBACK)(LPGUID lpGuid,LPSTR lpDeviceDescription,LPSTR lpDeviceName,LPD3DDEVICEDESC,LPD3DDEVICEDESC,LPVOID);
-typedef HRESULT (CALLBACK * LPD3DENUMDEVICESCALLBACK7)(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC7, LPVOID);
+typedef HRESULT CALLBACK (*LPD3DENUMDEVICESCALLBACK)(LPGUID lpGuid,LPSTR lpDeviceDescription,LPSTR lpDeviceName,LPD3DDEVICEDESC,LPD3DDEVICEDESC,LPVOID);
+typedef HRESULT CALLBACK (*LPD3DENUMDEVICESCALLBACK7)(LPSTR lpDeviceDescription, LPSTR lpDeviceName, LPD3DDEVICEDESC7, LPVOID);
 
 #define D3DFDS_COLORMODEL          0x00000001
 #define D3DFDS_GUID                0x00000002
diff --git a/include/d3dtypes.h b/include/d3dtypes.h
index 778fd03..67f71d2 100644
--- a/include/d3dtypes.h
+++ b/include/d3dtypes.h
@@ -55,9 +55,9 @@
 #define D3DENUMRET_CANCEL                        DDENUMRET_CANCEL
 #define D3DENUMRET_OK                            DDENUMRET_OK
 
-typedef HRESULT (CALLBACK* LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset);
-typedef HRESULT (CALLBACK* LPD3DENUMTEXTUREFORMATSCALLBACK)(LPDDSURFACEDESC lpDdsd, LPVOID lpContext);
-typedef HRESULT (CALLBACK* LPD3DENUMPIXELFORMATSCALLBACK)(LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext);
+typedef HRESULT CALLBACK (*LPD3DVALIDATECALLBACK)(LPVOID lpUserArg, DWORD dwOffset);
+typedef HRESULT CALLBACK (*LPD3DENUMTEXTUREFORMATSCALLBACK)(LPDDSURFACEDESC lpDdsd, LPVOID lpContext);
+typedef HRESULT CALLBACK (*LPD3DENUMPIXELFORMATSCALLBACK)(LPDDPIXELFORMAT lpDDPixFmt, LPVOID lpContext);
 
 typedef DWORD D3DCOLOR, *LPD3DCOLOR;
 
diff --git a/include/ddeml.h b/include/ddeml.h
index b5c16d8..1a9dc3f 100644
--- a/include/ddeml.h
+++ b/include/ddeml.h
@@ -219,9 +219,9 @@
 
 *******************************************************/
 
-typedef HDDEDATA (CALLBACK *PFNCALLBACK16)(UINT16,UINT16,HCONV,HSZ,HSZ,
+typedef HDDEDATA CALLBACK (*PFNCALLBACK16)(UINT16,UINT16,HCONV,HSZ,HSZ,
                                            HDDEDATA,DWORD,DWORD);
-typedef HDDEDATA (CALLBACK *PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,
+typedef HDDEDATA CALLBACK (*PFNCALLBACK)(UINT,UINT,HCONV,HSZ,HSZ,
                                            HDDEDATA,DWORD,DWORD);
 
 /***************************************************
diff --git a/include/ddraw.h b/include/ddraw.h
index 1fca20c..d335d2f 100644
--- a/include/ddraw.h
+++ b/include/ddraw.h
@@ -41,7 +41,7 @@
 typedef struct IDirectDraw IDirectDraw,*LPDIRECTDRAW;
 typedef struct IDirectDraw2 IDirectDraw2,*LPDIRECTDRAW2;
 typedef struct IDirectDraw4 IDirectDraw4,*LPDIRECTDRAW4;
-typedef struct IDirectDraw4 IDirectDraw7,*LPDIRECTDRAW7;
+typedef struct IDirectDraw7 IDirectDraw7,*LPDIRECTDRAW7;
 typedef struct IDirectDrawClipper IDirectDrawClipper,*LPDIRECTDRAWCLIPPER;
 typedef struct IDirectDrawPalette IDirectDrawPalette,*LPDIRECTDRAWPALETTE;
 typedef struct IDirectDrawSurface IDirectDrawSurface,*LPDIRECTDRAWSURFACE;
@@ -976,15 +976,15 @@
 	DWORD	dwReserved1;
 } DDCOLORCONTROL,*LPDDCOLORCONTROL;
 
-typedef BOOL (CALLBACK * LPDDENUMCALLBACKA)(GUID *, LPSTR, LPSTR, LPVOID);
-typedef BOOL (CALLBACK * LPDDENUMCALLBACKW)(GUID *, LPWSTR, LPWSTR, LPVOID);
+typedef BOOL CALLBACK (*LPDDENUMCALLBACKA)(GUID *, LPSTR, LPSTR, LPVOID);
+typedef BOOL CALLBACK (*LPDDENUMCALLBACKW)(GUID *, LPWSTR, LPWSTR, LPVOID);
 DECL_WINELIB_TYPE_AW(LPDDENUMCALLBACK)
 
-typedef HRESULT (CALLBACK * LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID);
-typedef HRESULT (CALLBACK * LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID);
+typedef HRESULT CALLBACK (*LPDDENUMMODESCALLBACK)(LPDDSURFACEDESC, LPVOID);
+typedef HRESULT CALLBACK (*LPDDENUMSURFACESCALLBACK)(LPDIRECTDRAWSURFACE, LPDDSURFACEDESC, LPVOID);
 
-typedef BOOL (CALLBACK * LPDDENUMCALLBACKEXA)(GUID *, LPSTR, LPSTR, LPVOID, HMONITOR);
-typedef BOOL (CALLBACK * LPDDENUMCALLBACKEXW)(GUID *, LPWSTR, LPWSTR, LPVOID, HMONITOR);
+typedef BOOL CALLBACK (*LPDDENUMCALLBACKEXA)(GUID *, LPSTR, LPSTR, LPVOID, HMONITOR);
+typedef BOOL CALLBACK (*LPDDENUMCALLBACKEXW)(GUID *, LPWSTR, LPWSTR, LPVOID, HMONITOR);
 DECL_WINELIB_TYPE_AW(LPDDENUMCALLBACKEX)
 
 HRESULT WINAPI DirectDrawEnumerateExA( LPDDENUMCALLBACKEXA lpCallback, LPVOID lpContext, DWORD dwFlags);
diff --git a/include/dinput.h b/include/dinput.h
index 4c3d437..8133ace 100644
--- a/include/dinput.h
+++ b/include/dinput.h
@@ -228,15 +228,15 @@
 DECL_WINELIB_TYPE_AW(LPDIDEVICEINSTANCE)
 DECL_WINELIB_TYPE_AW(LPCDIDEVICEINSTANCE)
 
-typedef BOOL (CALLBACK * LPDIENUMDEVICESCALLBACKA)(LPCDIDEVICEINSTANCEA,LPVOID);
-typedef BOOL (CALLBACK * LPDIENUMDEVICESCALLBACKW)(LPCDIDEVICEINSTANCEW,LPVOID);
+typedef BOOL CALLBACK (*LPDIENUMDEVICESCALLBACKA)(LPCDIDEVICEINSTANCEA,LPVOID);
+typedef BOOL CALLBACK (*LPDIENUMDEVICESCALLBACKW)(LPCDIDEVICEINSTANCEW,LPVOID);
 DECL_WINELIB_TYPE_AW(LPDIENUMDEVICESCALLBACK)
 
-typedef BOOL (CALLBACK * LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA, LPVOID);
-typedef BOOL (CALLBACK * LPDIENUMDEVICEOBJECTSCALLBACKW)(LPCDIDEVICEOBJECTINSTANCEW,LPVOID);
+typedef BOOL CALLBACK (*LPDIENUMDEVICEOBJECTSCALLBACKA)(LPCDIDEVICEOBJECTINSTANCEA, LPVOID);
+typedef BOOL CALLBACK (*LPDIENUMDEVICEOBJECTSCALLBACKW)(LPCDIDEVICEOBJECTINSTANCEW,LPVOID);
 DECL_WINELIB_TYPE_AW(LPDIENUMDEVICEOBJECTSCALLBACK)
 
-typedef BOOL (CALLBACK * LPDIENUMCREATEDEFFECTOBJECTSCALLBACK)(LPDIRECTINPUTEFFECT, LPVOID);
+typedef BOOL CALLBACK (*LPDIENUMCREATEDEFFECTOBJECTSCALLBACK)(LPDIRECTINPUTEFFECT, LPVOID);
 
 #define DIK_ESCAPE          0x01
 #define DIK_1               0x02
@@ -631,8 +631,8 @@
 typedef const DIEFFECTINFOW *LPCDIEFFECTINFOW;
 typedef const DIEFFECTINFO  *LPCDIEFFECTINFO;
 
-typedef BOOL (CALLBACK * LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID);
-typedef BOOL (CALLBACK * LPDIENUMEFFECTSCALLBACKW)(LPCDIEFFECTINFOW, LPVOID);
+typedef BOOL CALLBACK (*LPDIENUMEFFECTSCALLBACKA)(LPCDIEFFECTINFOA, LPVOID);
+typedef BOOL CALLBACK (*LPDIENUMEFFECTSCALLBACKW)(LPCDIEFFECTINFOW, LPVOID);
 
 typedef struct DIEFFESCAPE {
 	DWORD	dwSize;
diff --git a/include/dplay.h b/include/dplay.h
index 71e2ddd..891a9f3 100644
--- a/include/dplay.h
+++ b/include/dplay.h
@@ -328,14 +328,14 @@
 
 
 
-typedef BOOL (CALLBACK* LPDPENUMDPCALLBACKW)(
+typedef BOOL CALLBACK (*LPDPENUMDPCALLBACKW)(
     LPGUID      lpguidSP,
     LPWSTR      lpSPName,
     DWORD       dwMajorVersion,
     DWORD       dwMinorVersion,
     LPVOID      lpContext);
 
-typedef BOOL (CALLBACK* LPDPENUMDPCALLBACKA)(
+typedef BOOL CALLBACK (*LPDPENUMDPCALLBACKA)(
     LPGUID      lpguidSP,
     LPSTR       lpSPName,       /* ptr to str w/ driver description */
     DWORD       dwMajorVersion, /* Major # of driver spec in lpguidSP */
@@ -353,7 +353,7 @@
 
 typedef const DPNAME *LPCDPNAME;
 
-typedef BOOL (CALLBACK* LPDPENUMCONNECTIONSCALLBACK)(
+typedef BOOL CALLBACK (*LPDPENUMCONNECTIONSCALLBACK)(
     LPCGUID     lpguidSP,
     LPVOID      lpConnection,
     DWORD       dwConnectionSize,
@@ -361,7 +361,7 @@
     DWORD       dwFlags,
     LPVOID      lpContext);
 
-typedef BOOL (CALLBACK* LPDPENUMSESSIONSCALLBACK)(
+typedef BOOL CALLBACK (*LPDPENUMSESSIONSCALLBACK)(
     LPDPSESSIONDESC lpDPSessionDesc,
     LPVOID      lpContext,
     LPDWORD     lpdwTimeOut,
@@ -372,21 +372,21 @@
 extern HRESULT WINAPI DirectPlayEnumerateW( LPDPENUMDPCALLBACKW, LPVOID );
 extern HRESULT WINAPI DirectPlayCreate( LPGUID lpGUID, LPDIRECTPLAY2 *lplpDP, IUnknown *pUnk);
 
-typedef BOOL (CALLBACK* LPDPENUMPLAYERSCALLBACK)(
+typedef BOOL CALLBACK (*LPDPENUMPLAYERSCALLBACK)(
     DPID   dpId,
     LPSTR  lpFriendlyName,
     LPSTR  lpFormalName,
     DWORD  dwFlags,
     LPVOID          lpContext );
 
-typedef BOOL (CALLBACK* LPDPENUMPLAYERSCALLBACK2)(
+typedef BOOL CALLBACK (*LPDPENUMPLAYERSCALLBACK2)(
     DPID            dpId,
     DWORD           dwPlayerType,
     LPCDPNAME       lpName,
     DWORD           dwFlags,
     LPVOID          lpContext );
 
-typedef BOOL (CALLBACK* LPDPENUMSESSIONSCALLBACK2)(
+typedef BOOL CALLBACK (*LPDPENUMSESSIONSCALLBACK2)(
     LPCDPSESSIONDESC2   lpThisSD,
     LPDWORD             lpdwTimeOut,
     DWORD               dwFlags,
diff --git a/include/dplobby.h b/include/dplobby.h
index 0bb97fd..6ae34b9 100644
--- a/include/dplobby.h
+++ b/include/dplobby.h
@@ -336,18 +336,18 @@
 
 
 
-typedef BOOL (CALLBACK* LPDPENUMADDRESSCALLBACK)(
+typedef BOOL CALLBACK (*LPDPENUMADDRESSCALLBACK)(
     REFGUID         guidDataType,
     DWORD           dwDataSize,
     LPCVOID         lpData,
     LPVOID          lpContext );
 
-typedef BOOL (CALLBACK* LPDPLENUMADDRESSTYPESCALLBACK)(
+typedef BOOL CALLBACK (*LPDPLENUMADDRESSTYPESCALLBACK)(
     REFGUID         guidDataType,
     LPVOID          lpContext,
     DWORD           dwFlags );
 
-typedef BOOL (CALLBACK* LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
+typedef BOOL CALLBACK (*LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
     LPCDPLAPPINFO   lpAppInfo,
     LPVOID          lpContext,
     DWORD           dwFlags );
diff --git a/include/dsound.h b/include/dsound.h
index 62b0a2e..db0b2d9 100644
--- a/include/dsound.h
+++ b/include/dsound.h
@@ -214,8 +214,8 @@
 
 typedef LPVOID* LPLPVOID;
 
-typedef BOOL (CALLBACK *LPDSENUMCALLBACKW)(LPGUID,LPWSTR,LPWSTR,LPVOID);
-typedef BOOL (CALLBACK *LPDSENUMCALLBACKA)(LPGUID,LPSTR,LPSTR,LPVOID);
+typedef BOOL CALLBACK (*LPDSENUMCALLBACKW)(LPGUID,LPWSTR,LPWSTR,LPVOID);
+typedef BOOL CALLBACK (*LPDSENUMCALLBACKA)(LPGUID,LPSTR,LPSTR,LPVOID);
 
 extern HRESULT WINAPI DirectSoundCreate(LPCGUID lpGUID,LPDIRECTSOUND * ppDS,IUnknown *pUnkOuter );
 extern HRESULT WINAPI DirectSoundEnumerateA(LPDSENUMCALLBACKA, LPVOID);
diff --git a/include/gdi.h b/include/gdi.h
index a475923..b970a4d 100644
--- a/include/gdi.h
+++ b/include/gdi.h
@@ -137,7 +137,7 @@
 } WIN_DC_INFO;
 
 
-typedef BOOL16 (CALLBACK *DCHOOKPROC)(HDC16,WORD,DWORD,LPARAM);
+typedef BOOL16 CALLBACK (*DCHOOKPROC)(HDC16,WORD,DWORD,LPARAM);
 
 typedef struct tagDC
 {
diff --git a/include/imagehlp.h b/include/imagehlp.h
index 3296498..8db86b6 100644
--- a/include/imagehlp.h
+++ b/include/imagehlp.h
@@ -279,47 +279,47 @@
  * Callbacks
  */
 
-typedef BOOL (CALLBACK *PIMAGEHLP_STATUS_ROUTINE)(
+typedef BOOL CALLBACK (*PIMAGEHLP_STATUS_ROUTINE)(
   IMAGEHLP_STATUS_REASON Reason, LPSTR ImageName, LPSTR DllName,
   ULONG Va, ULONG Parameter
 );
 
-typedef BOOL (CALLBACK *PSYM_ENUMMODULES_CALLBACK)(
+typedef BOOL CALLBACK (*PSYM_ENUMMODULES_CALLBACK)(
   LPSTR ModuleName, ULONG BaseOfDll, PVOID UserContext
 );
 
-typedef BOOL (CALLBACK *PSYM_ENUMSYMBOLS_CALLBACK)(
+typedef BOOL CALLBACK (*PSYM_ENUMSYMBOLS_CALLBACK)(
   LPSTR SymbolName, ULONG SymbolAddress, ULONG SymbolSize, 
   PVOID UserContext
 );
 
-typedef BOOL (CALLBACK *PENUMLOADED_MODULES_CALLBACK)(
+typedef BOOL CALLBACK (*PENUMLOADED_MODULES_CALLBACK)(
   LPSTR ModuleName, ULONG ModuleBase, ULONG ModuleSize, 
   PVOID UserContext
 );
 
-typedef BOOL (CALLBACK *PSYMBOL_REGISTERED_CALLBACK)(
+typedef BOOL CALLBACK (*PSYMBOL_REGISTERED_CALLBACK)(
   HANDLE hProcess, ULONG ActionCode, PVOID CallbackData,
   PVOID UserContext
 );
 
-typedef BOOL (CALLBACK *DIGEST_FUNCTION)(
+typedef BOOL CALLBACK (*DIGEST_FUNCTION)(
   DIGEST_HANDLE refdata, PBYTE pData, DWORD dwLength
 );
 
-typedef BOOL (CALLBACK *PREAD_PROCESS_MEMORY_ROUTINE)(
+typedef BOOL CALLBACK (*PREAD_PROCESS_MEMORY_ROUTINE)(
   HANDLE  hProcess, PCVOID lpBaseAddress, PVOID lpBuffer,
   DWORD nSize, PDWORD lpNumberOfBytesRead
 );
 
-typedef PVOID (CALLBACK *PFUNCTION_TABLE_ACCESS_ROUTINE)(
+typedef PVOID CALLBACK (*PFUNCTION_TABLE_ACCESS_ROUTINE)(
   HANDLE hProcess, DWORD AddrBase
 );
 
-typedef DWORD (CALLBACK *PGET_MODULE_BASE_ROUTINE)(
+typedef DWORD CALLBACK (*PGET_MODULE_BASE_ROUTINE)(
   HANDLE hProcess, DWORD ReturnAddress);
 
-typedef DWORD (CALLBACK *PTRANSLATE_ADDRESS_ROUTINE)(
+typedef DWORD CALLBACK (*PTRANSLATE_ADDRESS_ROUTINE)(
   HANDLE hProcess, HANDLE hThread, PADDRESS lpaddr
 );
 
diff --git a/include/imm.h b/include/imm.h
index 1cb4a87..856d396 100644
--- a/include/imm.h
+++ b/include/imm.h
@@ -15,8 +15,8 @@
 typedef HANDLE HIMCC;
 
 
-typedef int (CALLBACK *REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
-typedef int (CALLBACK *REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
+typedef int CALLBACK (*REGISTERWORDENUMPROCA)(LPCSTR, DWORD, LPCSTR, LPVOID);
+typedef int CALLBACK (*REGISTERWORDENUMPROCW)(LPCWSTR, DWORD, LPCWSTR, LPVOID);
 
 typedef struct tagCANDIDATEFORM
 {
diff --git a/include/keyboard.h b/include/keyboard.h
index 251806a..7ad803e 100644
--- a/include/keyboard.h
+++ b/include/keyboard.h
@@ -20,7 +20,7 @@
 } KBINFO, *LPKBINFO;
 #include "poppack.h"
 
-typedef VOID (CALLBACK *LPKEYBD_EVENT_PROC)(BYTE,BYTE,DWORD,DWORD);
+typedef VOID CALLBACK (*LPKEYBD_EVENT_PROC)(BYTE,BYTE,DWORD,DWORD);
 
 WORD WINAPI KEYBOARD_Inquire(LPKBINFO kbInfo);
 VOID WINAPI KEYBOARD_Enable(LPKEYBD_EVENT_PROC lpKeybEventProc,
diff --git a/include/mmddk.h b/include/mmddk.h
index a1de5d4..b08cdac 100644
--- a/include/mmddk.h
+++ b/include/mmddk.h
@@ -278,7 +278,7 @@
 typedef JOYCALIBRATE *LPJOYCALIBRATE;
 
 /* prototype for joystick message function */
-typedef UINT (CALLBACK JOYDEVMSGPROC)(DWORD dwID, UINT uMessage, LPARAM lParam1, LPARAM lParam2);
+typedef UINT CALLBACK (JOYDEVMSGPROC)(DWORD dwID, UINT uMessage, LPARAM lParam1, LPARAM lParam2);
 typedef JOYDEVMSGPROC *LPJOYDEVMSGPROC;
 
 /* messages sent to joystick driver's DriverProc() function */
diff --git a/include/mmsystem.h b/include/mmsystem.h
index 4275f7b..3102af8 100644
--- a/include/mmsystem.h
+++ b/include/mmsystem.h
@@ -151,8 +151,8 @@
 #define CALLBACK_FUNCTION   	0x00030000l    	/* dwCallback is a FARPROC */
 #define CALLBACK_EVENT		0x00050000l	/* dwCallback is an EVENT Handler */
 
-typedef void (CALLBACK *LPDRVCALLBACK16) (HDRVR16 h, UINT16 uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
-typedef void (CALLBACK *LPDRVCALLBACK) (HDRVR h, UINT uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
+typedef void CALLBACK (*LPDRVCALLBACK16) (HDRVR16 h, UINT16 uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
+typedef void CALLBACK (*LPDRVCALLBACK) (HDRVR h, UINT uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
 
 #define MM_MICROSOFT            1       /* Microsoft Corp. */
 
@@ -775,8 +775,8 @@
 #define TIMERR_NOCANDO        (TIMERR_BASE+1)      /* request not completed */
 #define TIMERR_STRUCT         (TIMERR_BASE+33)     /* time struct size */
 
-typedef void (CALLBACK *LPTIMECALLBACK16)(UINT16 uTimerID, UINT16 uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
-typedef void (CALLBACK *LPTIMECALLBACK)(UINT uTimerID, UINT uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
+typedef void CALLBACK (*LPTIMECALLBACK16)(UINT16 uTimerID, UINT16 uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
+typedef void CALLBACK (*LPTIMECALLBACK)(UINT uTimerID, UINT uMessage, DWORD dwUser, DWORD dw1, DWORD dw2);
 
 #define TIME_ONESHOT			0x0000	/* program timer for single event */
 #define TIME_PERIODIC			0x0001	/* program for continuous periodic event */
@@ -1488,9 +1488,9 @@
 #define CFSEPCHAR       '+'             /* compound file name separator char. */
 
 typedef DWORD           FOURCC;         /* a four character code */
-typedef LONG (CALLBACK *LPMMIOPROC16)(LPSTR lpmmioinfo, UINT16 uMessage,
+typedef LONG CALLBACK (*LPMMIOPROC16)(LPSTR lpmmioinfo, UINT16 uMessage,
                                       LPARAM lParam1, LPARAM lParam2);
-typedef LONG (CALLBACK *LPMMIOPROC)(LPSTR lpmmioinfo, UINT uMessage,
+typedef LONG CALLBACK (*LPMMIOPROC)(LPSTR lpmmioinfo, UINT uMessage,
 				    LPARAM lParam1, LPARAM lParam2);
 
 typedef struct {
@@ -1658,7 +1658,7 @@
 UINT16		WINAPI 	mmioCreateChunk16(HMMIO16,MMCKINFO*,UINT16);
 UINT		WINAPI	mmioCreateChunk(HMMIO,MMCKINFO*,UINT);
 
-typedef UINT16 (CALLBACK *YIELDPROC)(UINT16,DWORD);
+typedef UINT16 CALLBACK (*YIELDPROC)(UINT16,DWORD);
 
 DWORD		WINAPI	mciSendCommand16(UINT16,UINT16,DWORD,DWORD);
 DWORD		WINAPI	mciSendCommandA(UINT,UINT,DWORD,DWORD);
diff --git a/include/msacm.h b/include/msacm.h
index 95bf7aa..5f55bcb 100644
--- a/include/msacm.h
+++ b/include/msacm.h
@@ -191,35 +191,35 @@
  * Callbacks
  */
 
-typedef BOOL (CALLBACK *ACMDRIVERENUMCB)(
+typedef BOOL CALLBACK (*ACMDRIVERENUMCB)(
   HACMDRIVERID hadid, DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL16 (CALLBACK *ACMDRIVERENUMCB16)(
+typedef BOOL16 CALLBACK (*ACMDRIVERENUMCB16)(
   HACMDRIVERID16 hadid, DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCA)(
+typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCA)(
   HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
 );
 
-typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROCW)(
+typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROCW)(
   HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
 );
 
-typedef UINT (CALLBACK *ACMFILTERCHOOSEHOOKPROC16)(
+typedef UINT CALLBACK (*ACMFILTERCHOOSEHOOKPROC16)(
   HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
 );
 
-typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCA)(
+typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCA)(
   HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
 );
 
-typedef UINT (CALLBACK *ACMFORMATCHOOSEHOOKPROCW)(
+typedef UINT CALLBACK (*ACMFORMATCHOOSEHOOKPROCW)(
   HWND hwnd, UINT uMsg, WPARAM wParam, LPARAM lParam
 );
 
-typedef UINT16 (CALLBACK *ACMFORMATCHOOSEHOOKPROC16)(
+typedef UINT16 CALLBACK (*ACMFORMATCHOOSEHOOKPROC16)(
   HWND16 hwnd, UINT16 uMsg, WPARAM16 wParam, LPARAM lParam
 );
 
@@ -614,62 +614,62 @@
  * Callbacks 2
  */
 
-typedef BOOL (CALLBACK *ACMFILTERENUMCBA)(
+typedef BOOL CALLBACK (*ACMFILTERENUMCBA)(
   HACMDRIVERID hadid, PACMFILTERDETAILSA pafd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL (CALLBACK *ACMFILTERENUMCBW)(
+typedef BOOL CALLBACK (*ACMFILTERENUMCBW)(
   HACMDRIVERID hadid, PACMFILTERDETAILSW pafd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL16 (CALLBACK *ACMFILTERENUMCB16)(
+typedef BOOL16 CALLBACK (*ACMFILTERENUMCB16)(
  HACMDRIVERID16 hadid, LPACMFILTERDETAILS16 pafd,
  DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBA)(
+typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBA)(
   HACMDRIVERID hadid, PACMFILTERTAGDETAILSA paftd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL (CALLBACK *ACMFILTERTAGENUMCBW)(
+typedef BOOL CALLBACK (*ACMFILTERTAGENUMCBW)(
   HACMDRIVERID hadid, PACMFILTERTAGDETAILSW paftd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL16 (CALLBACK *ACMFILTERTAGENUMCB16)(
+typedef BOOL16 CALLBACK (*ACMFILTERTAGENUMCB16)(
   HACMDRIVERID16 hadid, LPACMFILTERTAGDETAILS16 paftd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL (CALLBACK *ACMFORMATENUMCBA)(
+typedef BOOL CALLBACK (*ACMFORMATENUMCBA)(
   HACMDRIVERID hadid, PACMFORMATDETAILSA pafd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL (CALLBACK *ACMFORMATENUMCBW)(
+typedef BOOL CALLBACK (*ACMFORMATENUMCBW)(
   HACMDRIVERID hadid, PACMFORMATDETAILSW pafd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL16 (CALLBACK *ACMFORMATENUMCB16)(
+typedef BOOL16 CALLBACK (*ACMFORMATENUMCB16)(
   HACMDRIVERID16 hadid, LPACMFORMATDETAILS16 pafd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBA)(
+typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBA)(
   HACMDRIVERID hadid, PACMFORMATTAGDETAILSA paftd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL (CALLBACK *ACMFORMATTAGENUMCBW)(
+typedef BOOL CALLBACK (*ACMFORMATTAGENUMCBW)(
   HACMDRIVERID hadid, PACMFORMATTAGDETAILSW paftd,
   DWORD dwInstance, DWORD fdwSupport
 );
 
-typedef BOOL16 (CALLBACK *ACMFORMATTAGENUMCB16)(
+typedef BOOL16 CALLBACK (*ACMFORMATTAGENUMCB16)(
   HACMDRIVERID16 hadid, LPACMFORMATTAGDETAILS16 paftd,
   DWORD dwInstance, DWORD fdwSupport
 );
diff --git a/include/netspi.h b/include/netspi.h
index af8d2ac..320713e 100644
--- a/include/netspi.h
+++ b/include/netspi.h
@@ -124,7 +124,7 @@
 
 } NOTIFYPERFORMANCEA, *LPNOTIFYPERFORMANCEA;
 
-typedef DWORD (CALLBACK *NOTIFYCALLBACK)(LPNOTIFYINFO,LPVOID);
+typedef DWORD CALLBACK (*NOTIFYCALLBACK)(LPNOTIFYINFO,LPVOID);
 
 DWORD  WINAPI NPSNotifyRegisterA(enum NOTIFYTYPE,NOTIFYCALLBACK);
 #define       NPSNotifyRegister WINELIB_NAME_AW(NPSNotifyRegister)
diff --git a/include/ntddk.h b/include/ntddk.h
index 3acb954..b4792e1 100644
--- a/include/ntddk.h
+++ b/include/ntddk.h
@@ -31,7 +31,7 @@
 	ULONG_PTR Information;
 } IO_STATUS_BLOCK, *PIO_STATUS_BLOCK;    
 
-typedef VOID (NTAPI *PIO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved );
+typedef VOID NTAPI (*PIO_APC_ROUTINE) ( PVOID ApcContext, PIO_STATUS_BLOCK IoStatusBlock, ULONG Reserved );
 
 /*
 	registry 
diff --git a/include/ole.h b/include/ole.h
index 9a85b5e..9fbf9d1 100644
--- a/include/ole.h
+++ b/include/ole.h
@@ -150,8 +150,8 @@
 } OLETARGETDEVICE;
 typedef struct _OLESTREAM* LPOLESTREAM;
 typedef struct _OLESTREAMVTBL {
-	DWORD	(CALLBACK *Get)(LPOLESTREAM,LPSTR,DWORD);
-	DWORD	(CALLBACK *Put)(LPOLESTREAM,LPSTR,DWORD);
+	DWORD	CALLBACK (*Get)(LPOLESTREAM,LPSTR,DWORD);
+	DWORD	CALLBACK (*Put)(LPOLESTREAM,LPSTR,DWORD);
 } OLESTREAMVTBL;
 typedef OLESTREAMVTBL*	LPOLESTREAMVTBL;
 typedef struct _OLESTREAM {
@@ -161,19 +161,19 @@
 typedef struct _OLEOBJECT*	LPOLEOBJECT;
 typedef struct _OLECLIENT*	LPOLECLIENT;
 typedef struct _OLESERVERDOCVTBL {
-	OLESTATUS	(CALLBACK *Save)(LPOLESERVERDOC);
-	OLESTATUS	(CALLBACK *Close)(LPOLESERVERDOC);
-	OLESTATUS	(CALLBACK *SetHostNames)(LPOLESERVERDOC,LPCOLESTR16,LPCOLESTR16);
-	OLESTATUS	(CALLBACK *SetDocDimensions)(LPOLESERVERDOC,LPRECT16);
+	OLESTATUS	CALLBACK (*Save)(LPOLESERVERDOC);
+	OLESTATUS	CALLBACK (*Close)(LPOLESERVERDOC);
+	OLESTATUS	CALLBACK (*SetHostNames)(LPOLESERVERDOC,LPCOLESTR16,LPCOLESTR16);
+	OLESTATUS	CALLBACK (*SetDocDimensions)(LPOLESERVERDOC,LPRECT16);
 #ifdef __WINE__
 /* GetObject is a WINELIB_NAME macro so it cannot be used in Wine itself */
-	OLESTATUS	(CALLBACK *pGetObject)(LPOLESERVERDOC,LPCOLESTR16,LPOLEOBJECT*,LPOLECLIENT);
+	OLESTATUS	CALLBACK (*pGetObject)(LPOLESERVERDOC,LPCOLESTR16,LPOLEOBJECT*,LPOLECLIENT);
 #else
-	OLESTATUS	(CALLBACK *GetObject)(LPOLESERVERDOC,LPCOLESTR16,LPOLEOBJECT*,LPOLECLIENT);
+	OLESTATUS	CALLBACK (*GetObject)(LPOLESERVERDOC,LPCOLESTR16,LPOLEOBJECT*,LPOLECLIENT);
 #endif
-	OLESTATUS	(CALLBACK *Release)(LPOLESERVERDOC);
-	OLESTATUS	(CALLBACK *SetColorScheme)(LPOLESERVERDOC,LPLOGPALETTE);
-	OLESTATUS	(CALLBACK *Execute)(LPOLESERVERDOC,HGLOBAL16);
+	OLESTATUS	CALLBACK (*Release)(LPOLESERVERDOC);
+	OLESTATUS	CALLBACK (*SetColorScheme)(LPOLESERVERDOC,LPLOGPALETTE);
+	OLESTATUS	CALLBACK (*Execute)(LPOLESERVERDOC,HGLOBAL16);
 } OLESERVERDOCVTBL;
 typedef OLESERVERDOCVTBL*	LPOLESERVERDOCVTBL;
 typedef struct _OLESERVERDOC {
@@ -183,13 +183,13 @@
 
 typedef struct _OLESERVER*	LPOLESERVER;
 typedef struct _OLESERVERVTBL {
-	OLESTATUS	(CALLBACK *Open)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPOLESERVERDOC *);
-	OLESTATUS	(CALLBACK *Create)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC*);
-	OLESTATUS	(CALLBACK *CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
-	OLESTATUS	(CALLBACK *Edit)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
-	OLESTATUS	(CALLBACK *Exit)(LPOLESERVER);
-	OLESTATUS	(CALLBACK *Release)(LPOLESERVER); 
-	OLESTATUS	(CALLBACK *Execute)(LPOLESERVER); 
+	OLESTATUS	CALLBACK (*Open)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPOLESERVERDOC *);
+	OLESTATUS	CALLBACK (*Create)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC*);
+	OLESTATUS	CALLBACK (*CreateFromTemplate)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
+	OLESTATUS	CALLBACK (*Edit)(LPOLESERVER,LHSERVERDOC,LPCOLESTR16,LPCOLESTR16,LPOLESERVERDOC *);
+	OLESTATUS	CALLBACK (*Exit)(LPOLESERVER);
+	OLESTATUS	CALLBACK (*Release)(LPOLESERVER); 
+	OLESTATUS	CALLBACK (*Execute)(LPOLESERVER); 
 } OLESERVERVTBL; 
 typedef OLESERVERVTBL	*LPOLESERVERVTBL;
 typedef struct _OLESERVER {
@@ -197,7 +197,7 @@
 	/* server specific data */
 } OLESERVER;
 typedef struct _OLECLIENTVTBL {
-	int (CALLBACK *CallBack)(LPOLECLIENT,OLE_NOTIFICATION,LPOLEOBJECT);
+	int CALLBACK (*CallBack)(LPOLECLIENT,OLE_NOTIFICATION,LPOLEOBJECT);
 } OLECLIENTVTBL;
 typedef OLECLIENTVTBL	*LPOLECLIENTVTBL;
 
@@ -207,44 +207,44 @@
 } OLECLIENT;
 
 typedef struct _OLEOBJECTVTBL {
-        void *  	(CALLBACK *QueryProtocol)(LPOLEOBJECT,LPCOLESTR16);
-	OLESTATUS	(CALLBACK *Release)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *Show)(LPOLEOBJECT,BOOL16);
-	OLESTATUS	(CALLBACK *DoVerb)(LPOLEOBJECT,UINT16,BOOL16,BOOL16);
-	OLESTATUS	(CALLBACK *GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *);
-	OLESTATUS	(CALLBACK *SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16);
-	OLESTATUS	(CALLBACK *SetTargetDevice)(LPOLEOBJECT,HGLOBAL16);
-	OLESTATUS	(CALLBACK *SetBounds)(LPOLEOBJECT,LPRECT16);
-	OLESTATUS	(CALLBACK *EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT);
-	OLESTATUS	(CALLBACK *SetColorScheme)(LPOLEOBJECT,LPLOGPALETTE);
-	OLESTATUS	(CALLBACK *Delete)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *SetHostNames)(LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
-	OLESTATUS	(CALLBACK *SaveToStream)(LPOLEOBJECT,LPOLESTREAM);
-	OLESTATUS	(CALLBACK *Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
-	OLESTATUS	(CALLBACK *CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
-	OLESTATUS	(CALLBACK *Equal)(LPOLEOBJECT,LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *CopyToClipBoard)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *Draw)(LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16);
-	OLESTATUS	(CALLBACK *Activate)(LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16);
-	OLESTATUS	(CALLBACK *Execute)(LPOLEOBJECT,HGLOBAL16,UINT16);
-	OLESTATUS	(CALLBACK *Close)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *Update)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *Reconnect)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *ObjectConvert)(LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT*);
-	OLESTATUS	(CALLBACK *GetLinkUpdateOptions)(LPOLEOBJECT,LPOLEOPT_UPDATE);
-	OLESTATUS	(CALLBACK *SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE);
-	OLESTATUS	(CALLBACK *Rename)(LPOLEOBJECT,LPCOLESTR16);
-	OLESTATUS	(CALLBACK *QueryName)(LPOLEOBJECT,LPSTR,LPUINT16);
-	OLESTATUS	(CALLBACK *QueryType)(LPOLEOBJECT,LPLONG);
-	OLESTATUS	(CALLBACK *QueryBounds)(LPOLEOBJECT,LPRECT16);
-	OLESTATUS	(CALLBACK *QuerySize)(LPOLEOBJECT,LPDWORD);
-	OLESTATUS	(CALLBACK *QueryOpen)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *QueryOutOfDate)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *QueryReleaseStatus)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *QueryReleaseError)(LPOLEOBJECT);
-	OLE_RELEASE_METHOD (CALLBACK *QueryReleaseMethod)(LPOLEOBJECT);
-	OLESTATUS	(CALLBACK *RequestData)(LPOLEOBJECT,OLECLIPFORMAT);
-	OLESTATUS	(CALLBACK *ObjectLong)(LPOLEOBJECT,UINT16,LPLONG);
+        void   		CALLBACK *(*QueryProtocol)(LPOLEOBJECT,LPCOLESTR16);
+	OLESTATUS	CALLBACK (*Release)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*Show)(LPOLEOBJECT,BOOL16);
+	OLESTATUS	CALLBACK (*DoVerb)(LPOLEOBJECT,UINT16,BOOL16,BOOL16);
+	OLESTATUS	CALLBACK (*GetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16 *);
+	OLESTATUS	CALLBACK (*SetData)(LPOLEOBJECT,OLECLIPFORMAT,HANDLE16);
+	OLESTATUS	CALLBACK (*SetTargetDevice)(LPOLEOBJECT,HGLOBAL16);
+	OLESTATUS	CALLBACK (*SetBounds)(LPOLEOBJECT,LPRECT16);
+	OLESTATUS	CALLBACK (*EnumFormats)(LPOLEOBJECT,OLECLIPFORMAT);
+	OLESTATUS	CALLBACK (*SetColorScheme)(LPOLEOBJECT,LPLOGPALETTE);
+	OLESTATUS	CALLBACK (*Delete)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*SetHostNames)(LPOLEOBJECT,LPCOLESTR16,LPCOLESTR16);
+	OLESTATUS	CALLBACK (*SaveToStream)(LPOLEOBJECT,LPOLESTREAM);
+	OLESTATUS	CALLBACK (*Clone)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
+	OLESTATUS	CALLBACK (*CopyFromLink)(LPOLEOBJECT,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT *);
+	OLESTATUS	CALLBACK (*Equal)(LPOLEOBJECT,LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*CopyToClipBoard)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*Draw)(LPOLEOBJECT,HDC16,LPRECT16,LPRECT16,HDC16);
+	OLESTATUS	CALLBACK (*Activate)(LPOLEOBJECT,UINT16,BOOL16,BOOL16,HWND16,LPRECT16);
+	OLESTATUS	CALLBACK (*Execute)(LPOLEOBJECT,HGLOBAL16,UINT16);
+	OLESTATUS	CALLBACK (*Close)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*Update)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*Reconnect)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*ObjectConvert)(LPOLEOBJECT,LPCOLESTR16,LPOLECLIENT,LHCLIENTDOC,LPCOLESTR16,LPOLEOBJECT*);
+	OLESTATUS	CALLBACK (*GetLinkUpdateOptions)(LPOLEOBJECT,LPOLEOPT_UPDATE);
+	OLESTATUS	CALLBACK (*SetLinkUpdateOptions)(LPOLEOBJECT,OLEOPT_UPDATE);
+	OLESTATUS	CALLBACK (*Rename)(LPOLEOBJECT,LPCOLESTR16);
+	OLESTATUS	CALLBACK (*QueryName)(LPOLEOBJECT,LPSTR,LPUINT16);
+	OLESTATUS	CALLBACK (*QueryType)(LPOLEOBJECT,LPLONG);
+	OLESTATUS	CALLBACK (*QueryBounds)(LPOLEOBJECT,LPRECT16);
+	OLESTATUS	CALLBACK (*QuerySize)(LPOLEOBJECT,LPDWORD);
+	OLESTATUS	CALLBACK (*QueryOpen)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*QueryOutOfDate)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*QueryReleaseStatus)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*QueryReleaseError)(LPOLEOBJECT);
+	OLE_RELEASE_METHOD CALLBACK (*QueryReleaseMethod)(LPOLEOBJECT);
+	OLESTATUS	CALLBACK (*RequestData)(LPOLEOBJECT,OLECLIPFORMAT);
+	OLESTATUS	CALLBACK (*ObjectLong)(LPOLEOBJECT,UINT16,LPLONG);
 } OLEOBJECTVTBL;
 typedef OLEOBJECTVTBL*	LPOLEOBJECTVTBL;
 
diff --git a/include/ole2.h b/include/ole2.h
index f89ef2f..49a8a31 100644
--- a/include/ole2.h
+++ b/include/ole2.h
@@ -116,8 +116,8 @@
 
 typedef struct _OLESTREAM* LPOLESTREAM;
 typedef struct _OLESTREAMVTBL {
-	DWORD	(CALLBACK *Get)(LPOLESTREAM,LPSTR,DWORD);
-	DWORD	(CALLBACK *Put)(LPOLESTREAM,LPSTR,DWORD);
+	DWORD	CALLBACK (*Get)(LPOLESTREAM,LPSTR,DWORD);
+	DWORD	CALLBACK (*Put)(LPOLESTREAM,LPSTR,DWORD);
 } OLESTREAMVTBL;
 typedef OLESTREAMVTBL*	LPOLESTREAMVTBL;
 typedef struct _OLESTREAM {
diff --git a/include/oleauto.h b/include/oleauto.h
index 54ff82f..eb2334f 100644
--- a/include/oleauto.h
+++ b/include/oleauto.h
@@ -47,8 +47,8 @@
 HRESULT WINAPI 
 SafeArrayAllocData(struct tagSAFEARRAY *psa);
 
-struct tagSAFEARRAY* WINAPI 
-SafeArrayCreate(VARTYPE vt, UINT cDims, struct tagSAFEARRAYBOUND *rgsabound);
+struct tagSAFEARRAY WINAPI 
+*SafeArrayCreate(VARTYPE vt, UINT cDims, struct tagSAFEARRAYBOUND *rgsabound);
 
 HRESULT WINAPI 
 SafeArrayDestroyDescriptor(struct tagSAFEARRAY *psa);
@@ -98,8 +98,8 @@
 HRESULT WINAPI 
 SafeArrayCopy(struct tagSAFEARRAY *psa, struct tagSAFEARRAY **ppsaOut);
 
-struct tagSAFEARRAY* WINAPI
-SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements);
+struct tagSAFEARRAY WINAPI
+*SafeArrayCreateVector(VARTYPE vt, LONG lLbound, ULONG cElements);
 
 HRESULT WINAPI 
 SafeArrayRedim(struct tagSAFEARRAY *psa, struct tagSAFEARRAYBOUND *psaboundNew);
diff --git a/include/oledlg.h b/include/oledlg.h
index 4ee4248..3a38bd8 100644
--- a/include/oledlg.h
+++ b/include/oledlg.h
@@ -94,7 +94,7 @@
 #define OPF_SHOWHELP                    0x00000004L
 #define OPF_DISABLECONVERT              0x00000008L
 
-typedef UINT (CALLBACK *LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
+typedef UINT CALLBACK (*LPFNOLEUIHOOK)(HWND, UINT, WPARAM, LPARAM);
 
 /*****************************************************************************
  * INSERT OBJECT DIALOG
diff --git a/include/pe_image.h b/include/pe_image.h
index 4aaac26..eb69db3 100644
--- a/include/pe_image.h
+++ b/include/pe_image.h
@@ -47,7 +47,7 @@
 extern PIMAGE_RESOURCE_DIRECTORY GetResDirEntryA(PIMAGE_RESOURCE_DIRECTORY,LPCSTR,DWORD,BOOL);
 extern PIMAGE_RESOURCE_DIRECTORY GetResDirEntryW(PIMAGE_RESOURCE_DIRECTORY,LPCWSTR,DWORD,BOOL);
 
-typedef DWORD (CALLBACK*DLLENTRYPROC)(HMODULE,DWORD,LPVOID);
+typedef DWORD CALLBACK(*DLLENTRYPROC)(HMODULE,DWORD,LPVOID);
 
 typedef struct {
 	WORD	popl	WINE_PACKED;	/* 0x8f 0x05 */
diff --git a/include/process.h b/include/process.h
index 4a74bea..06d6b2b 100644
--- a/include/process.h
+++ b/include/process.h
@@ -157,7 +157,7 @@
                             BOOL inherit, DWORD flags,
                             STARTUPINFOA *startup, PROCESS_INFORMATION *info );
 
-static inline PDB * WINE_UNUSED PROCESS_Current(void)
+static inline PDB WINE_UNUSED *PROCESS_Current(void)
 {
     return NtCurrentTeb()->process;
 }
diff --git a/include/prsht.h b/include/prsht.h
index 02151fe..acc47cb 100644
--- a/include/prsht.h
+++ b/include/prsht.h
@@ -25,11 +25,11 @@
 typedef struct _PSP *HPROPSHEETPAGE;
 
 
-typedef UINT (CALLBACK *LPFNPSPCALLBACKA)(HWND, UINT, struct _PROPSHEETPAGEA*);
-typedef UINT (CALLBACK *LPFNPSPCALLBACKW)(HWND, UINT, struct _PROPSHEETPAGEW*);
-typedef INT  (CALLBACK *PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM);
-typedef BOOL (CALLBACK *LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM);
-typedef BOOL (CALLBACK *LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM);
+typedef UINT CALLBACK (*LPFNPSPCALLBACKA)(HWND, UINT, struct _PROPSHEETPAGEA*);
+typedef UINT CALLBACK (*LPFNPSPCALLBACKW)(HWND, UINT, struct _PROPSHEETPAGEW*);
+typedef INT  CALLBACK (*PFNPROPSHEETCALLBACK)(HWND, UINT, LPARAM);
+typedef BOOL CALLBACK (*LPFNADDPROPSHEETPAGE)(HPROPSHEETPAGE, LPARAM);
+typedef BOOL CALLBACK (*LPFNADDPROPSHEETPAGES)(LPVOID, LPFNADDPROPSHEETPAGE, LPARAM);
 
 /*
  * Property sheet support (structures)
diff --git a/include/richedit.h b/include/richedit.h
index a5ce258..1c10cb1 100644
--- a/include/richedit.h
+++ b/include/richedit.h
@@ -57,7 +57,7 @@
 #define EM_GETWORDBREAKPROCEX	(WM_USER + 80)
 #define EM_SETWORDBREAKPROCEX	(WM_USER + 81)
 
-typedef DWORD (CALLBACK* EDITSTREAMCALLBACK)( DWORD, LPBYTE, LONG, LONG * );
+typedef DWORD CALLBACK(* EDITSTREAMCALLBACK)( DWORD, LPBYTE, LONG, LONG * );
 
 typedef struct
 {
diff --git a/include/server.h b/include/server.h
index 6eb4a0f..8564b56 100644
--- a/include/server.h
+++ b/include/server.h
@@ -1319,7 +1319,7 @@
 extern const char *get_config_dir(void);
 
 /* get a pointer to the request buffer */
-static inline void * WINE_UNUSED get_req_buffer(void)
+static inline void WINE_UNUSED *get_req_buffer(void)
 {
     return NtCurrentTeb()->buffer;
 }
diff --git a/include/shlobj.h b/include/shlobj.h
index a1ac588..075b0bf4 100644
--- a/include/shlobj.h
+++ b/include/shlobj.h
@@ -186,7 +186,7 @@
 /****************************************************************************
  * SHBrowseForFolder API
  */
-typedef INT (CALLBACK* BFFCALLBACK)(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
+typedef INT CALLBACK (*BFFCALLBACK)(HWND hwnd, UINT uMsg, LPARAM lParam, LPARAM lpData);
 
 typedef struct tagBROWSEINFOA {
     HWND        hwndOwner;
@@ -318,7 +318,7 @@
 *  Look there for some clues on what to do here.
 */
 
-typedef HRESULT(CALLBACK *SHELLVIEWPROC)(DWORD dwUserParam,LPSHELLFOLDER psf,
+typedef HRESULT CALLBACK (*SHELLVIEWPROC)(DWORD dwUserParam,LPSHELLFOLDER psf,
                          HWND hwnd,UINT uMsg,UINT wParam,LPARAM lParam);
 
 /* NF valid values for the "viewmode" item of the SHELLTEMPLATE*/
diff --git a/include/tapi.h b/include/tapi.h
index f515249..c636e1b 100644
--- a/include/tapi.h
+++ b/include/tapi.h
@@ -403,7 +403,7 @@
     DWORD dwTranslateResults;
 } LINETRANSLATEOUTPUT, *LPLINETRANSLATEOUTPUT;
 
-typedef void (CALLBACK * LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
+typedef void CALLBACK (*LINECALLBACK)(DWORD, DWORD, DWORD, DWORD, DWORD, DWORD);
 
 typedef struct _PHONEAPP {
   int dummy;
@@ -500,7 +500,7 @@
     DWORD dwDevSpecificOffset;
 } PHONESTATUS, *LPPHONESTATUS;
 
-typedef void (CALLBACK * PHONECALLBACK)(HANDLE, DWORD, DWORD, DWORD, DWORD, DWORD);
+typedef void CALLBACK (*PHONECALLBACK)(HANDLE, DWORD, DWORD, DWORD, DWORD, DWORD);
 
 typedef struct varstring_tag {
     DWORD dwTotalSize;
diff --git a/include/task.h b/include/task.h
index eeb6939..dcc63be 100644
--- a/include/task.h
+++ b/include/task.h
@@ -54,7 +54,7 @@
 struct _NE_MODULE;
 
   /* signal proc typedef */
-typedef void (CALLBACK *USERSIGNALPROC)(HANDLE16, UINT16, UINT16,
+typedef void CALLBACK (*USERSIGNALPROC)(HANDLE16, UINT16, UINT16,
                                         HINSTANCE16, HQUEUE16);
 
   /* Task database. See 'Windows Internals' p. 226.
diff --git a/include/user.h b/include/user.h
index ec5775b..a2fe5cc 100644
--- a/include/user.h
+++ b/include/user.h
@@ -37,7 +37,7 @@
   BOOL auto_repeat;
 } KEYBOARD_CONFIG;
 
-typedef VOID (CALLBACK *LPMOUSE_EVENT_PROC)(DWORD,DWORD,DWORD,DWORD,DWORD);
+typedef VOID CALLBACK (*LPMOUSE_EVENT_PROC)(DWORD,DWORD,DWORD,DWORD,DWORD);
 
 typedef struct tagUSER_DRIVER {
     /* event functions */
diff --git a/include/winbase.h b/include/winbase.h
index 9f8f21a..5061d08 100644
--- a/include/winbase.h
+++ b/include/winbase.h
@@ -15,7 +15,7 @@
 #define	WEP_FREE_DLL        0
 #define	WEP_SYSTEM_EXIT     1
 
-typedef DWORD (CALLBACK *LPTHREAD_START_ROUTINE)(LPVOID);
+typedef DWORD CALLBACK (*LPTHREAD_START_ROUTINE)(LPVOID);
 
 #define EXCEPTION_DEBUG_EVENT       1
 #define CREATE_THREAD_DEBUG_EVENT   2
@@ -614,7 +614,7 @@
         HANDLE hEvent;
 } OVERLAPPED, *LPOVERLAPPED;
 
-typedef VOID (CALLBACK *LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped);
+typedef VOID CALLBACK (*LPOVERLAPPED_COMPLETION_ROUTINE)(DWORD dwErrorCode, DWORD dwNumberOfBytesTransfered, LPOVERLAPPED lpOverlapped);
 
 /* Process startup information.
  */
@@ -775,11 +775,11 @@
 } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS;
 
 
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *CODEPAGE_ENUMPROCW)(LPWSTR);
+typedef BOOL CALLBACK (*CODEPAGE_ENUMPROCA)(LPSTR);
+typedef BOOL CALLBACK (*CODEPAGE_ENUMPROCW)(LPWSTR);
 DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC)
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK *LOCALE_ENUMPROCW)(LPWSTR);
+typedef BOOL CALLBACK (*LOCALE_ENUMPROCA)(LPSTR);
+typedef BOOL CALLBACK (*LOCALE_ENUMPROCW)(LPWSTR);
 DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC)
 
 typedef struct tagSYSTEM_INFO
@@ -808,12 +808,12 @@
 #define	HIGH_PRIORITY_CLASS	0x00000080
 #define	REALTIME_PRIORITY_CLASS	0x00000100
 
-typedef BOOL (CALLBACK *ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG);
-typedef BOOL (CALLBACK *ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG);
-typedef BOOL (CALLBACK *ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG);
-typedef BOOL (CALLBACK *ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG);
-typedef BOOL (CALLBACK *ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG);
-typedef BOOL (CALLBACK *ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG);
+typedef BOOL CALLBACK (*ENUMRESTYPEPROCA)(HMODULE,LPSTR,LONG);
+typedef BOOL CALLBACK (*ENUMRESTYPEPROCW)(HMODULE,LPWSTR,LONG);
+typedef BOOL CALLBACK (*ENUMRESNAMEPROCA)(HMODULE,LPCSTR,LPSTR,LONG);
+typedef BOOL CALLBACK (*ENUMRESNAMEPROCW)(HMODULE,LPCWSTR,LPWSTR,LONG);
+typedef BOOL CALLBACK (*ENUMRESLANGPROCA)(HMODULE,LPCSTR,LPCSTR,WORD,LONG);
+typedef BOOL CALLBACK (*ENUMRESLANGPROCW)(HMODULE,LPCWSTR,LPCWSTR,WORD,LONG);
 
 DECL_WINELIB_TYPE_AW(ENUMRESTYPEPROC)
 DECL_WINELIB_TYPE_AW(ENUMRESNAMEPROC)
@@ -876,7 +876,7 @@
  * This one seems to be a Win32 only definition. It also is defined with
  * WINAPI instead of CALLBACK in the windows headers.
  */
-typedef DWORD (CALLBACK *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, 
+typedef DWORD CALLBACK (*LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE_INTEGER, 
                                            LARGE_INTEGER, DWORD, DWORD, HANDLE,
                                            HANDLE, LPVOID);
 
@@ -1047,8 +1047,8 @@
   
 #include "poppack.h"
 
-typedef void (CALLBACK *PAPCFUNC)(ULONG_PTR);
-typedef void (CALLBACK *PTIMERAPCROUTINE)(LPVOID,DWORD,DWORD);
+typedef void CALLBACK (*PAPCFUNC)(ULONG_PTR);
+typedef void CALLBACK (*PTIMERAPCROUTINE)(LPVOID,DWORD,DWORD);
 
 BOOL      WINAPI ClearCommError(INT,LPDWORD,LPCOMSTAT);
 BOOL      WINAPI BuildCommDCBA(LPCSTR,LPDCB);
diff --git a/include/wine/exception.h b/include/wine/exception.h
index d184de9..edcbea8 100644
--- a/include/wine/exception.h
+++ b/include/wine/exception.h
@@ -102,8 +102,8 @@
     } while (0);
 
 
-typedef DWORD (*CALLBACK __WINE_FILTER)(PEXCEPTION_POINTERS);
-typedef void (*CALLBACK __WINE_FINALLY)(BOOL);
+typedef DWORD CALLBACK (*__WINE_FILTER)(PEXCEPTION_POINTERS);
+typedef void CALLBACK (*__WINE_FINALLY)(BOOL);
 
 #define WINE_EXCEPTION_FILTER(func) DWORD WINAPI func( EXCEPTION_POINTERS *__eptr )
 #define WINE_FINALLY_FUNC(func) void WINAPI func( BOOL __normal )
diff --git a/include/wine/obj_base.h b/include/wine/obj_base.h
index ca16394..4e18fba 100644
--- a/include/wine/obj_base.h
+++ b/include/wine/obj_base.h
@@ -343,47 +343,47 @@
 /* C++ interface */
 
 #define ICOM_METHOD(ret,xfn) \
-     public: virtual ret (CALLBACK xfn)(void) = 0;
+     public: virtual ret CALLBACK (xfn)(void) = 0;
 #define ICOM_METHOD1(ret,xfn,ta,na) \
-     public: virtual ret (CALLBACK xfn)(ta a) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a) = 0;
 #define ICOM_METHOD2(ret,xfn,ta,na,tb,nb) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b) = 0;
 #define ICOM_METHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c) = 0;
 #define ICOM_METHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d) = 0;
 #define ICOM_METHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e) = 0;
 #define ICOM_METHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
 #define ICOM_METHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
 #define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
 #define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i) = 0;
 #define ICOM_METHOD10(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \
-     public: virtual ret (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j) = 0;
+     public: virtual ret CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j) = 0;
 
 
 #define ICOM_VMETHOD(xfn) \
-     public: virtual void (CALLBACK xfn)(void) = 0;
+     public: virtual void CALLBACK (xfn)(void) = 0;
 #define ICOM_VMETHOD1(xfn,ta,na) \
-     public: virtual void (CALLBACK xfn)(ta a) = 0;
+     public: virtual void CALLBACK (xfn)(ta a) = 0;
 #define ICOM_VMETHOD2(xfn,ta,na,tb,nb) \
-     public: virtual void (CALLBACK xfn)(ta a,tb b) = 0;
+     public: virtual void CALLBACK (xfn)(ta a,tb b) = 0;
 #define ICOM_VMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
-     public: virtual void (CALLBACK xfn)(ta a,tb b,tc c) = 0;
+     public: virtual void CALLBACK (xfn)(ta a,tb b,tc c) = 0;
 #define ICOM_VMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
-     public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d) = 0;
+     public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d) = 0;
 #define ICOM_VMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
-     public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e) = 0;
+     public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e) = 0;
 #define ICOM_VMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
-     public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
+     public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f) = 0;
 #define ICOM_VMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
-     public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
+     public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g) = 0;
 #define ICOM_VMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
-     public: virtual void (CALLBACK xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
+     public: virtual void CALLBACK (xfn)(ta a,tb b,tc c,td d,te e,tf f,tg g,th h) = 0;
 
 
 #ifdef ICOM_USE_COM_INTERFACE_ATTRIBUTE
@@ -420,46 +420,46 @@
 #ifdef __WINE__
 
 #define ICOM_METHOD(ret,xfn) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me);
 #define ICOM_METHOD1(ret,xfn,ta,na) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a);
 #define ICOM_METHOD2(ret,xfn,ta,na,tb,nb) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b);
 #define ICOM_METHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
 #define ICOM_METHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
 #define ICOM_METHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
 #define ICOM_METHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
 #define ICOM_METHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
 #define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
 #define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i);
 #define ICOM_METHOD10(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \
-    ret (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j);
+    ret CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j);
 
 #define ICOM_VMETHOD(xfn) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me);
 #define ICOM_VMETHOD1(xfn,ta,na) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a);
 #define ICOM_VMETHOD2(xfn,ta,na,tb,nb) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b);
 #define ICOM_VMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
 #define ICOM_VMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
 #define ICOM_VMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
 #define ICOM_VMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
 #define ICOM_VMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
 #define ICOM_VMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,nh) \
-    void (CALLBACK *fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
+    void CALLBACK (*fn##xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
 
 #define ICOM_CALL(xfn, p)                       ICOM_VTBL(p)->fn##xfn(p)
 #define ICOM_CALL1(xfn, p,a)                    ICOM_VTBL(p)->fn##xfn(p,a)
@@ -478,65 +478,65 @@
 /* WINELIB case */
 
 #define ICOM_METHOD(ret,xfn) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me);
 #define ICOM_METHOD1(ret,xfn,ta,na) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a);
 #define ICOM_METHOD2(ret,xfn,ta,na,tb,nb) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b);
 #define ICOM_METHOD3(ret,xfn,ta,na,tb,nb,tc,nc) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
 #define ICOM_METHOD4(ret,xfn,ta,na,tb,nb,tc,nc,td,nd) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
 #define ICOM_METHOD5(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
 #define ICOM_METHOD6(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
 #define ICOM_METHOD7(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
 #define ICOM_METHOD8(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
 #define ICOM_METHOD9(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i);
 #define ICOM_METHOD10(ret,xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh,ti,ni,tj,nj) \
-    ret (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j);
+    ret CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h,ti i,tj j);
 
 #define ICOM_VMETHOD(xfn) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me);
 #define ICOM_VMETHOD1(xfn,ta,na) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a);
 #define ICOM_VMETHOD2(xfn,ta,na,tb,nb) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b);
 #define ICOM_VMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c);
 #define ICOM_VMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
 #define ICOM_VMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
 #define ICOM_VMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
 #define ICOM_VMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
 #define ICOM_VMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,nh) \
-    void (CALLBACK *xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
+    void CALLBACK (*xfn)(ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
 
 #define ICOM_CVMETHOD(xfn) \
-        void (CALLBACK *xfn)(const ICOM_INTERFACE* me);
+        void CALLBACK (*xfn)(const ICOM_INTERFACE* me);
 #define ICOM_CVMETHOD1(xfn,ta,na) \
-    void (CALLBACK *xfn)(const ICOM_INTERFACE* me,ta a);
+    void CALLBACK (*xfn)(const ICOM_INTERFACE* me,ta a);
 #define ICOM_CVMETHOD2(xfn,ta,na,tb,nb) \
-    void (CALLBACK *xfn)(const ICOM_INTERFACE* me,ta a,tb b);
+    void CALLBACK (*xfn)(const ICOM_INTERFACE* me,ta a,tb b);
 #define ICOM_CVMETHOD3(xfn,ta,na,tb,nb,tc,nc) \
-    void (CALLBACK *xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c);
+    void CALLBACK (*xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c);
 #define ICOM_CVMETHOD4(xfn,ta,na,tb,nb,tc,nc,td,nd) \
-    void (CALLBACK *xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
+    void CALLBACK (*xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d);
 #define ICOM_CVMETHOD5(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne) \
-    void (CALLBACK *xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
+    void CALLBACK (*xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e);
 #define ICOM_CVMETHOD6(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf) \
-    void (CALLBACK *xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
+    void CALLBACK (*xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f);
 #define ICOM_CVMETHOD7(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng) \
-    void (CALLBACK *xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
+    void CALLBACK (*xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g);
 #define ICOM_CVMETHOD8(xfn,ta,na,tb,nb,tc,nc,td,nd,te,ne,tf,nf,tg,ng,th,nh) \
-    void (CALLBACK *xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
+    void CALLBACK (*xfn)(const ICOM_INTERFACE* me,ta a,tb b,tc c,td d,te e,tf f,tg g,th h);
 
 #define ICOM_CALL(xfn, p)                       ICOM_VTBL(p)->xfn(p)
 #define ICOM_CALL1(xfn, p,a)                    ICOM_VTBL(p)->xfn(p,a)
diff --git a/include/wine/obj_channel.h b/include/wine/obj_channel.h
index 6847c57..20d6a91 100644
--- a/include/wine/obj_channel.h
+++ b/include/wine/obj_channel.h
@@ -153,7 +153,7 @@
     ICOM_METHOD1 (HRESULT,        Connect,                   IUnknown*,pUnkServer) \
     ICOM_VMETHOD (                Disconnect) \
     ICOM_METHOD2 (HRESULT,        Invoke,                    RPCOLEMESSAGE*,_prpcmsg, IRpcChannelBuffer*,_pRpcChannelBuffer) \
-    ICOM_METHOD1 (IRpcStubBuffer*,IsIIDSupported,            REFIID,riid) \
+    ICOM_METHOD1 (LPRPCCHANNELBUFFER,IsIIDSupported,            REFIID,riid) \
     ICOM_METHOD  (ULONG,          CountRefs) \
     ICOM_METHOD1 (HRESULT,        DebugServerQueryInterface, void**,ppv) \
     ICOM_VMETHOD1(                DebugServerRelease,        void*,pv)
diff --git a/include/wine/obj_misc.h b/include/wine/obj_misc.h
index de93707..9dae7ba 100644
--- a/include/wine/obj_misc.h
+++ b/include/wine/obj_misc.h
@@ -90,13 +90,13 @@
 #define IMallocSpy_METHODS \
     ICOM_METHOD1 (ULONG,PreAlloc,        ULONG,cbRequest) \
     ICOM_VMETHOD1(      PostAlloc,       void*,pActual) \
-    ICOM_METHOD2 (void*,PreFree,         void*,pRequest, BOOL,fSpyed) \
+    ICOM_METHOD2 (PVOID,PreFree,         void*,pRequest, BOOL,fSpyed) \
     ICOM_VMETHOD1(      PostFree,        BOOL,fSpyed) \
     ICOM_METHOD4 (ULONG,PreRealloc,      void*,pRequest, ULONG,cbRequest, void**,ppNewRequest, BOOL,fSpyed) \
-    ICOM_METHOD2 (void*,PostRealloc,     void*,pActual, BOOL,fSpyed) \
-    ICOM_METHOD2 (void*,PreGetSize,      void*,pRequest, BOOL,fSpyed) \
+    ICOM_METHOD2 (PVOID,PostRealloc,     void*,pActual, BOOL,fSpyed) \
+    ICOM_METHOD2 (PVOID,PreGetSize,      void*,pRequest, BOOL,fSpyed) \
     ICOM_METHOD2 (ULONG,PostGetSize,     ULONG,cbActual, BOOL,fSpyed) \
-    ICOM_METHOD2 (void*,PreDidAlloc,     void*,pRequest, BOOL,fSpyed) \
+    ICOM_METHOD2 (PVOID,PreDidAlloc,     void*,pRequest, BOOL,fSpyed) \
     ICOM_METHOD3 (int,  PostDidAlloc,    void*,pRequest, BOOL,fSpyed, int,fActual) \
     ICOM_METHOD  (int,  PreHeapMinimize) \
     ICOM_METHOD  (int,  PostHeapMinimize)
diff --git a/include/wine/obj_oleaut.h b/include/wine/obj_oleaut.h
index 121bf50..5eeefb1 100644
--- a/include/wine/obj_oleaut.h
+++ b/include/wine/obj_oleaut.h
@@ -218,7 +218,7 @@
     BSTR  bstrHelpFile;
     DWORD dwHelpContext;
     PVOID pvReserved;
-    HRESULT (__stdcall *pfnDeferredFillIn)(struct tagEXCEPINFO *);
+    HRESULT __stdcall (*pfnDeferredFillIn)(struct tagEXCEPINFO *);
     SCODE scode;
 } EXCEPINFO, * LPEXCEPINFO;
 
diff --git a/include/wine/obj_oleview.h b/include/wine/obj_oleview.h
index 6958c0f..d3a24fd 100644
--- a/include/wine/obj_oleview.h
+++ b/include/wine/obj_oleview.h
@@ -34,7 +34,7 @@
 /*****************************************************************************
  * IViewObject interface
  */
-typedef BOOL    (CALLBACK* IVO_ContCallback)(DWORD);
+typedef BOOL    CALLBACK (*IVO_ContCallback)(DWORD);
 
 #define ICOM_INTERFACE IViewObject
 #define IViewObject_METHODS \
diff --git a/include/wine/undocshell.h b/include/wine/undocshell.h
index 5ae92a5..a45a7a6 100644
--- a/include/wine/undocshell.h
+++ b/include/wine/undocshell.h
@@ -381,7 +381,7 @@
 #define FMF_NO_PROGRAM_GROUPS  0x04
 
 /* FileMenu_InsertUsingPidl callback function */
-typedef void (CALLBACK *LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
+typedef void CALLBACK (*LPFNFMCALLBACK)(LPCITEMIDLIST pidlFolder, LPCITEMIDLIST pidlFile);
 
 int WINAPI FileMenu_InsertUsingPidl(
 	HMENU hMenu,
@@ -910,7 +910,7 @@
 	DWORD dwType);
 
 /* SHCreateDefClassObject callback function */
-typedef HRESULT (CALLBACK *LPFNCDCOCALLBACK)(
+typedef HRESULT CALLBACK (*LPFNCDCOCALLBACK)(
 	LPUNKNOWN pUnkOuter,
 	REFIID riidObject,
 	LPVOID *ppvObject);
diff --git a/include/wine/windef16.h b/include/wine/windef16.h
index c25c5f6..4659a7b 100644
--- a/include/wine/windef16.h
+++ b/include/wine/windef16.h
@@ -107,16 +107,16 @@
 
 /* Callback function pointers types */
 
-typedef LRESULT (CALLBACK *DRIVERPROC16)(DWORD,HDRVR16,UINT16,LPARAM,LPARAM);
-typedef BOOL16  (CALLBACK *DLGPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
-typedef INT16   (CALLBACK *EDITWORDBREAKPROC16)(LPSTR,INT16,INT16,INT16);
-typedef LRESULT (CALLBACK *FARPROC16)();
-typedef INT16   (CALLBACK *PROC16)();
-typedef BOOL16  (CALLBACK *GRAYSTRINGPROC16)(HDC16,LPARAM,INT16);
-typedef LRESULT (CALLBACK *HOOKPROC16)(INT16,WPARAM16,LPARAM);
-typedef BOOL16  (CALLBACK *PROPENUMPROC16)(HWND16,SEGPTR,HANDLE16);
-typedef VOID    (CALLBACK *TIMERPROC16)(HWND16,UINT16,UINT16,DWORD);
-typedef LRESULT (CALLBACK *WNDENUMPROC16)(HWND16,LPARAM);
-typedef LRESULT (CALLBACK *WNDPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
+typedef LRESULT CALLBACK (*DRIVERPROC16)(DWORD,HDRVR16,UINT16,LPARAM,LPARAM);
+typedef BOOL16  CALLBACK (*DLGPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
+typedef INT16   CALLBACK (*EDITWORDBREAKPROC16)(LPSTR,INT16,INT16,INT16);
+typedef LRESULT CALLBACK (*FARPROC16)();
+typedef INT16   CALLBACK (*PROC16)();
+typedef BOOL16  CALLBACK (*GRAYSTRINGPROC16)(HDC16,LPARAM,INT16);
+typedef LRESULT CALLBACK (*HOOKPROC16)(INT16,WPARAM16,LPARAM);
+typedef BOOL16  CALLBACK (*PROPENUMPROC16)(HWND16,SEGPTR,HANDLE16);
+typedef VOID    CALLBACK (*TIMERPROC16)(HWND16,UINT16,UINT16,DWORD);
+typedef LRESULT CALLBACK (*WNDENUMPROC16)(HWND16,LPARAM);
+typedef LRESULT CALLBACK (*WNDPROC16)(HWND16,UINT16,WPARAM16,LPARAM);
 
 #endif /* __WINE_WINDEF16_H */
diff --git a/include/wine/wingdi16.h b/include/wine/wingdi16.h
index 4148c01..b890b2c 100644
--- a/include/wine/wingdi16.h
+++ b/include/wine/wingdi16.h
@@ -214,10 +214,10 @@
     FONTSIGNATURE       ntmeFontSignature;
 } NEWTEXTMETRICEX16,*LPNEWTEXTMETRICEX16;
 
-typedef INT16 (CALLBACK *FONTENUMPROC16)(SEGPTR,SEGPTR,UINT16,LPARAM);
-typedef INT16 (CALLBACK *FONTENUMPROCEX16)(SEGPTR,SEGPTR,UINT16,LPARAM);
-typedef VOID  (CALLBACK *LINEDDAPROC16)(INT16,INT16,LPARAM);
-typedef INT16 (CALLBACK *GOBJENUMPROC16)(SEGPTR,LPARAM);
+typedef INT16 CALLBACK (*FONTENUMPROC16)(SEGPTR,SEGPTR,UINT16,LPARAM);
+typedef INT16 CALLBACK (*FONTENUMPROCEX16)(SEGPTR,SEGPTR,UINT16,LPARAM);
+typedef VOID  CALLBACK (*LINEDDAPROC16)(INT16,INT16,LPARAM);
+typedef INT16 CALLBACK (*GOBJENUMPROC16)(SEGPTR,LPARAM);
 
 typedef struct
 {
@@ -255,7 +255,7 @@
     HMETAFILE16  hMF;
 } METAFILEPICT16, *LPMETAFILEPICT16;
 
-typedef INT16 (CALLBACK *MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
+typedef INT16 CALLBACK (*MFENUMPROC16)(HDC16,HANDLETABLE16*,METARECORD*,
                                        INT16,LPARAM);
 typedef struct 
 {
@@ -266,7 +266,7 @@
     DWORD    fwType;
 } DOCINFO16, *LPDOCINFO16;
 
-typedef BOOL16 (CALLBACK* ABORTPROC16)(HDC16, INT16);
+typedef BOOL16 CALLBACK (*ABORTPROC16)(HDC16, INT16);
 
 #define INT_PD_DEFAULT_DEVMODE  1
 #define INT_PD_DEFAULT_MODEL    2
diff --git a/include/wine/winuser16.h b/include/wine/winuser16.h
index 9ad3353..c1bb999 100644
--- a/include/wine/winuser16.h
+++ b/include/wine/winuser16.h
@@ -154,7 +154,7 @@
 } MENUITEMINFO16, *LPMENUITEMINFO16;
 
 /* DrawState defines ... */
-typedef BOOL16 (CALLBACK *DRAWSTATEPROC16)(HDC16,LPARAM,WPARAM16,INT16,INT16);
+typedef BOOL16 CALLBACK (*DRAWSTATEPROC16)(HDC16,LPARAM,WPARAM16,INT16,INT16);
 
 /* Listbox messages */
 #define LB_ADDSTRING16           (WM_USER+1)
diff --git a/include/wingdi.h b/include/wingdi.h
index ed20941..2492aa2 100644
--- a/include/wingdi.h
+++ b/include/wingdi.h
@@ -1138,9 +1138,9 @@
 DECL_WINELIB_TYPE_AW(NEWTEXTMETRICEX)
 DECL_WINELIB_TYPE_AW(LPNEWTEXTMETRICEX)
 
-typedef INT (CALLBACK *FONTENUMPROCA)(LPENUMLOGFONTA,LPNEWTEXTMETRICA,
+typedef INT CALLBACK (*FONTENUMPROCA)(LPENUMLOGFONTA,LPNEWTEXTMETRICA,
                                           UINT,LPARAM);
-typedef INT (CALLBACK *FONTENUMPROCW)(LPENUMLOGFONTW,LPNEWTEXTMETRICW,
+typedef INT CALLBACK (*FONTENUMPROCW)(LPENUMLOGFONTW,LPNEWTEXTMETRICW,
                                           UINT,LPARAM);
 DECL_WINELIB_TYPE_AW(FONTENUMPROC)
 
@@ -1149,12 +1149,12 @@
 
 DECL_WINELIB_TYPE_AW(OLDFONTENUMPROC)
 
-typedef INT (CALLBACK *FONTENUMPROCEXA)(LPENUMLOGFONTEXA,LPNEWTEXTMETRICEXA,UINT,LPARAM);
-typedef INT (CALLBACK *FONTENUMPROCEXW)(LPENUMLOGFONTEXW,LPNEWTEXTMETRICEXW,UINT,LPARAM);
+typedef INT CALLBACK (*FONTENUMPROCEXA)(LPENUMLOGFONTEXA,LPNEWTEXTMETRICEXA,UINT,LPARAM);
+typedef INT CALLBACK (*FONTENUMPROCEXW)(LPENUMLOGFONTEXW,LPNEWTEXTMETRICEXW,UINT,LPARAM);
 DECL_WINELIB_TYPE_AW(FONTENUMPROCEX)
 
-typedef INT     (CALLBACK *GOBJENUMPROC)(LPVOID,LPARAM);
-typedef VOID    (CALLBACK *LINEDDAPROC)(INT,INT,LPARAM);
+typedef INT     CALLBACK (*GOBJENUMPROC)(LPVOID,LPARAM);
+typedef VOID    CALLBACK (*LINEDDAPROC)(INT,INT,LPARAM);
 
   /* tmPitchAndFamily bits */
 #define TMPF_FIXED_PITCH    1		/* means variable pitch */
@@ -1942,7 +1942,7 @@
 #define META_CREATEREGION            0x06FF
 #define META_UNKNOWN                 0x0529  /* FIXME: unknown meta magic */
 
-typedef INT (CALLBACK *MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,
+typedef INT CALLBACK (*MFENUMPROC)(HDC,HANDLETABLE*,METARECORD*,
                                        INT,LPARAM);
 
 /* enhanced metafile structures and functions */
@@ -2540,7 +2540,7 @@
   BYTE  Data[1];
 } EMRGLSBOUNDEDRECORD, *PEMRGLSBOUNDEDRECORD; 
 
-typedef INT (CALLBACK *ENHMFENUMPROC)(HDC, LPHANDLETABLE, 
+typedef INT CALLBACK (*ENHMFENUMPROC)(HDC, LPHANDLETABLE, 
 					  LPENHMETARECORD, INT, LPVOID);
 
 #define EMR_HEADER	1
@@ -3023,7 +3023,7 @@
     char		Buffer[1];
 } RGNDATA,*PRGNDATA,*LPRGNDATA;
 
-typedef BOOL (CALLBACK* ABORTPROC)(HDC, INT);
+typedef BOOL CALLBACK (*ABORTPROC)(HDC, INT);
 
 typedef struct {
     DWORD	cb;
diff --git a/include/wininet.h b/include/wininet.h
index 6ebd75e..ed07e9f 100644
--- a/include/wininet.h
+++ b/include/wininet.h
@@ -475,7 +475,7 @@
 BOOLAPI InternetGetLastResponseInfoW(LPDWORD ,LPWSTR lpszBuffer ,LPDWORD);
 #define InternetGetLastResponseInfo  WINELIB_NAME_AW(InternetGetLastResponseInfo);
 
-typedef VOID (CALLBACK * INTERNET_STATUS_CALLBACK)(HINTERNET ,DWORD ,DWORD ,
+typedef VOID CALLBACK (*INTERNET_STATUS_CALLBACK)(HINTERNET ,DWORD ,DWORD ,
 	LPVOID lpvStatusInformation ,DWORD);
 
 typedef INTERNET_STATUS_CALLBACK * LPINTERNET_STATUS_CALLBACK;
@@ -902,7 +902,7 @@
 #define GopherOpenFile  WINELIB_NAME_AW(GopherOpenFile)
 
 /*
-typedef BOOL (CALLBACK * GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE ,DWORD);
+typedef BOOL CALLBACK (*GOPHER_ATTRIBUTE_ENUMERATOR)(LPGOPHER_ATTRIBUTE_TYPE ,DWORD);
 
 BOOLAPI GopherGetAttributeA(HINTERNET ,LPCSTR ,LPCSTR lpszAttributeName ,LPBYTE ,
 	DWORD ,LPDWORD ,GOPHER_ATTRIBUTE_ENUMERATOR lpfnEnumerator ,DWORD);
@@ -1102,7 +1102,7 @@
 #define FLAGS_ERROR_UI_SERIALIZE_DIALOGS        0x10
 
 DWORD InternetAuthNotifyCallback ( DWORD ,DWORD ,LPVOID );
-typedef DWORD (CALLBACK * PFN_AUTH_NOTIFY) (DWORD,DWORD,LPVOID);
+typedef DWORD CALLBACK (*PFN_AUTH_NOTIFY) (DWORD,DWORD,LPVOID);
 
 typedef struct
 {
@@ -1380,7 +1380,7 @@
 #define INTERNET_CONNECTION_PROXY           4
 #define INTERNET_CONNECTION_MODEM_BUSY      8
 
-typedef DWORD (CALLBACK * PFN_DIAL_HANDLER) (HWND,LPCSTR,DWORD,LPDWORD);
+typedef DWORD CALLBACK (*PFN_DIAL_HANDLER) (HWND,LPCSTR,DWORD,LPDWORD);
 
 #define INTERNET_CUSTOMDIAL_CONNECT         0
 #define INTERNET_CUSTOMDIAL_UNATTENDED      1
diff --git a/include/winnetwk.h b/include/winnetwk.h
index 7187260..0a589ef 100644
--- a/include/winnetwk.h
+++ b/include/winnetwk.h
@@ -368,7 +368,7 @@
 	BYTE abResource[1];
 } PASSWORD_CACHE_ENTRY;
 
-typedef BOOL (CALLBACK * ENUMPASSWORDPROC)(PASSWORD_CACHE_ENTRY *, DWORD);
+typedef BOOL CALLBACK (*ENUMPASSWORDPROC)(PASSWORD_CACHE_ENTRY *, DWORD);
 UINT WINAPI WNetEnumCachedPasswords( LPSTR, WORD, BYTE, ENUMPASSWORDPROC, DWORD);
 
 #endif /* _WINNETWK_H_ */
diff --git a/include/winnls.h b/include/winnls.h
index 485a2b7..62a002d 100644
--- a/include/winnls.h
+++ b/include/winnls.h
@@ -510,8 +510,8 @@
 typedef DWORD CALTYPE;
 typedef DWORD CALID;
 
-typedef BOOL (CALLBACK* CALINFO_ENUMPROCA)(LPSTR);
-typedef BOOL (CALLBACK* CALINFO_ENUMPROCW)(LPWSTR);
+typedef BOOL CALLBACK (*CALINFO_ENUMPROCA)(LPSTR);
+typedef BOOL CALLBACK (*CALINFO_ENUMPROCW)(LPWSTR);
 DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC)
 
 BOOL	WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType);
diff --git a/include/winnt.h b/include/winnt.h
index f8c0425..0e408c0 100644
--- a/include/winnt.h
+++ b/include/winnt.h
@@ -1109,7 +1109,7 @@
  * function pointer to a exception filter
  */
 
-typedef LONG (CALLBACK *PTOP_LEVEL_EXCEPTION_FILTER)(PEXCEPTION_POINTERS ExceptionInfo);
+typedef LONG CALLBACK (*PTOP_LEVEL_EXCEPTION_FILTER)(PEXCEPTION_POINTERS ExceptionInfo);
 typedef PTOP_LEVEL_EXCEPTION_FILTER LPTOP_LEVEL_EXCEPTION_FILTER;
 
 DWORD WINAPI UnhandledExceptionFilter( PEXCEPTION_POINTERS epointers );
@@ -1141,15 +1141,15 @@
 struct _TEB;
 
 #if defined(__i386__) && defined(__GNUC__)
-extern inline struct _TEB * WINAPI NtCurrentTeb(void);
-extern inline struct _TEB * WINAPI NtCurrentTeb(void)
+extern inline struct _TEB WINAPI *NtCurrentTeb(void);
+extern inline struct _TEB WINAPI *NtCurrentTeb(void)
 {
     struct _TEB *teb;
     __asm__(".byte 0x64\n\tmovl (0x18),%0" : "=r" (teb));
     return teb;
 }
 #else
-extern struct _TEB * WINAPI NtCurrentTeb(void);
+extern struct _TEB WINAPI *NtCurrentTeb(void);
 #endif
 
 
@@ -1974,7 +1974,7 @@
 } IMAGE_RESOURCE_DATA_ENTRY,*PIMAGE_RESOURCE_DATA_ENTRY;
 
 
-typedef VOID (CALLBACK *PIMAGE_TLS_CALLBACK)(
+typedef VOID CALLBACK (*PIMAGE_TLS_CALLBACK)(
 	LPVOID DllHandle,DWORD Reason,LPVOID Reserved
 );
 
diff --git a/include/winsvc.h b/include/winsvc.h
index 6048908..0439797 100644
--- a/include/winsvc.h
+++ b/include/winsvc.h
@@ -27,8 +27,8 @@
 
 /* Service main function prototype */
 
-typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*);
-typedef VOID (CALLBACK *LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*);
+typedef VOID CALLBACK (*LPSERVICE_MAIN_FUNCTIONA)(DWORD,LPSTR*);
+typedef VOID CALLBACK (*LPSERVICE_MAIN_FUNCTIONW)(DWORD,LPWSTR*);
 DECL_WINELIB_TYPE_AW(LPSERVICE_MAIN_FUNCTION)
 
 /* Service start table */
diff --git a/include/winuser.h b/include/winuser.h
index 78fecf8..9c31a8d 100644
--- a/include/winuser.h
+++ b/include/winuser.h
@@ -1455,7 +1455,7 @@
 #define HBMMENU_POPUP_MINIMIZE	((HBITMAP) 11)
 
 /* DrawState defines ... */
-typedef BOOL (CALLBACK *DRAWSTATEPROC)(HDC,LPARAM,WPARAM,INT,INT);
+typedef BOOL CALLBACK (*DRAWSTATEPROC)(HDC,LPARAM,WPARAM,INT,INT);
 
 /* WM_H/VSCROLL commands */
 #define SB_LINEUP           0
@@ -1802,7 +1802,7 @@
     POINT	MousePos;	/* Mouse Position in screen co-ordinates */
 }  HELPINFO,*LPHELPINFO;
 
-typedef void (CALLBACK *MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
+typedef void CALLBACK (*MSGBOXCALLBACK)(LPHELPINFO lpHelpInfo);
 
 typedef struct
 {
@@ -1906,7 +1906,7 @@
 DECL_WINELIB_TYPE_AW(MONITORINFOEX)
 DECL_WINELIB_TYPE_AW(LPMONITORINFOEX)
 
-typedef BOOL  (CALLBACK *MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
+typedef BOOL  CALLBACK (*MONITORENUMPROC)(HMONITOR,HDC,LPRECT,LPARAM);
 
 /* FIXME: use this instead of LPCVOID for CreateDialogIndirectParam
    and DialogBoxIndirectParam */