From f53b0e89e4cdede8f902f6cafab72f3fff5ed214 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Fran=C3=A7ois=20Gouget?= Date: Thu, 4 Jan 2001 19:32:22 +0000 Subject: [PATCH] Moved the function pointer types to their rightful headers. The definition of the function pointer types must be based on STRICT. --- include/mmsystem.h | 5 +++- include/winbase.h | 19 ------------- include/windef.h | 24 +--------------- include/winnls.h | 81 ++++++++++++++++++++++++++++++++++++++++-------------- include/winuser.h | 55 ++++++++++++++++++++++++++++++++++-- 5 files changed, 118 insertions(+), 66 deletions(-) diff --git a/include/mmsystem.h b/include/mmsystem.h index ccc835e1c96..7dd942e9a98 100644 --- a/include/mmsystem.h +++ b/include/mmsystem.h @@ -5,16 +5,19 @@ #ifndef __WINE_MMSYSTEM_H #define __WINE_MMSYSTEM_H +#include "windef.h" + #ifdef __cplusplus extern "C" { #endif -#include "windef.h" typedef LPSTR HPSTR; /* a huge version of LPSTR */ typedef LPCSTR HPCSTR; /* a huge version of LPCSTR */ #include "pshpack1.h" +typedef LRESULT CALLBACK (*DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM); + #define MAXWAVEDRIVERS 10 #define MAXMIDIDRIVERS 10 #define MAXAUXDRIVERS 10 diff --git a/include/winbase.h b/include/winbase.h index 1c2fb7f9a38..df7dccc0132 100644 --- a/include/winbase.h +++ b/include/winbase.h @@ -804,13 +804,6 @@ typedef struct _SYSTEM_POWER_STATUS } SYSTEM_POWER_STATUS, *LPSYSTEM_POWER_STATUS; -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); -DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC) - typedef struct tagSYSTEM_INFO { union { @@ -1288,9 +1281,6 @@ BOOL WINAPI DeregisterEventSource(HANDLE); BOOL WINAPI DisableThreadLibraryCalls(HMODULE); BOOL WINAPI DosDateTimeToFileTime(WORD,WORD,LPFILETIME); BOOL WINAPI DuplicateHandle(HANDLE,HANDLE,HANDLE,HANDLE*,DWORD,BOOL,DWORD); -BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA lpDateFmtEnumProc, LCID Locale, DWORD dwFlags); -BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW lpDateFmtEnumProc, LCID Locale, DWORD dwFlags); -#define EnumDateFormats WINELIB_NAME_AW(EnumDateFormats) BOOL WINAPI EnumResourceLanguagesA(HMODULE,LPCSTR,LPCSTR, ENUMRESLANGPROCA,LONG); BOOL WINAPI EnumResourceLanguagesW(HMODULE,LPCWSTR,LPCWSTR, @@ -1304,15 +1294,6 @@ BOOL WINAPI EnumResourceNamesW(HMODULE,LPCWSTR,ENUMRESNAMEPROCW, BOOL WINAPI EnumResourceTypesA(HMODULE,ENUMRESTYPEPROCA,LONG); BOOL WINAPI EnumResourceTypesW(HMODULE,ENUMRESTYPEPROCW,LONG); #define EnumResourceTypes WINELIB_NAME_AW(EnumResourceTypes) -BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD); -BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD); -#define EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages) -BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD); -BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD); -#define EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales) -BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags); -BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW lpTimeFmtEnumProc, LCID Locale, DWORD dwFlags); -#define EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats) BOOL WINAPI EqualSid(PSID, PSID); BOOL WINAPI EqualPrefixSid(PSID,PSID); DWORD WINAPI EraseTape(HANDLE,DWORD,BOOL); diff --git a/include/windef.h b/include/windef.h index 7dbdf671237..c9ef0a2bc31 100644 --- a/include/windef.h +++ b/include/windef.h @@ -108,30 +108,8 @@ typedef HICON HCURSOR; /* Callback function pointers types */ -typedef BOOL CALLBACK (*DATEFMT_ENUMPROCA)(LPSTR); -typedef BOOL CALLBACK (*DATEFMT_ENUMPROCW)(LPWSTR); -DECL_WINELIB_TYPE_AW(DATEFMT_ENUMPROC) -typedef BOOL CALLBACK (*DLGPROC)(HWND,UINT,WPARAM,LPARAM); -typedef LRESULT CALLBACK (*DRIVERPROC)(DWORD,HDRVR,UINT,LPARAM,LPARAM); -typedef INT CALLBACK (*EDITWORDBREAKPROCA)(LPSTR,INT,INT,INT); -typedef INT CALLBACK (*EDITWORDBREAKPROCW)(LPWSTR,INT,INT,INT); -DECL_WINELIB_TYPE_AW(EDITWORDBREAKPROC) -typedef LRESULT CALLBACK (*FARPROC)(); +typedef INT CALLBACK (*FARPROC)(); typedef INT CALLBACK (*PROC)(); -typedef BOOL CALLBACK (*GRAYSTRINGPROC)(HDC,LPARAM,INT); -typedef LRESULT CALLBACK (*HOOKPROC)(INT,WPARAM,LPARAM); -typedef BOOL CALLBACK (*PROPENUMPROCA)(HWND,LPCSTR,HANDLE); -typedef BOOL CALLBACK (*PROPENUMPROCW)(HWND,LPCWSTR,HANDLE); -DECL_WINELIB_TYPE_AW(PROPENUMPROC) -typedef BOOL CALLBACK (*PROPENUMPROCEXA)(HWND,LPCSTR,HANDLE,LPARAM); -typedef BOOL CALLBACK (*PROPENUMPROCEXW)(HWND,LPCWSTR,HANDLE,LPARAM); -DECL_WINELIB_TYPE_AW(PROPENUMPROCEX) -typedef BOOL CALLBACK (*TIMEFMT_ENUMPROCA)(LPSTR); -typedef BOOL CALLBACK (*TIMEFMT_ENUMPROCW)(LPWSTR); -DECL_WINELIB_TYPE_AW(TIMEFMT_ENUMPROC) -typedef VOID CALLBACK (*TIMERPROC)(HWND,UINT,UINT,DWORD); -typedef BOOL CALLBACK (*WNDENUMPROC)(HWND,LPARAM); -typedef LRESULT CALLBACK (*WNDPROC)(HWND,UINT,WPARAM,LPARAM); /* Macros to split words and longs. */ diff --git a/include/winnls.h b/include/winnls.h index 1ffdd3c3dd1..987e19645bb 100644 --- a/include/winnls.h +++ b/include/winnls.h @@ -7,6 +7,40 @@ extern "C" { #endif + +/* Define a bunch of callback types */ + +#ifdef STRICT +typedef BOOL CALLBACK (*CALINFO_ENUMPROCA)(LPSTR); +typedef BOOL CALLBACK (*CALINFO_ENUMPROCW)(LPWSTR); +typedef BOOL CALLBACK (*CODEPAGE_ENUMPROCA)(LPSTR); +typedef BOOL CALLBACK (*CODEPAGE_ENUMPROCW)(LPWSTR); +typedef BOOL CALLBACK (*DATEFMT_ENUMPROCA)(LPSTR); +typedef BOOL CALLBACK (*DATEFMT_ENUMPROCW)(LPWSTR); +typedef BOOL CALLBACK (*LOCALE_ENUMPROCA)(LPSTR); +typedef BOOL CALLBACK (*LOCALE_ENUMPROCW)(LPWSTR); +typedef BOOL CALLBACK (*TIMEFMT_ENUMPROCA)(LPSTR); +typedef BOOL CALLBACK (*TIMEFMT_ENUMPROCW)(LPWSTR); +#else +typedef FARPROC CALINFO_ENUMPROCA; +typedef FARPROC CALINFO_ENUMPROCW; +typedef FARPROC CODEPAGE_ENUMPROCA; +typedef FARPROC CODEPAGE_ENUMPROCW; +typedef FARPROC DATEFMT_ENUMPROCA; +typedef FARPROC DATEFMT_ENUMPROCW; +typedef FARPROC LOCALE_ENUMPROCA; +typedef FARPROC LOCALE_ENUMPROCW; +typedef FARPROC TIMEFMT_ENUMPROCA; +typedef FARPROC TIMEFMT_ENUMPROCW; +#endif /* STRICT */ + +DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC) +DECL_WINELIB_TYPE_AW(CODEPAGE_ENUMPROC) +DECL_WINELIB_TYPE_AW(DATEFMT_ENUMPROC) +DECL_WINELIB_TYPE_AW(LOCALE_ENUMPROC) +DECL_WINELIB_TYPE_AW(TIMEFMT_ENUMPROC) + + #define MB_PRECOMPOSED 0x00000001 #define MB_COMPOSITE 0x00000002 #define MB_USEGLYPHCHARS 0x00000004 @@ -334,27 +368,34 @@ DECL_WINELIB_TYPE_AW(LPCURRENCYFMT) /* APIs */ -typedef BOOL CALLBACK (*CALINFO_ENUMPROCA)(LPSTR); -typedef BOOL CALLBACK (*CALINFO_ENUMPROCW)(LPWSTR); -DECL_WINELIB_TYPE_AW(CALINFO_ENUMPROC) +LCID WINAPI ConvertDefaultLocale(LCID); +BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA,LCID,CALID,CALTYPE); +BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW,LCID,CALID,CALTYPE); +#define EnumCalendarInfo WINELIB_NAME_AW(EnumCalendarInfo) +BOOL WINAPI EnumDateFormatsA(DATEFMT_ENUMPROCA,LCID,DWORD); +BOOL WINAPI EnumDateFormatsW(DATEFMT_ENUMPROCW,LCID,DWORD); +#define EnumDateFormats WINELIB_NAME_AW(EnumDateFormats) +BOOL WINAPI EnumSystemCodePagesA(CODEPAGE_ENUMPROCA,DWORD); +BOOL WINAPI EnumSystemCodePagesW(CODEPAGE_ENUMPROCW,DWORD); +#define EnumSystemCodePages WINELIB_NAME_AW(EnumSystemCodePages) +BOOL WINAPI EnumSystemLocalesA(LOCALE_ENUMPROCA,DWORD); +BOOL WINAPI EnumSystemLocalesW(LOCALE_ENUMPROCW,DWORD); +#define EnumSystemLocales WINELIB_NAME_AW(EnumSystemLocales) +BOOL WINAPI EnumTimeFormatsA(TIMEFMT_ENUMPROCA,LCID,DWORD); +BOOL WINAPI EnumTimeFormatsW(TIMEFMT_ENUMPROCW,LCID,DWORD); +#define EnumTimeFormats WINELIB_NAME_AW(EnumTimeFormats) +BOOL WINAPI GetCPInfo(UINT,LPCPINFO); +BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA); +BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW); +#define GetCPInfoEx WINELIB_NAME_AW(GetCPInfoEx) +INT WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,INT); +INT WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,INT); +#define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo) +INT WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int); +INT WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int); +#define GetNumberFormat WINELIB_NAME_AW(GetNumberFormat) +BOOL WINAPI IsValidCodePage(UINT); -BOOL WINAPI EnumCalendarInfoA(CALINFO_ENUMPROCA lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType); -BOOL WINAPI EnumCalendarInfoW(CALINFO_ENUMPROCW lpCalInfoEnumProc,LCID Locale,CALID Calendar,CALTYPE CalType); -#define EnumCalendarInfo WINELIB_NAME_AW(EnumCalendarInfo) - -LCID WINAPI ConvertDefaultLocale(LCID Locale); - -BOOL WINAPI IsValidCodePage(UINT); -BOOL WINAPI GetCPInfo(UINT,LPCPINFO); -BOOL WINAPI GetCPInfoExA(UINT,DWORD,LPCPINFOEXA); -BOOL WINAPI GetCPInfoExW(UINT,DWORD,LPCPINFOEXW); -#define GetCPInfoEx WINELIB_NAME_AW(GetCPInfoEx) -INT WINAPI GetLocaleInfoA(LCID,LCTYPE,LPSTR,INT); -INT WINAPI GetLocaleInfoW(LCID,LCTYPE,LPWSTR,INT); -#define GetLocaleInfo WINELIB_NAME_AW(GetLocaleInfo) -INT WINAPI GetNumberFormatA(LCID,DWORD,LPCSTR,const NUMBERFMTA*,LPSTR,int); -INT WINAPI GetNumberFormatW(LCID,DWORD,LPCWSTR,const NUMBERFMTW*,LPWSTR,int); -#define GetNumberFormat WINELIB_NAME_AW(GetNumberFormat) #ifdef __cplusplus } diff --git a/include/winuser.h b/include/winuser.h index 51bee94210e..1718aa427d3 100644 --- a/include/winuser.h +++ b/include/winuser.h @@ -11,6 +11,58 @@ extern "C" { #include "pshpack1.h" + +/* Define a bunch of callback types */ + +#ifdef STRICT +typedef BOOL CALLBACK (*DLGPROC)(HWND,UINT,WPARAM,LPARAM); +typedef BOOL CALLBACK (*DRAWSTATEPROC)(HDC,LPARAM,WPARAM,int,int); +typedef INT CALLBACK (*EDITWORDBREAKPROCA)(LPSTR,INT,INT,INT); +typedef INT CALLBACK (*EDITWORDBREAKPROCW)(LPWSTR,INT,INT,INT); +typedef BOOL CALLBACK (*GRAYSTRINGPROC)(HDC,LPARAM,INT); +typedef LRESULT CALLBACK (*HOOKPROC)(INT,WPARAM,LPARAM); +typedef BOOL CALLBACK (*NAMEENUMPROCA)(LPSTR,LPARAM); +typedef BOOL CALLBACK (*NAMEENUMPROCW)(LPWSTR,LPARAM); +typedef BOOL CALLBACK (*PROPENUMPROCA)(HWND,LPCSTR,HANDLE); +typedef BOOL CALLBACK (*PROPENUMPROCW)(HWND,LPCWSTR,HANDLE); +typedef BOOL CALLBACK (*PROPENUMPROCEXA)(HWND,LPCSTR,HANDLE,DWORD); +typedef BOOL CALLBACK (*PROPENUMPROCEXW)(HWND,LPCWSTR,HANDLE,DWORD); +typedef VOID CALLBACK (*SENDASYNCPROC)(HWND,UINT,DWORD,LRESULT); +typedef VOID CALLBACK (*TIMERPROC)(HWND,UINT,UINT,DWORD); +typedef BOOL CALLBACK (*WNDENUMPROC)(HWND,LPARAM); +#else +typedef FARPROC DLGPROC; +typedef FARPROC DRAWSTATEPROC; +typedef FARPROC EDITWORDBREAKPROCA; +typedef FARPROC EDITWORDBREAKPROCW; +typedef FARPROC GRAYSTRINGPROC; +typedef FARPROC HOOKPROC; +typedef FARPROC NAMEENUMPROCA; +typedef FARPROC NAMEENUMPROCW; +typedef FARPROC PROPENUMPROCA; +typedef FARPROC PROPENUMPROCW; +typedef FARPROC PROPENUMPROCEXA; +typedef FARPROC PROPENUMPROCEXW; +typedef FARPROC SENDASYNCPROC; +typedef FARPROC TIMERPROC; +typedef FARPROC WNDENUMPROC; +#endif /* STRICT */ + +typedef NAMEENUMPROCA WINSTAENUMPROCA; +typedef NAMEENUMPROCA DESKTOPENUMPROCA; +typedef NAMEENUMPROCW WINSTAENUMPROCW; +typedef NAMEENUMPROCW DESKTOPENUMPROCW; + +typedef LRESULT CALLBACK (*WNDPROC)(HWND,UINT,WPARAM,LPARAM); + +DECL_WINELIB_TYPE_AW(DESKTOPENUMPROC) +DECL_WINELIB_TYPE_AW(EDITWORDBREAKPROC) +DECL_WINELIB_TYPE_AW(NAMEENUMPROC) +DECL_WINELIB_TYPE_AW(PROPENUMPROC) +DECL_WINELIB_TYPE_AW(PROPENUMPROCEX) +DECL_WINELIB_TYPE_AW(WINSTAENUMPROC) + + /* flags for HIGHCONTRAST dwFlags field */ #define HCF_HIGHCONTRASTON 0x00000001 #define HCF_AVAILABLE 0x00000002 @@ -1541,9 +1593,6 @@ typedef PVOID *LPMENUTEMPLATE; #define HBMMENU_POPUP_MAXIMIZE ((HBITMAP) 10) #define HBMMENU_POPUP_MINIMIZE ((HBITMAP) 11) -/* DrawState defines ... */ -typedef BOOL CALLBACK (*DRAWSTATEPROC)(HDC,LPARAM,WPARAM,INT,INT); - /* WM_H/VSCROLL commands */ #define SB_LINEUP 0 #define SB_LINELEFT 0 -- 2.11.4.GIT