diff --git a/tools/winapi_check/win16/commdlg.api b/tools/winapi_check/win16/commdlg.api new file mode 100644 index 00000000000..73f9173488c --- /dev/null +++ b/tools/winapi_check/win16/commdlg.api @@ -0,0 +1,9 @@ +%ptr + +LPCHOOSECOLOR16 +LPCHOOSEFONT16 +LPPRINTDLG16 + +%word + +short diff --git a/tools/winapi_check/win16/compobj.api b/tools/winapi_check/win16/compobj.api new file mode 100644 index 00000000000..364b0f05c72 --- /dev/null +++ b/tools/winapi_check/win16/compobj.api @@ -0,0 +1,18 @@ +%ptr + +CLSID * +FILETIME * +GUID * +HTASK16 * +IMalloc16 * +LPCLSID +LPFILETIME +LPMALLOC16 * +LPMESSAGEFILTER +LPMESSAGEFILTER * +LPOLESTR16 * +LPUNKNOWN + +%str # --forbidden + +LPOLESTR \ No newline at end of file diff --git a/tools/winapi_check/win16/ddeml.api b/tools/winapi_check/win16/ddeml.api new file mode 100644 index 00000000000..43ca68b8d44 --- /dev/null +++ b/tools/winapi_check/win16/ddeml.api @@ -0,0 +1,11 @@ +%long + +HCONV +HCONVLIST +HDDEDATA +HSZ + +%ptr + +LPCONVCONTEXT16 +LPCONVINFO16 diff --git a/tools/winapi_check/win16/display.api b/tools/winapi_check/win16/display.api index 3b0bf517542..7b164c27df8 100644 --- a/tools/winapi_check/win16/display.api +++ b/tools/winapi_check/win16/display.api @@ -1,3 +1,7 @@ %ptr LPCURSORINFO + +%ptr # --forbidden + +struct tagCURSORICONINFO * diff --git a/tools/winapi_check/win16/gdi.api b/tools/winapi_check/win16/gdi.api index e184c7e71b9..f13b249ffe8 100644 --- a/tools/winapi_check/win16/gdi.api +++ b/tools/winapi_check/win16/gdi.api @@ -1,3 +1,54 @@ +%ptr + +BITMAP16 * +BITMAPINFO * +DEVMODEA * +DOCINFO16 * +FARPROC16 * +HANDLETABLE16 * +LOGBRUSH16 * +LOGFONT16 * +LOGPALETTE * +LOGPEN16 * +LPABC16 +LPENUMLOGFONT16 +LPFONTINFO16 +LPGLYPHMETRICS16 +LPKERNINGPAIR16 +LPLOGFONT16 +LPNEWTEXTMETRIC16 +LPOUTLINETEXTMETRIC16 +LPPALETTEENTRY +LPPDEVICE +LPRASTERIZER_STATUS +LPRGNDATA +LPSIZE16 +LPTEXTXFORM16 +MAT2 * +METARECORD * +PALETTEENTRY * +TEXTMETRIC16 * +VOID * + +%ptr # --forbidden + +LPDEVMODEA + +%segptr + +FONTENUMPROC16 +FONTENUMPROCEX16 +GOBJENUMPROC16 +LINEDDAPROC16 +MFENUMPROC16 + %word HDC16 +HFONT16 +HGDIOBJ16 +HMETAFILE16 +HPEN16 +HPJOB16 +HPQ16 +HRGN16 \ No newline at end of file diff --git a/tools/winapi_check/win16/kernel.api b/tools/winapi_check/win16/kernel.api new file mode 100644 index 00000000000..95274817b7f --- /dev/null +++ b/tools/winapi_check/win16/kernel.api @@ -0,0 +1,38 @@ +%long # --forbidden + +HKEY +HMODULE + +%ptr + +BYTE * +FARPROC16 * +HANDLE * +LPCATCHBUF +OFSTRUCT * +OSVERSIONINFO16 * +SECURITY_ATTRIBUTES * +SEGINFO * +SYSLEVEL * +THUNKLET * +WIN32_FIND_DATAA * +WINDEBUGINFO * +struct ThunkDataCommon * + +%ptr # --forbidden + +FARPROC +FARPROC * +LPHKEY + +%word + +ATOM +HLOCAL16 +HQUEUE16 +HRSRC16 + +%wstr # --forbidden + +LPCWSTR + diff --git a/tools/winapi_check/win16/keyboard.api b/tools/winapi_check/win16/keyboard.api new file mode 100644 index 00000000000..ade50265ead --- /dev/null +++ b/tools/winapi_check/win16/keyboard.api @@ -0,0 +1,3 @@ +%word + +CHAR \ No newline at end of file diff --git a/tools/winapi_check/win16/lzexpand.api b/tools/winapi_check/win16/lzexpand.api new file mode 100644 index 00000000000..ce02810eaf3 --- /dev/null +++ b/tools/winapi_check/win16/lzexpand.api @@ -0,0 +1,3 @@ +%ptr + +LPOFSTRUCT diff --git a/tools/winapi_check/win16/mmsystem.api b/tools/winapi_check/win16/mmsystem.api new file mode 100644 index 00000000000..9d14270a230 --- /dev/null +++ b/tools/winapi_check/win16/mmsystem.api @@ -0,0 +1,69 @@ +%long + +FOURCC + +%long # --forbidden + +HWND + +%ptr + +DWORD * +HINSTANCE16 * +HMIDIIN16 * +HMIDIOUT16 * +HMIDISTRM16 * +HPCSTR +HPSTR +HWAVEIN16 * +HWAVEOUT16 * +LPAUXCAPS16 +LPHANDLE +LPHMIXER16 +LPJOYCAPS16 +LPJOYINFO16 +LPJOYINFOEX +LPMIDIHDR16 +LPMIDIINCAPS16 +LPMIDIOUTCAPS16 +LPMIXERCAPS16 +LPMIXERCONTROLDETAILS16 +LPMIXERLINE16 +LPMIXERLINECONTROLS16 +LPMMCKINFO +LPMMIOPROC16 +LPMMTIME16 +LPTIMECAPS16 +LPUINT16 +LPWAVEINCAPS16 +LPWAVEOUTCAPS16 +MIDIHDR16 * +MMCKINFO * +MMIOINFO16 * +WAVEHDR * + +%ptr # --forbidden + +LPWAVEFORMATEX +LPWAVEHDR + +%segptr + +LPTIMECALLBACK16 + +%segptr # --forbidden + +YIELDPROC + +%word + +HDRVR16 +HMIDIIN16 +HMIDIOUT16 +HMIDISTRM16 +HMIXER16 +HMIXEROBJ16 +HMMIO16 +HWAVEIN16 +HWAVEOUT16 + diff --git a/tools/winapi_check/win16/msacm.api b/tools/winapi_check/win16/msacm.api new file mode 100644 index 00000000000..2446fdb4bb3 --- /dev/null +++ b/tools/winapi_check/win16/msacm.api @@ -0,0 +1,30 @@ +%ptr + +ACMDRIVERENUMCB16 +ACMFILTERENUMCB16 +ACMFILTERTAGENUMCB16 +ACMFORMATENUMCB16 +ACMFORMATTAGENUMCB16 +LPACMDRIVERDETAILS16 +LPACMFILTERCHOOSE16 +LPACMFILTERDETAILS16 +LPACMFILTERTAGDETAILS16 +LPACMFORMATCHOOSE16 +LPACMFORMATDETAILS16 +LPACMFORMATTAGDETAILS16 +LPACMSTREAMHEADER16 +LPHACMDRIVER16 +LPHACMDRIVERID16 +LPHACMSTREAM16 + +%ptr # --forbidden + +LPWAVEFILTER +LPWAVEFORMATEX + +%word + +HACMDRIVER16 +HACMDRIVERID16 +HACMOBJ16 +HACMSTREAM16 diff --git a/tools/winapi_check/win16/ole2.api b/tools/winapi_check/win16/ole2.api new file mode 100644 index 00000000000..d6ab8631d14 --- /dev/null +++ b/tools/winapi_check/win16/ole2.api @@ -0,0 +1,5 @@ +%ptr + +LPDROPTARGET +LPMONIKER * +LPRUNNINGOBJECTTABLE * diff --git a/tools/winapi_check/win16/ole2disp.api b/tools/winapi_check/win16/ole2disp.api new file mode 100644 index 00000000000..7854e1e1bdc --- /dev/null +++ b/tools/winapi_check/win16/ole2disp.api @@ -0,0 +1,15 @@ +%ptr + +BSTR16 * +LPBSTR16 +INTERFACEDATA * +ITypeInfo ** +IUnknown * + +%segstr + +BSTR16 + +%word # --forbidden + +unsigned diff --git a/tools/winapi_check/win16/ole2nls.api b/tools/winapi_check/win16/ole2nls.api new file mode 100644 index 00000000000..34884e25a56 --- /dev/null +++ b/tools/winapi_check/win16/ole2nls.api @@ -0,0 +1,7 @@ +%long + +LCTYPE + +%word + +LANGID diff --git a/tools/winapi_check/win16/olecli.api b/tools/winapi_check/win16/olecli.api index e184c7e71b9..e0bd2f8af8f 100644 --- a/tools/winapi_check/win16/olecli.api +++ b/tools/winapi_check/win16/olecli.api @@ -1,3 +1,14 @@ +%long + +LHCLIENTDOC + +%ptr + +LHCLIENTDOC * +LPOLECLIENT +LPOLEOBJECT +LPOLEOBJECT * + %word HDC16 diff --git a/tools/winapi_check/win16/olesvr.api b/tools/winapi_check/win16/olesvr.api new file mode 100644 index 00000000000..149799b1dad --- /dev/null +++ b/tools/winapi_check/win16/olesvr.api @@ -0,0 +1,11 @@ +%long + +LHSERVER +LHSERVERDOC + +%ptr + +BOOL16 * +LHSERVERDOC * +LPOLESERVERDOC + diff --git a/tools/winapi_check/win16/shell.api b/tools/winapi_check/win16/shell.api new file mode 100644 index 00000000000..e8a94c2ba14 --- /dev/null +++ b/tools/winapi_check/win16/shell.api @@ -0,0 +1,15 @@ +%long # --forbidden + +HKEY + +%ptr + +HICON16 * + +%ptr # --forbidden + +LPHKEY + +%word + +HDROP16 diff --git a/tools/winapi_check/win16/storage.api b/tools/winapi_check/win16/storage.api new file mode 100644 index 00000000000..164a836fa3c --- /dev/null +++ b/tools/winapi_check/win16/storage.api @@ -0,0 +1,17 @@ +%ptr + +LPSTORAGE16 +IID * +IStorage16 * +IStorage16 ** +IStream16 * +IStream16 ** +SNB16 +STATSTG16 * +ULARGE_INTEGER * + +%longlong + +LARGE_INTEGER + + diff --git a/tools/winapi_check/win16/toolhelp.api b/tools/winapi_check/win16/toolhelp.api new file mode 100644 index 00000000000..2ae509b1281 --- /dev/null +++ b/tools/winapi_check/win16/toolhelp.api @@ -0,0 +1,20 @@ +%ptr + +CLASSENTRY * +GLOBALENTRY * +GLOBALINFO * +LOCALENTRY * +LOCALINFO * +MEMMANINFO * +MODULEENTRY * +STACKTRACEENTRY * +TASKENTRY * +SYSHEAPINFO * +TIMERINFO * + +%ptr # --forbidden + +FARPROC +LOCAL32ENTRY * +LOCAL32INFO * + diff --git a/tools/winapi_check/win16/typelib.api b/tools/winapi_check/win16/typelib.api new file mode 100644 index 00000000000..1c1b56ea051 --- /dev/null +++ b/tools/winapi_check/win16/typelib.api @@ -0,0 +1,7 @@ +%ptr + +LPBSTR16 + +%str # --forbidden + +LPOLESTR diff --git a/tools/winapi_check/win16/user.api b/tools/winapi_check/win16/user.api index e184c7e71b9..3d77613fb95 100644 --- a/tools/winapi_check/win16/user.api +++ b/tools/winapi_check/win16/user.api @@ -1,3 +1,55 @@ +%long + +HHOOK +POINT16 + +%ptr + +BOOL16 * +COLORREF * +CURSORICONINFO * +DWORD * +HHOOK * +LPCOMSTAT16 +LPDCB16 +LPDRIVERINFOSTRUCT16 +LPICONINFO16 +LPMSG16 +LPMSG16_32 +LPMSGBOXPARAMS16 +LPPAINTSTRUCT16 +LPQUEUESTRUCT16 * +LPSCROLLINFO +MENUITEMINFO16 * +MSG16 * +MSG32_16 * +PAINTSTRUCT16 * +SCROLLINFO * +WINDOWPLACEMENT16 * +WNDCLASS16 * +WNDCLASSEX16 * + +%segptr + +DLGPROC16 +GRAYSTRINGPROC16 +HOOKPROC16 +PROPENUMPROC16 +TIMERPROC16 +WNDENUMPROC16 +WNDPROC16 + %word +ATOM +CHAR +HACCEL16 +HCURSOR16 HDC16 +HDRVR16 +HDWP16 +HFONT16 +HMENU16 +HQUEUE16 +HRGN16 +HRSRC16 diff --git a/tools/winapi_check/win16/w32sys.api b/tools/winapi_check/win16/w32sys.api new file mode 100644 index 00000000000..a76245a6273 --- /dev/null +++ b/tools/winapi_check/win16/w32sys.api @@ -0,0 +1,3 @@ +%ptr + +LPWIN32SINFO diff --git a/tools/winapi_check/win16/win32s16.api b/tools/winapi_check/win16/win32s16.api new file mode 100644 index 00000000000..01097fa4aec --- /dev/null +++ b/tools/winapi_check/win16/win32s16.api @@ -0,0 +1,3 @@ +%ptr + +LPMEMORY_BASIC_INFORMATION \ No newline at end of file diff --git a/tools/winapi_check/win16/win87em.api b/tools/winapi_check/win16/win87em.api new file mode 100644 index 00000000000..34a289cf98f --- /dev/null +++ b/tools/winapi_check/win16/win87em.api @@ -0,0 +1,3 @@ +%ptr + +struct Win87EmInfoStruct * \ No newline at end of file diff --git a/tools/winapi_check/win16/wineps.api b/tools/winapi_check/win16/wineps.api new file mode 100644 index 00000000000..777773a1854 --- /dev/null +++ b/tools/winapi_check/win16/wineps.api @@ -0,0 +1,3 @@ +%ptr # --forbidden + +LPDEVMODEA \ No newline at end of file diff --git a/tools/winapi_check/win16/wing.api b/tools/winapi_check/win16/wing.api index e184c7e71b9..56954a270ec 100644 --- a/tools/winapi_check/win16/wing.api +++ b/tools/winapi_check/win16/wing.api @@ -1,3 +1,8 @@ +%ptr + +BITMAPINFO * + %word HDC16 +WING_DITHER_TYPE diff --git a/tools/winapi_check/win16/winsock.api b/tools/winapi_check/win16/winsock.api new file mode 100644 index 00000000000..6309ee0a9e4 --- /dev/null +++ b/tools/winapi_check/win16/winsock.api @@ -0,0 +1,23 @@ +%long # --forbidden +u_long + +%ptr + +LPWSADATA +struct sockaddr * +struct timeval * +ws_fd_set16 * + +%unknown + +struct in_addr + +%word + +SOCKET16 + +%word # --forbidden + +u_short + + diff --git a/tools/winapi_check/win16api.dat b/tools/winapi_check/win16api.dat index 07a503edda0..91c68465d61 100644 --- a/tools/winapi_check/win16api.dat +++ b/tools/winapi_check/win16api.dat @@ -2,237 +2,43 @@ COLORREF DWORD -FOURCC -HCONV -HCONVLIST -HDDEDATA -HHOOK -HKEY HRESULT -HSZ LCID -LCTYPE -LHCLIENTDOC -LHSERVER -LHSERVERDOC LONG LPARAM LRESULT -POINT16 ULONG %longlong -LARGE_INTEGER ULARGE_INTEGER %ptr -ACMDRIVERENUMCB16 -ACMFILTERENUMCB16 -ACMFILTERTAGENUMCB16 -ACMFORMATENUMCB16 -ACMFORMATTAGENUMCB16 -BITMAP16 * -BITMAPINFO * BITMAPINFOHEADER * -BOOL16 * -BSTR16 * -BYTE * -CLASSENTRY * -CLSID * -COLORREF * CONTEXT86 * -CURSORICONINFO * -DEVMODEA * -DOCINFO16 * -DWORD * -FARPROC * -FARPROC16 * -FILETIME * -GLOBALENTRY * -GLOBALINFO * -GUID * -HANDLE * -HANDLETABLE16 * -HHOOK * -HICON16 * -HINSTANCE16 * -HMIDIIN16 * -HMIDIOUT16 * -HMIDISTRM16 * -HPCSTR -HPSTR -HTASK16 * -HWAVEIN16 * -HWAVEOUT16 * -IID * -IMalloc16 * INT16 * -INTERFACEDATA * -IStorage16 * -IStorage16 ** -IStream16 * -IStream16 ** -ITypeInfo ** -IUnknown * -LHCLIENTDOC * -LHSERVERDOC * -LOCAL32ENTRY * -LOCAL32INFO * -LOCALENTRY * -LOCALINFO * -LOGBRUSH16 * -LOGFONT16 * -LOGPALETTE * -LOGPEN16 * -LPABC16 -LPACMDRIVERDETAILS16 -LPACMFILTERCHOOSE16 -LPACMFILTERDETAILS16 -LPACMFILTERTAGDETAILS16 -LPACMFORMATCHOOSE16 -LPACMFORMATDETAILS16 -LPACMFORMATTAGDETAILS16 -LPACMSTREAMHEADER16 -LPAUXCAPS16 -LPBSTR16 LPBYTE -LPCATCHBUF -LPCHOOSECOLOR16 -LPCHOOSEFONT16 -LPCLSID -LPCOMSTAT16 -LPCONVCONTEXT16 -LPCONVINFO16 LPCVOID -LPDCB16 -LPDEVMODEA -LPDRIVERINFOSTRUCT16 LPDWORD -LPENUMLOGFONT16 -LPFILETIME -LPFONTINFO16 -LPGLYPHMETRICS16 -LPHACMDRIVER16 -LPHACMDRIVERID16 -LPHACMSTREAM16 -LPHANDLE -LPHKEY -LPHMIXER16 -LPICONINFO16 LPINT16 -LPJOYCAPS16 -LPJOYINFO16 -LPJOYINFOEX -LPKERNINGPAIR16 -LPLOGFONT16 -LPMALLOC16 * -LPMEMORY_BASIC_INFORMATION -LPMESSAGEFILTER -LPMESSAGEFILTER * -LPMIDIHDR16 -LPMIDIINCAPS16 -LPMIDIOUTCAPS16 -LPMIXERCAPS16 -LPMIXERCONTROLDETAILS16 -LPMIXERLINE16 -LPMIXERLINECONTROLS16 -LPMMCKINFO -LPMMIOPROC16 -LPMMTIME16 -LPMONIKER * -LPMSG16 -LPMSG16_32 -LPMSGBOXPARAMS16 -LPNEWTEXTMETRIC16 -LPOFSTRUCT -LPOLECLIENT -LPOLEOBJECT -LPOLEOBJECT * -LPOLESERVERDOC -LPOLESTR16 * -LPDROPTARGET -LPOUTLINETEXTMETRIC16 -LPPAINTSTRUCT16 -LPPALETTEENTRY -LPPDEVICE LPPOINT16 -LPPRINTDLG16 -LPQUEUESTRUCT16 * -LPRASTERIZER_STATUS LPRECT16 -LPRGNDATA -LPRUNNINGOBJECTTABLE * -LPSCROLLINFO -LPSIZE16 -LPSTORAGE16 -LPTEXTXFORM16 -LPTIMECAPS16 -LPUINT16 -LPUNKNOWN LPVOID LPVOID * -LPWAVEFILTER -LPWAVEFORMATEX -LPWAVEHDR -LPWAVEINCAPS16 -LPWAVEOUTCAPS16 -LPWIN32SINFO LPWORD -LPWSADATA -MAT2 * -MEMMANINFO * -MENUITEMINFO16 * -METARECORD * -MIDIHDR16 * -MMCKINFO * -MMIOINFO16 * -MODULEENTRY * -MSG16 * -MSG32_16 * -OFSTRUCT * -OSVERSIONINFO16 * -PAINTSTRUCT16 * -PALETTEENTRY * POINT16 * RECT16 * REFCLSID REFGUID REFIID RGBQUAD * -SCROLLINFO * -SECURITY_ATTRIBUTES * -SEGINFO * SEGPTR * -SNB16 -STACKTRACEENTRY * -STATSTG16 * -SYSHEAPINFO * -SYSLEVEL * -TASKENTRY * -TEXTMETRIC16 * -THUNKLET * -TIMERINFO * UINT16 * -ULARGE_INTEGER * ULONG * -VOID * -WAVEHDR * -WIN32_FIND_DATAA * -WINDEBUGINFO * -WINDOWPLACEMENT16 * -WNDCLASS16 * -WNDCLASSEX16 * WORD * char * -struct ThunkDataCommon * -struct Win87EmInfoStruct * -struct sockaddr * -struct tagCURSORICONINFO * -struct timeval * void * -ws_fd_set16 * %s_word @@ -240,38 +46,16 @@ INT16 %segptr -DLGPROC16 FARPROC16 -FONTENUMPROC16 -FONTENUMPROCEX16 -GOBJENUMPROC16 -GRAYSTRINGPROC16 -HOOKPROC16 -LINEDDAPROC16 -LPTIMECALLBACK16 -MFENUMPROC16 -PROPENUMPROC16 SEGPTR -TIMERPROC16 -WNDENUMPROC16 -WNDPROC16 - -%segstr - -BSTR16 %str LPCOLESTR16 LPCSTR -LPCWSTR LPSTR LPOLESTR16 -%unknown - -struct in_addr - %void void @@ -279,73 +63,32 @@ VOID %word -ATOM BOOL16 BYTE -CHAR -HACCEL16 -HACMDRIVER16 -HACMDRIVERID16 -HACMOBJ16 -HACMSTREAM16 HANDLE16 HBITMAP16 HBRUSH16 -HCURSOR16 -HDROP16 -HDRVR16 -HDWP16 HFILE16 -HFONT16 -HGDIOBJ16 HGLOBAL16 HICON16 HINSTANCE16 -HLOCAL16 -HMENU16 -HMETAFILE16 -HMIDIIN16 -HMIDIOUT16 -HMIDISTRM16 -HMIXER16 -HMIXEROBJ16 -HMMIO16 HMODULE16 HPALETTE16 -HPEN16 -HPJOB16 -HPQ16 -HQUEUE16 -HRGN16 -HRSRC16 HTASK16 -HWAVEIN16 -HWAVEOUT16 HWND16 -LANGID MMRESULT16 OLESTATUS -SOCKET16 UINT16 -WING_DITHER_TYPE WORD WPARAM16 %unknown # --forbidden BOOL -FARPROC HANDLE HINSTANCE -HMODULE -HWND INT -LPOLESTR UINT -YIELDPROC int long -short -u_long -u_short -unsigned + diff --git a/tools/winapi_check/win32/advapi32.api b/tools/winapi_check/win32/advapi32.api index b2e2e48d8e0..0cb4ccdfc7b 100644 --- a/tools/winapi_check/win32/advapi32.api +++ b/tools/winapi_check/win32/advapi32.api @@ -1,7 +1,30 @@ %long +HCRYPTKEY POLICY_INFORMATION_CLASS +REGSAM +SC_HANDLE +SERVICE_STATUS_HANDLE +TOKEN_INFORMATION_CLASS %long --extension -LSA_HANDLE \ No newline at end of file +LSA_HANDLE + +%ptr + +HCRYPTPROV * +LPCWSTR * +LPENUM_SERVICE_STATUSA +LPHANDLER_FUNCTION +LPSERVICE_STATUS +LPSERVICE_TABLE_ENTRYA +LPSERVICE_TABLE_ENTRYW +PLSA_HANDLE +PLSA_OBJECT_ATTRIBUTES +PLSA_REFERENCED_DOMAIN_LIST * +PLSA_TRANSLATED_NAME * +PLSA_UNICODE_STRING +PSID_NAME_USE +PUCHAR +SECURITY_DESCRIPTOR * diff --git a/tools/winapi_check/win32/avifil32.api b/tools/winapi_check/win32/avifil32.api index 6558fd261db..03f4b0655bb 100644 --- a/tools/winapi_check/win32/avifil32.api +++ b/tools/winapi_check/win32/avifil32.api @@ -10,3 +10,4 @@ PAVIFILE PAVIFILE * PAVISTREAM PAVISTREAM * +PGETFRAME \ No newline at end of file diff --git a/tools/winapi_check/win32/comctl32.api b/tools/winapi_check/win32/comctl32.api index 9446a045082..1cd82de75b0 100644 --- a/tools/winapi_check/win32/comctl32.api +++ b/tools/winapi_check/win32/comctl32.api @@ -3,9 +3,32 @@ COLORREF HBITMAP HDC +HDPA +HDSA HICON +HIMAGELIST +HPROPSHEETPAGE HWND %ptr -TRACKMOUSEEVENT * \ No newline at end of file +DPAENUMPROC +DPALOADPROC +DSAENUMPROC +HDPA * +IMAGEINFO * +IMAGELISTDRAWPARAMS * +LPCOLDTBBUTTON +LPCOLORMAP +LPCPROPSHEETHEADERA +LPCPROPSHEETHEADERW +LPCPROPSHEETPAGEA +LPCPROPSHEETPAGEW +LPCREATEMRULIST +LPCTBBUTTON +LPINITCOMMONCONTROLSEX +LPNMHDR +LPSTREAM +PFNDPACOMPARE +PFNDPAMERGE +TRACKMOUSEEVENT * diff --git a/tools/winapi_check/win32/comdlg32.api b/tools/winapi_check/win32/comdlg32.api index c2835fac519..7ecc20808e4 100644 --- a/tools/winapi_check/win32/comdlg32.api +++ b/tools/winapi_check/win32/comdlg32.api @@ -1,3 +1,17 @@ %long -HWND \ No newline at end of file +HWND + +%ptr + +LPCHOOSECOLORA +LPCHOOSECOLORW +LPCHOOSEFONTA +LPCHOOSEFONTW +LPFINDREPLACEA +LPFINDREPLACEW +LPOPENFILENAMEA +LPOPENFILENAMEW +LPPAGESETUPDLGA +LPPRINTDLGA +LPPRINTDLGW diff --git a/tools/winapi_check/win32/crtdll.api b/tools/winapi_check/win32/crtdll.api new file mode 100644 index 00000000000..1531c1f262f --- /dev/null +++ b/tools/winapi_check/win32/crtdll.api @@ -0,0 +1,24 @@ +%long + +clock_t +time_t + +%ptr + +CRTDLL_FILE * +LPDWORD * +LPSTR ** +PCONTEXT +PEXCEPTION_FRAME * +VOID * +_INITTERMFUN * +jmp_buf +struct find_t * +struct stat * +struct win_stat * +time_t * + +%unknown + +new_handler_type +sig_handler_type diff --git a/tools/winapi_check/win32/ddraw.api b/tools/winapi_check/win32/ddraw.api new file mode 100644 index 00000000000..d2879f0d0fc --- /dev/null +++ b/tools/winapi_check/win32/ddraw.api @@ -0,0 +1,8 @@ +%ptr + +LPDDENUMCALLBACKA +LPDDENUMCALLBACKEXA +LPDDENUMCALLBACKEXW +LPDDENUMCALLBACKW +LPDIRECTDRAW * +LPDIRECTDRAWCLIPPER * diff --git a/tools/winapi_check/win32/dplayx.api b/tools/winapi_check/win32/dplayx.api new file mode 100644 index 00000000000..cfd958a0bce --- /dev/null +++ b/tools/winapi_check/win32/dplayx.api @@ -0,0 +1,6 @@ +%ptr + +LPDIRECTPLAYLOBBY * +LPDIRECTPLAYLOBBYA * +LPDPENUMDPCALLBACKA +LPDPENUMDPCALLBACKW diff --git a/tools/winapi_check/win32/dsound.api b/tools/winapi_check/win32/dsound.api new file mode 100644 index 00000000000..0826df9d4d6 --- /dev/null +++ b/tools/winapi_check/win32/dsound.api @@ -0,0 +1,4 @@ +%ptr + +LPDIRECTSOUND * +LPDSENUMCALLBACKA \ No newline at end of file diff --git a/tools/winapi_check/win32/gdi32.api b/tools/winapi_check/win32/gdi32.api index 745416739e6..52cac500b31 100644 --- a/tools/winapi_check/win32/gdi32.api +++ b/tools/winapi_check/win32/gdi32.api @@ -16,7 +16,60 @@ HWND %ptr +ABORTPROC BITMAP * BITMAPINFO * BITMAPINFOHEADER * - +COLORADJUSTMENT * +DEVMODEA * +DEVMODEW * +DOCINFOA * +DOCINFOW * +ENHMETARECORD * +ENHMFENUMPROC +FONTENUMPROCA +FONTENUMPROCEXA +FONTENUMPROCEXW +FONTENUMPROCW +GCP_RESULTSA * +GCP_RESULTSW * +GOBJENUMPROC +HANDLETABLE * +LINEDDAPROC +LOGBRUSH * +LOGFONTA * +LOGFONTW * +LOGPALETTE * +LOGPEN * +LPABC +LPABCFLOAT +LPCOLORADJUSTMENT +LPENHMETAHEADER +LPFONTSIGNATURE +LPGLYPHMETRICS +LPHANDLETABLE +LPKERNINGPAIR +LPLOGCOLORSPACEA +LPLOGCOLORSPACEW +LPOUTLINETEXTMETRICA +LPOUTLINETEXTMETRICW +LPPALETTEENTRY +LPPIXELFORMATDESCRIPTOR +LPRASTERIZER_STATUS +LPRGNDATA +LPSIZE +LPXFORM +MAT2 * +METAFILEPICT * +METARECORD * +MFENUMPROC +PALETTEENTRY * +PFLOAT +PIXELFORMATDESCRIPTOR * +PPOLYTEXTA +PPOLYTEXTW +RGBQUAD * +RGNDATA * +TEXTMETRICA * +TEXTMETRICW * +XFORM * diff --git a/tools/winapi_check/win32/icmp.api b/tools/winapi_check/win32/icmp.api new file mode 100644 index 00000000000..e2684377192 --- /dev/null +++ b/tools/winapi_check/win32/icmp.api @@ -0,0 +1,7 @@ +%long + +IPAddr + +%ptr + +PIP_OPTION_INFORMATION \ No newline at end of file diff --git a/tools/winapi_check/win32/imagehlp.api b/tools/winapi_check/win32/imagehlp.api new file mode 100644 index 00000000000..712e1724ae8 --- /dev/null +++ b/tools/winapi_check/win32/imagehlp.api @@ -0,0 +1,29 @@ +%long + +DIGEST_HANDLE +USHORT + +%ptr + +DIGEST_FUNCTION +PAPI_VERSION +PCHAR * +PENUMLOADED_MODULES_CALLBACK +PFUNCTION_TABLE_ACCESS_ROUTINE +PGET_MODULE_BASE_ROUTINE +PIMAGEHLP_MODULE +PIMAGEHLP_STATUS_ROUTINE +PIMAGEHLP_SYMBOL +PIMAGE_DEBUG_INFORMATION +PIMAGE_LOAD_CONFIG_DIRECTORY +PIMAGE_NT_HEADERS +PIMAGE_SECTION_HEADER +PIMAGE_SECTION_HEADER * +PLOADED_IMAGE +PREAD_PROCESS_MEMORY_ROUTINE +PSTACKFRAME +PSYMBOL_REGISTERED_CALLBACK +PSYM_ENUMMODULES_CALLBACK +PSYM_ENUMSYMBOLS_CALLBACK +PTRANSLATE_ADDRESS_ROUTINE +PWIN_CERTIFICATE diff --git a/tools/winapi_check/win32/imm32.api b/tools/winapi_check/win32/imm32.api index 3f41c3af496..071e3eb7fe1 100644 --- a/tools/winapi_check/win32/imm32.api +++ b/tools/winapi_check/win32/imm32.api @@ -2,3 +2,13 @@ HWND HIMC + +%ptr + +LPCANDIDATEFORM +LPCANDIDATELIST +LPCOMPOSITIONFORM +LPSTYLEBUFA +LPSTYLEBUFW +REGISTERWORDENUMPROCA +REGISTERWORDENUMPROCW diff --git a/tools/winapi_check/win32/kernel32.api b/tools/winapi_check/win32/kernel32.api new file mode 100644 index 00000000000..1a247274e96 --- /dev/null +++ b/tools/winapi_check/win32/kernel32.api @@ -0,0 +1,93 @@ +%long + +CALID +CALTYPE +COORD +LCTYPE +HLOCAL +HRSRC +ULONG_PTR + +%long # --forbidden + +BOOL16 + +%ptr + +BY_HANDLE_FILE_INFORMATION * +CALINFO_ENUMPROCA +CODEPAGE_ENUMPROCA +CODEPAGE_ENUMPROCW +DATEFMT_ENUMPROCA +DATEFMT_ENUMPROCW +ENUMRESLANGPROCA +ENUMRESLANGPROCW +ENUMRESNAMEPROCA +ENUMRESNAMEPROCW +ENUMRESTYPEPROCA +ENUMRESTYPEPROCW +FARPROC +FARPROC * +GET_FILEEX_INFO_LEVELS +HANDLER_ROUTINE * +INPUT_RECORD * +LARGE_INTEGER * +LOCALE_ENUMPROCA +LOCALE_ENUMPROCW +LPCHAR_INFO +LPCOMMTIMEOUTS +LPCOMSTAT +LPCONSOLE_CURSOR_INFO +LPCONSOLE_SCREEN_BUFFER_INFO +LPCPINFO +LPDCB +LPDCB * +LPDEBUG_EVENT +LPINPUT_RECORD +LPLDT_ENTRY +LPMEMORYSTATUS +LPMEMORY_BASIC_INFORMATION +LPMODULEENTRY +LPOVERLAPPED +LPOVERLAPPED_COMPLETION_ROUTINE +LPPROCESSENTRY +LPPROCESS_HEAP_ENTRY * +LPPROCESS_INFORMATION +LPPROGRESS_ROUTINE +LPSMALL_RECT +LPSTARTUPINFOA +LPSTARTUPINFOW +LPSYSTEM_INFO +LPSYSTEM_POWER_STATUS +LPTHREAD_START_ROUTINE +LPTHREADENTRY +LPTIME_ZONE_INFORMATION +LPTOP_LEVEL_EXCEPTION_FILTER +NUMBERFMTA * +NUMBERFMTW * +OFSTRUCT * +OSVERSIONINFOA * +OSVERSIONINFOW * +PAPCFUNC +PEXCEPTION_POINTERS +PLONG +PULARGE_INTEGER +SYSLEVEL * +SYSLEVEL ** +SYSTEMTIME * +TIMEFMT_ENUMPROCA +TIMEFMT_ENUMPROCW +WIN32_FIND_DATAA * +WIN32_FIND_DATAW * +struct ThunkDataCommon * + +%longlong + +LARGE_INTEGER + +%ptr # --forbidden + +FARPROC16 +HGLOBAL16 +HINSTANCE16 +SEGPTR \ No newline at end of file diff --git a/tools/winapi_check/win32/lz32.api b/tools/winapi_check/win32/lz32.api new file mode 100644 index 00000000000..0b1051ba374 --- /dev/null +++ b/tools/winapi_check/win32/lz32.api @@ -0,0 +1,3 @@ +%ptr + +LPOFSTRUCT \ No newline at end of file diff --git a/tools/winapi_check/win32/mpr.api b/tools/winapi_check/win32/mpr.api index c2835fac519..2b9df12cc7d 100644 --- a/tools/winapi_check/win32/mpr.api +++ b/tools/winapi_check/win32/mpr.api @@ -1,3 +1,21 @@ %long -HWND \ No newline at end of file +HPROVIDER +HWND +enum NOTIFYTYPE + +%ptr + +ENUMPASSWORDPROC +LPAUTHDLGSTRUCTA +LPCONNECTDLGSTRUCTA +LPCONNECTDLGSTRUCTW +LPDISCDLGSTRUCTA +LPDISCDLGSTRUCTW +LPHANDLE +LPNETCONNECTINFOSTRUCT +LPNETINFOSTRUCT +LPNETRESOURCEA +LPNETRESOURCEW +NOTIFYCALLBACK +PHPROVIDER diff --git a/tools/winapi_check/win32/msacm32.api b/tools/winapi_check/win32/msacm32.api index 98fe080c9d4..771ac6decd8 100644 --- a/tools/winapi_check/win32/msacm32.api +++ b/tools/winapi_check/win32/msacm32.api @@ -34,3 +34,5 @@ PACMSTREAMHEADER PHACMDRIVER PHACMDRIVERID PHACMSTREAM +PWAVEFILTER +PWAVEFORMATEX diff --git a/tools/winapi_check/win32/msvfw32.api b/tools/winapi_check/win32/msvfw32.api index 05c8b15d900..94f7a3f4b4b 100644 --- a/tools/winapi_check/win32/msvfw32.api +++ b/tools/winapi_check/win32/msvfw32.api @@ -5,3 +5,7 @@ HIC HPALETTE HWND +%ptr + +FARPROC +ICINFO * diff --git a/tools/winapi_check/win32/ntdll.api b/tools/winapi_check/win32/ntdll.api new file mode 100644 index 00000000000..508f644dee2 --- /dev/null +++ b/tools/winapi_check/win32/ntdll.api @@ -0,0 +1,38 @@ +%long + +FILE_INFORMATION_CLASS +FS_INFORMATION_CLASS +KEY_INFORMATION_CLASS +KEY_VALUE_INFORMATION_CLASS +OBJECT_INFORMATION_CLASS +PROCESSINFOCLASS +SECTION_INHERIT +SYSTEM_INFORMATION_CLASS +THREADINFOCLASS +TIMER_TYPE +TOKEN_TYPE + +%longlong + +LARGE_INTEGER + +%ptr + +EXCEPTION_RECORD * +LPRTL_RWLOCK +PACE_HEADER +PACE_HEADER * +PANSI_STRING +PBOOLEAN +PIMAGE_NT_HEADERS +PIO_APC_ROUTINE +PIO_STATUS_BLOCK +POBJDIR_INFORMATION +POBJECT_ATTRIBUTES +PRTL_HEAP_DEFINITION +PSTRING +PTIME_FIELDS +PTOKEN_PRIVILEGES +PUNICODE_STRING +PWCHAR +struct _TEB * diff --git a/tools/winapi_check/win32/ole32.api b/tools/winapi_check/win32/ole32.api index 41888d90dcb..2f3b2a26155 100644 --- a/tools/winapi_check/win32/ole32.api +++ b/tools/winapi_check/win32/ole32.api @@ -3,8 +3,50 @@ CLIPFORMAT HACCEL HMENU +HOLEMENU HWND %ptr -CLIPFORMAT * +CLIPFORMAT * +COSERVERINFO * +GUID * +HGLOBAL * +IDataObject * +IDataObject ** +IDropSource * +IErrorInfo * +ILockBytes * +IMoniker * +IMoniker ** +IPersistStream * +IStorage * +IStorage ** +LPBC * +LPDATAADVISEHOLDER * +LPDATAOBJECT +LPDROPTARGET +LPENUMFORMATETC * +LPENUMOLEVERB * +LPLOCKBYTES * +LPMESSAGEFILTER +LPMESSAGEFILTER * +LPMONIKER +LPMONIKER * +LPOLEADVISEHOLDER * +LPOLEINPLACEACTIVEOBJECT +LPOLEINPLACEFRAME +LPOLEINPLACEFRAMEINFO +LPOLEMENUGROUPWIDTHS +LPOLESTR +LPOLESTR * +LPPERSISTSTORAGE +LPRUNNINGOBJECTTABLE * +LPSTREAM * +MULTI_QI * +SNB +STGMEDIUM * + +%ptr # --forbidden + +LPOLESTR16 \ No newline at end of file diff --git a/tools/winapi_check/win32/oleaut32.api b/tools/winapi_check/win32/oleaut32.api index 60895c75537..161806f60b8 100644 --- a/tools/winapi_check/win32/oleaut32.api +++ b/tools/winapi_check/win32/oleaut32.api @@ -1,7 +1,44 @@ +%double + +CY +double + + %long +DATE HPALETTE +REGKIND +SYSKIND +USHORT +VARIANT_BOOL +VARTYPE +VOID ** %ptr +BSTR * +CY * COLORREF * +DATE * +FLOAT * +IErrorInfo * +ITypeLib * +ITypeLib ** +LPBSTR +LPFONTDESC +LPOLESTR +SAFEARRAY * +SAFEARRAY ** +SAFEARRAYBOUND * +USHORT * +VARIANT * +VARIANTARG * +VARIANT_BOOL * +double * +short * + +%wstr + +BSTR + diff --git a/tools/winapi_check/win32/olecli32.api b/tools/winapi_check/win32/olecli32.api index 8c76d1c2630..b9b0f0f1917 100644 --- a/tools/winapi_check/win32/olecli32.api +++ b/tools/winapi_check/win32/olecli32.api @@ -1,3 +1,13 @@ %long -HDC \ No newline at end of file +HDC +LHCLIENTDOC +OLECLIPFORMAT +OLEOPT_RENDER + +%ptr + +IPersistStream * +LPOLECLIENT +LHCLIENTDOC * +LPOLEOBJECT * diff --git a/tools/winapi_check/win32/oledlg.api b/tools/winapi_check/win32/oledlg.api index 2a948b02898..54d441926e5 100644 --- a/tools/winapi_check/win32/oledlg.api +++ b/tools/winapi_check/win32/oledlg.api @@ -2,3 +2,24 @@ HMENU HWND + +%ptr + +HMENU * +LPOLEUIBUSYA +LPOLEUIBUSYW +LPOLEUICHANGEICONA +LPOLEUICHANGEICONW +LPOLEUICHANGESOURCEA +LPOLEUICHANGESOURCEW +LPOLEUICONVERTA +LPOLEUICONVERTW +LPOLEUIEDITLINKSA +LPOLEUIEDITLINKSW +LPOLEUIINSERTOBJECTA +LPOLEUIINSERTOBJECTW +LPOLEUILINKCONTAINERA +LPOLEUIOBJECTPROPSA +LPOLEUIOBJECTPROPSW +LPOLEUIPASTESPECIALA +LPOLEUIPASTESPECIALW diff --git a/tools/winapi_check/win32/olesvr32.api b/tools/winapi_check/win32/olesvr32.api new file mode 100644 index 00000000000..00469011a67 --- /dev/null +++ b/tools/winapi_check/win32/olesvr32.api @@ -0,0 +1,12 @@ +%long + +LHSERVER +LHSERVERDOC +OLE_SERVER_USE + +%ptr + +LHSERVER * +LHSERVERDOC * +LPOLESERVER +LPOLESERVERDOC diff --git a/tools/winapi_check/win32/psapi.api b/tools/winapi_check/win32/psapi.api new file mode 100644 index 00000000000..0e47a859f4d --- /dev/null +++ b/tools/winapi_check/win32/psapi.api @@ -0,0 +1,7 @@ +%ptr + +HMODULE * +LPMODULEINFO +PPROCESS_MEMORY_COUNTERS +PPSAPI_WS_WATCH_INFORMATION + diff --git a/tools/winapi_check/win32/rasapi32.api b/tools/winapi_check/win32/rasapi32.api new file mode 100644 index 00000000000..b1b6c6a4e0c --- /dev/null +++ b/tools/winapi_check/win32/rasapi32.api @@ -0,0 +1,5 @@ +%ptr + +LPRASCONNA +LPRASDIALPARAMS +LPRASENTRYNAME diff --git a/tools/winapi_check/win32/shell32.api b/tools/winapi_check/win32/shell32.api index f072099f802..b6b42a3940d 100644 --- a/tools/winapi_check/win32/shell32.api +++ b/tools/winapi_check/win32/shell32.api @@ -2,10 +2,34 @@ COLORREF HBITMAP +HDROP HMENU HICON HWND %ptr +HIMAGELIST * +IDSTRUCT * +IDropTarget * +IShellFolder ** +LPBROWSEINFOA +LPCITEMIDLIST +LPCITEMIDLIST * +LPDRAWITEMSTRUCT +LPFNCREATEINSTANCE +LPFNFMCALLBACK +LPITEMIDLIST * +LPMEASUREITEMSTRUCT +LPSHELLEXECUTEINFOA +LPSHELLEXECUTEINFOW +LPSHELLFLAGSTATE +LPSHELLFOLDER +LPSHELLVIEWDATA +LPSHFILEOPSTRUCTA +LPSHFILEOPSTRUCTW +PAPPBARDATA +PNOTIFYICONDATAA PNOTIFYICONDATAW +SHFILEINFOA * +SHFILEINFOW * diff --git a/tools/winapi_check/win32/tapi32.api b/tools/winapi_check/win32/tapi32.api index 41c08660c6d..c1768e2b388 100644 --- a/tools/winapi_check/win32/tapi32.api +++ b/tools/winapi_check/win32/tapi32.api @@ -1,3 +1,44 @@ %long +HCALL +HLINE +HLINEAPP +HPHONE +HPHONEAPP HWND + +%ptr + +LINECALLBACK +LPHCALL +LPHLINE +LPHLINEAPP +LPHPHONE +LPHPHONEAPP +LPLINEADDRESSCAPS +LPLINEADDRESSSTATUS +LPLINECALLINFO +LPLINECALLLIST +LPLINECALLPARAMS +LPLINECALLSTATUS +LPLINECOUNTRYLIST +LPLINEDEVCAPS +LPLINEDEVSTATUS +LPLINEDIALPARAMS +LPLINEEXTENSIONID +LPLINEFORWARDLIST +LPLINEGENERATETONE +LPLINEMEDIACONTROLCALLSTATE +LPLINEMEDIACONTROLDIGIT +LPLINEMEDIACONTROLMEDIA +LPLINEMEDIACONTROLTONE +LPLINEMONITORTONE +LPLINEPROVIDERLIST +LPLINETRANSLATECAPS +LPLINETRANSLATEOUTPUT +LPPHONEBUTTONINFO +LPPHONECAPS +LPPHONEEXTENSIONID +LPPHONESTATUS +LPVARSTRING +PHONECALLBACK diff --git a/tools/winapi_check/win32/user32.api b/tools/winapi_check/win32/user32.api index a392bb30e32..1876f31815f 100644 --- a/tools/winapi_check/win32/user32.api +++ b/tools/winapi_check/win32/user32.api @@ -4,16 +4,69 @@ COLORREF HACCEL HBITMAP HBRUSH +HCONV +HCONVLIST HCURSOR HDC +HDDEDATA HDESK +HDWP HFONT +HHOOK HICON HMENU HMONITOR HRGN +HSZ +HWINSTA HWND +SHORT %ptr COLORREF * +DLGPROC +DRAWSTATEPROC +FARPROC +GRAYSTRINGPROC +HKL * +HWND * +HOOKPROC +LPACCEL +LPCHARSETINFO +LPCMENUINFO +LPCONVCONTEXT +LPCONVINFO +LPDISPLAY_DEVICEA +LPDISPLAY_DEVICEW +LPDRAWTEXTPARAMS +LPICONINFO +LPMENUINFO +LPMENUITEMINFOA +LPMENUITEMINFOW +LPMONITORINFO +LPMSGBOXPARAMSA +LPMSGBOXPARAMSW +MENUITEMINFOA * +MENUITEMINFOW * +MONITORENUMPROC +MSG * +PAINTSTRUCT * +PBYTE +PFNCALLBACK +PROPENUMPROCA +PROPENUMPROCEXA +PROPENUMPROCEXW +PROPENUMPROCW +PSECURITY_QUALITY_OF_SERVICE +SCROLLINFO * +SECURITY_INFORMATION * +SECURITY_QUALITY_OF_SERVICE * +TIMERPROC +WINDOWPLACEMENT * +WNDCLASSA * +WNDCLASSEXA * +WNDCLASSEXW * +WNDCLASSW * +WNDENUMPROC +WNDPROC diff --git a/tools/winapi_check/win32/w32skrnl.api b/tools/winapi_check/win32/w32skrnl.api new file mode 100644 index 00000000000..627d308fd3d --- /dev/null +++ b/tools/winapi_check/win32/w32skrnl.api @@ -0,0 +1,3 @@ +%long # --forbidden + +HTASK16 \ No newline at end of file diff --git a/tools/winapi_check/win32/winmm.api b/tools/winapi_check/win32/winmm.api index c2835fac519..f3b0309e53b 100644 --- a/tools/winapi_check/win32/winmm.api +++ b/tools/winapi_check/win32/winmm.api @@ -1,3 +1,63 @@ %long -HWND \ No newline at end of file +FOURCC +HDRVR +HMIDIIN +HMIDIOUT +HMIDISTRM +HMIXER +HMIXEROBJ +HMMIO +HWAVEIN +HWAVEOUT +HWND + +%ptr + +HMIDIIN * +HMIDIOUT * +HMIDISTRM * +HPCSTR +HPSTR +HWAVEIN * +HWAVEOUT * +LPAUXCAPSA +LPAUXCAPSW +LPHMIXER +LPJOYCAPSA +LPJOYCAPSW +LPJOYINFO +LPJOYINFOEX +LPMIDIHDR +LPMIDIINCAPSA +LPMIDIINCAPSW +LPMIDIOUTCAPSA +LPMIDIOUTCAPSW +LPMIXERCAPSA +LPMIXERCAPSW +LPMIXERCONTROLDETAILS +LPMIXERLINEA +LPMIXERLINECONTROLSA +LPMIXERLINECONTROLSW +LPMIXERLINEW +LPMMCKINFO +LPMMIOPROC +LPMMTIME +LPTIMECALLBACK +LPTIMECAPS +LPUINT +LPWAVEFORMATEX +LPWAVEHDR +LPWAVEINCAPSA +LPWAVEINCAPSW +LPWAVEOUTCAPSA +LPWAVEOUTCAPSW +MIDIHDR * +MMCKINFO * +MMIOINFO * +WAVEHDR * +YIELDPROC + +%long # --forbidden + +HMMIO16 diff --git a/tools/winapi_check/win32/winspool.api b/tools/winapi_check/win32/winspool.api index c2835fac519..da5aae2350f 100644 --- a/tools/winapi_check/win32/winspool.api +++ b/tools/winapi_check/win32/winspool.api @@ -1,3 +1,9 @@ %long -HWND \ No newline at end of file +HWND + +%ptr + +DEVMODEW * +LPPRINTER_DEFAULTSA +LPPRINTER_DEFAULTSW diff --git a/tools/winapi_check/win32/wnaspi32.api b/tools/winapi_check/win32/wnaspi32.api new file mode 100644 index 00000000000..723db003313 --- /dev/null +++ b/tools/winapi_check/win32/wnaspi32.api @@ -0,0 +1,3 @@ +%ptr + +LPSRB \ No newline at end of file diff --git a/tools/winapi_check/win32/wow32.api b/tools/winapi_check/win32/wow32.api new file mode 100644 index 00000000000..75c757459ea --- /dev/null +++ b/tools/winapi_check/win32/wow32.api @@ -0,0 +1,3 @@ +%long + +WOW_HANDLE_TYPE \ No newline at end of file diff --git a/tools/winapi_check/win32/wsock32.api b/tools/winapi_check/win32/wsock32.api index 41c08660c6d..34232114d20 100644 --- a/tools/winapi_check/win32/wsock32.api +++ b/tools/winapi_check/win32/wsock32.api @@ -1,3 +1,26 @@ %long HWND +SOCKET +u_long +u_short + +%long # --forbidden + +SOCKET16 + +%ptr + +FARPROC +LPWSADATA +struct WIN_hostent * +struct WIN_protoent * +struct WIN_servent * +struct netent * +struct sockaddr * +struct timeval * +ws_fd_set32 * + +%unknown + +struct in_addr \ No newline at end of file diff --git a/tools/winapi_check/win32api.dat b/tools/winapi_check/win32api.dat index 5016f1a57a3..35ab1abd664 100644 --- a/tools/winapi_check/win32api.dat +++ b/tools/winapi_check/win32api.dat @@ -1,8 +1,3 @@ -%double - -CY -double - %long ACCESS_MASK @@ -10,694 +5,129 @@ ATOM BOOL BOOLEAN BYTE -CALID -CALTYPE CHAR -COORD -DATE -DIGEST_HANDLE -DPAENUMPROC DWORD -FILE_INFORMATION_CLASS FLOAT -FOURCC -FS_INFORMATION_CLASS -GET_FILEEX_INFO_LEVELS HANDLE -HCALL -HCONV -HCONVLIST -HCRYPTKEY -HDDEDATA -HDROP -HDRVR -HDSA -HDWP HFILE HGLOBAL -HHOOK HINSTANCE HKEY HKL -HLINE -HLINEAPP -HLOCAL -HMIDIIN -HMIDIOUT -HMIDISTRM -HMIXER -HMIXEROBJ -HMMIO HMODULE -HOLEMENU -HPHONE -HPHONEAPP -HPROPSHEETPAGE -HPROVIDER HRESULT -HRSRC -HSZ HTASK -HWAVEIN -HWAVEOUT -HWINSTA INT -IPAddr -KEY_INFORMATION_CLASS -KEY_VALUE_INFORMATION_CLASS LANGID LCID -LCTYPE -LHCLIENTDOC -LHSERVER -LHSERVERDOC LONG LPARAM LRESULT MMRESULT NTSTATUS -OBJECT_INFORMATION_CLASS -OLECLIPFORMAT -OLEOPT_RENDER OLESTATUS -OLE_SERVER_USE PHANDLE -PHPROVIDER -PIO_APC_ROUTINE -PIP_OPTION_INFORMATION -PLSA_HANDLE -PLSA_OBJECT_ATTRIBUTES -PLSA_UNICODE_STRING -POBJDIR_INFORMATION -PROCESSINFOCLASS -PTIME_FIELDS -PTOKEN_PRIVILEGES -REGKIND -REGSAM -SC_HANDLE -SECTION_INHERIT SECURITY_IMPERSONATION_LEVEL SECURITY_INFORMATION -SEGPTR -SERVICE_STATUS_HANDLE -SHORT -SOCKET -SYSKIND -SYSTEM_INFORMATION_CLASS -THREADINFOCLASS -TIMER_TYPE -TOKEN_INFORMATION_CLASS -TOKEN_TYPE UINT ULONG -ULONG_PTR -USHORT -VARIANT_BOOL -VARTYPE WCHAR WORD -WOW_HANDLE_TYPE WPARAM -clock_t -enum NOTIFYTYPE -time_t %longlong -LARGE_INTEGER POINT ULARGE_INTEGER %ptr -ABORTPROC BOOL * -BSTR * BYTE * -BY_HANDLE_FILE_INFORMATION * -CALINFO_ENUMPROCA CHAR * CLSID * -CODEPAGE_ENUMPROCA -CODEPAGE_ENUMPROCW -COLORADJUSTMENT * CONTEXT * CONTEXT86 * -COSERVERINFO * CRITICAL_SECTION * -CRTDLL_FILE * -CY * -DATE * -DATEFMT_ENUMPROCA -DATEFMT_ENUMPROCW -DEVMODEA * -DEVMODEW * -DIGEST_FUNCTION -DLGPROC DLLVERSIONINFO * -DOCINFOA * -DOCINFOW * -DPALOADPROC -DRAWSTATEPROC -DSAENUMPROC DWORD * -ENHMETARECORD * -ENHMFENUMPROC -ENUMRESLANGPROCA -ENUMRESLANGPROCW -ENUMRESNAMEPROCA -ENUMRESNAMEPROCW -ENUMRESTYPEPROCA -ENUMRESTYPEPROCW -ENUMPASSWORDPROC -EXCEPTION_RECORD * -FARPROC -FARPROC * FILETIME * -FLOAT * -FONTENUMPROCA -FONTENUMPROCEXA -FONTENUMPROCEXW -FONTENUMPROCW -GCP_RESULTSA * -GCP_RESULTSW * -GOBJENUMPROC -GRAYSTRINGPROC -GUID * HANDLE * -HANDLER_ROUTINE * -HANDLETABLE * -HCRYPTPROV * -HDPA -HDPA * -HGLOBAL * HICON * -HIMAGELIST -HIMAGELIST * -HKL * -HMENU * -HMIDIIN * -HMIDIOUT * -HMIDISTRM * -HMODULE * -HOOKPROC -HPCSTR -HPSTR -HWAVEIN * -HWAVEOUT * -HWND * -ICINFO * -IDSTRUCT * -IDataObject * -IDataObject ** -IDropSource * -IDropTarget * -IErrorInfo * -ILockBytes * -IMAGEINFO * -IMAGELISTDRAWPARAMS * -IMoniker * -IMoniker ** -INPUT_RECORD * INT * -IPersistStream * -IShellFolder ** -IStorage * -IStorage ** IStream * -ITypeLib * -ITypeLib ** IUnknown * -LARGE_INTEGER * -LHCLIENTDOC * -LHSERVER * -LHSERVERDOC * -LINECALLBACK -LINEDDAPROC -LOCALE_ENUMPROCA -LOCALE_ENUMPROCW -LOGBRUSH * -LOGFONTA * -LOGFONTW * -LOGPALETTE * -LOGPEN * LONG * -LPABC -LPABCFLOAT -LPACCEL -LPAUTHDLGSTRUCTA -LPAUXCAPSA -LPAUXCAPSW -LPBC * LPBITMAPINFOHEADER LPBOOL -LPBROWSEINFOA -LPBSTR LPBYTE -LPCANDIDATEFORM -LPCANDIDATELIST -LPCHARSETINFO -LPCHAR_INFO -LPCHOOSECOLORA -LPCHOOSECOLORW -LPCHOOSEFONTA -LPCHOOSEFONTW -LPCITEMIDLIST -LPCITEMIDLIST * LPCLSID -LPCMENUINFO -LPCOLDTBBUTTON -LPCOLORADJUSTMENT -LPCOLORMAP -LPCOMMTIMEOUTS -LPCOMPOSITIONFORM -LPCOMSTAT -LPCONNECTDLGSTRUCTA -LPCONNECTDLGSTRUCTW -LPCONSOLE_CURSOR_INFO -LPCONSOLE_SCREEN_BUFFER_INFO -LPCONVCONTEXT -LPCONVINFO -LPCPINFO -LPCPROPSHEETHEADERA -LPCPROPSHEETHEADERW -LPCPROPSHEETPAGEA -LPCPROPSHEETPAGEW -LPCREATEMRULIST LPCSTR * -LPCTBBUTTON LPCVOID -LPCWSTR * -LPDATAADVISEHOLDER * -LPDATAOBJECT -LPDCB -LPDCB * -LPDDENUMCALLBACKA -LPDDENUMCALLBACKEXA -LPDDENUMCALLBACKEXW -LPDDENUMCALLBACKW -LPDEBUG_EVENT LPDEVMODEA LPDEVMODEW -LPDIRECTDRAW * -LPDIRECTDRAWCLIPPER * -LPDIRECTPLAYLOBBY * -LPDIRECTPLAYLOBBYA * -LPDIRECTSOUND * -LPDISCDLGSTRUCTA -LPDISCDLGSTRUCTW -LPDISPLAY_DEVICEA -LPDISPLAY_DEVICEW -LPDPENUMDPCALLBACKA -LPDPENUMDPCALLBACKW -LPDRAWITEMSTRUCT -LPDRAWTEXTPARAMS -LPDROPTARGET -LPDSENUMCALLBACKA LPDWORD -LPDWORD * -LPENHMETAHEADER -LPENUMFORMATETC * -LPENUMOLEVERB * -LPENUM_SERVICE_STATUSA LPFILETIME -LPFINDREPLACEA -LPFINDREPLACEW -LPFNCREATEINSTANCE -LPFNFMCALLBACK -LPFONTDESC -LPFONTSIGNATURE LPFORMATETC -LPGLYPHMETRICS LPGUID -LPHANDLE -LPHANDLER_FUNCTION -LPHANDLETABLE -LPHCALL LPHKEY -LPHLINE -LPHLINEAPP -LPHMIXER -LPHPHONE -LPHPHONEAPP -LPICONINFO -LPINITCOMMONCONTROLSEX -LPINPUT_RECORD LPINT -LPITEMIDLIST * LPITEMIDLIST -LPJOYCAPSA -LPJOYCAPSW -LPJOYINFO -LPJOYINFOEX -LPKERNINGPAIR -LPLDT_ENTRY -LPLINEADDRESSCAPS -LPLINEADDRESSSTATUS -LPLINECALLINFO -LPLINECALLLIST -LPLINECALLPARAMS -LPLINECALLSTATUS -LPLINECOUNTRYLIST -LPLINEDEVCAPS -LPLINEDEVSTATUS -LPLINEDIALPARAMS -LPLINEEXTENSIONID -LPLINEFORWARDLIST -LPLINEGENERATETONE -LPLINEMEDIACONTROLCALLSTATE -LPLINEMEDIACONTROLDIGIT -LPLINEMEDIACONTROLMEDIA -LPLINEMEDIACONTROLTONE -LPLINEMONITORTONE -LPLINEPROVIDERLIST -LPLINETRANSLATECAPS -LPLINETRANSLATEOUTPUT -LPLOCKBYTES * LPLOGFONTA LPLOGFONTW LPLONG LPMALLOC * -LPMEASUREITEMSTRUCT -LPMEMORYSTATUS -LPMEMORY_BASIC_INFORMATION -LPMENUINFO -LPMENUITEMINFOA -LPMENUITEMINFOW -LPMESSAGEFILTER -LPMESSAGEFILTER * -LPMIDIHDR -LPMIDIINCAPSA -LPMIDIINCAPSW -LPMIDIOUTCAPSA -LPMIDIOUTCAPSW -LPMIXERCAPSA -LPMIXERCAPSW -LPMIXERCONTROLDETAILS -LPMIXERLINEA -LPMIXERLINECONTROLSA -LPMIXERLINECONTROLSW -LPMIXERLINEW -LPMMCKINFO -LPMMIOPROC -LPMMIOPROC16 -LPMMTIME -LPMODULEENTRY -LPMODULEINFO -LPMONIKER -LPMONIKER * -LPMONITORINFO LPMSG -LPMSGBOXPARAMSA -LPMSGBOXPARAMSW -LPNETCONNECTINFOSTRUCT -LPNETINFOSTRUCT -LPNETRESOURCEA -LPNETRESOURCEW -LPNMHDR -LPOFSTRUCT -LPOLEADVISEHOLDER * -LPOLECLIENT LPOLECLIENTSITE -LPOLEINPLACEACTIVEOBJECT -LPOLEINPLACEFRAME -LPOLEINPLACEFRAMEINFO -LPOLEMENUGROUPWIDTHS LPOLEOBJECT -LPOLEOBJECT * -LPOLESERVER -LPOLESERVERDOC -LPOLESTR -LPOLESTR * -LPOLEUIBUSYA -LPOLEUIBUSYW -LPOLEUICHANGEICONA -LPOLEUICHANGEICONW -LPOLEUICHANGESOURCEA -LPOLEUICHANGESOURCEW -LPOLEUICONVERTA -LPOLEUICONVERTW -LPOLEUIEDITLINKSA -LPOLEUIEDITLINKSW -LPOLEUIINSERTOBJECTA -LPOLEUIINSERTOBJECTW -LPOLEUILINKCONTAINERA -LPOLEUIOBJECTPROPSA -LPOLEUIOBJECTPROPSW -LPOLEUIPASTESPECIALA -LPOLEUIPASTESPECIALW -LPOPENFILENAMEA -LPOPENFILENAMEW -LPOUTLINETEXTMETRICA -LPOUTLINETEXTMETRICW -LPOVERLAPPED -LPOVERLAPPED_COMPLETION_ROUTINE -LPPAGESETUPDLGA -LPPALETTEENTRY -LPPERSISTSTORAGE -LPPHONEBUTTONINFO -LPPHONECAPS -LPPHONEEXTENSIONID -LPPHONESTATUS -LPPIXELFORMATDESCRIPTOR LPPOINT -LPPRINTDLGA -LPPRINTDLGW -LPPRINTER_DEFAULTSA -LPPRINTER_DEFAULTSW -LPPROCESSENTRY -LPPROCESS_HEAP_ENTRY * -LPPROCESS_INFORMATION -LPPROGRESS_ROUTINE -LPRASCONNA -LPRASDIALPARAMS -LPRASENTRYNAME -LPRASTERIZER_STATUS LPRECT -LPRGNDATA -LPRTL_RWLOCK -LPRUNNINGOBJECTTABLE * LPSCROLLINFO LPSECURITY_ATTRIBUTES -LPSERVICE_STATUS -LPSERVICE_TABLE_ENTRYA -LPSERVICE_TABLE_ENTRYW -LPSHELLEXECUTEINFOA -LPSHELLEXECUTEINFOW -LPSHELLFLAGSTATE -LPSHELLFOLDER -LPSHELLVIEWDATA -LPSHFILEOPSTRUCTA -LPSHFILEOPSTRUCTW -LPSIZE -LPSMALL_RECT -LPSRB -LPSTARTUPINFOA -LPSTARTUPINFOW LPSTORAGE LPSTR * -LPSTR ** -LPSTREAM -LPSTREAM * LPSTRRET -LPSTYLEBUFA -LPSTYLEBUFW LPSYSTEMTIME -LPSYSTEM_INFO -LPSYSTEM_POWER_STATUS -LPTHREAD_START_ROUTINE -LPTHREADENTRY -LPTIMECALLBACK -LPTIMECAPS -LPTIME_ZONE_INFORMATION -LPTOP_LEVEL_EXCEPTION_FILTER LPTPMPARAMS -LPUINT LPUNKNOWN LPUNKNOWN * -LPVARSTRING LPVOID LPVOID * -LPWAVEFORMATEX -LPWAVEHDR -LPWAVEINCAPSA -LPWAVEINCAPSW -LPWAVEOUTCAPSA -LPWAVEOUTCAPSW LPWORD -LPWSADATA LPWSTR * -LPXFORM -MAT2 * -MENUITEMINFOA * -MENUITEMINFOW * -METAFILEPICT * -METARECORD * -MFENUMPROC -MIDIHDR * -MMCKINFO * -MMIOINFO * -MONITORENUMPROC -MSG * -MULTI_QI * -NOTIFYCALLBACK -NUMBERFMTA * -NUMBERFMTW * -OFSTRUCT * -OSVERSIONINFOA * -OSVERSIONINFOW * -PACE_HEADER -PACE_HEADER * PACL PACL * -PAINTSTRUCT * -PALETTEENTRY * -PANSI_STRING -PAPCFUNC -PAPI_VERSION -PAPPBARDATA -PBOOLEAN -PBYTE PCHAR -PCHAR * -PCONTEXT PDWORD -PENUMLOADED_MODULES_CALLBACK PEXCEPTION_FRAME -PEXCEPTION_FRAME * -PEXCEPTION_POINTERS PEXCEPTION_RECORD -PFLOAT -PFNCALLBACK -PFNDPACOMPARE -PFNDPAMERGE -PFUNCTION_TABLE_ACCESS_ROUTINE PGENERIC_MAPPING -PGETFRAME -PGET_MODULE_BASE_ROUTINE -PHONECALLBACK -PIMAGEHLP_MODULE -PIMAGEHLP_STATUS_ROUTINE -PIMAGEHLP_SYMBOL -PIMAGE_DEBUG_INFORMATION -PIMAGE_LOAD_CONFIG_DIRECTORY -PIMAGE_NT_HEADERS -PIMAGE_SECTION_HEADER -PIMAGE_SECTION_HEADER * -PIO_STATUS_BLOCK -PIXELFORMATDESCRIPTOR * PLARGE_INTEGER -PLOADED_IMAGE -PLONG PLUID -PNOTIFYICONDATAA -POBJECT_ATTRIBUTES POINT * -PPOLYTEXTA -PPOLYTEXTW -PPSAPI_WS_WATCH_INFORMATION PPRIVILEGE_SET -PPROCESS_MEMORY_COUNTERS -PREAD_PROCESS_MEMORY_ROUTINE -PRTL_HEAP_DEFINITION -PROPENUMPROCA -PROPENUMPROCEXA -PROPENUMPROCEXW -PROPENUMPROCW PSECURITY_DESCRIPTOR PSECURITY_DESCRIPTOR_CONTROL -PSECURITY_QUALITY_OF_SERVICE PSID PSID * PSID_IDENTIFIER_AUTHORITY -PSID_NAME_USE -PSTACKFRAME -PSTRING -PSYMBOL_REGISTERED_CALLBACK -PSYM_ENUMMODULES_CALLBACK -PSYM_ENUMSYMBOLS_CALLBACK PTIMERAPCROUTINE -PTRANSLATE_ADDRESS_ROUTINE -PUCHAR -PULARGE_INTEGER PULONG -PUNICODE_STRING PVOID PVOID * -PWAVEFILTER -PWAVEFORMATEX -PWIN_CERTIFICATE RECT * REFCLSID REFGUID REFIID -REGISTERWORDENUMPROCA -REGISTERWORDENUMPROCW -RGBQUAD * -RGNDATA * -SAFEARRAY * -SAFEARRAY ** -SAFEARRAYBOUND * -SCROLLINFO * SECURITY_ATTRIBUTES * -SECURITY_DESCRIPTOR * -SECURITY_INFORMATION * -SECURITY_QUALITY_OF_SERVICE * -SHFILEINFOA * -SHFILEINFOW * -SNB -STGMEDIUM * -SYSLEVEL * -SYSLEVEL ** -SYSTEMTIME * -TEXTMETRICA * -TEXTMETRICW * -TIMEFMT_ENUMPROCA -TIMEFMT_ENUMPROCW -TIMERPROC UINT * ULONG * -USHORT * -VARIANT * -VARIANTARG * -VARIANT_BOOL * -VOID * -VOID ** -WAVEHDR * WCHAR * -WIN32_FIND_DATAA * -WIN32_FIND_DATAW * -WINDOWPLACEMENT * -WNDCLASSA * -WNDCLASSEXA * -WNDCLASSEXW * -WNDCLASSW * -WNDENUMPROC -WNDPROC WORD * -XFORM * -YIELDPROC -_INITTERMFUN * char * -double * -jmp_buf -short * -struct _TEB * -struct ThunkDataCommon * -struct find_t * -struct netent * -struct sockaddr * -struct stat * -struct timeval * -struct win_stat * -struct WIN_hostent * -struct WIN_protoent * -struct WIN_servent * -time_t * va_list void * void ** -ws_fd_set32 * %str @@ -705,12 +135,6 @@ LPCSTR LPSTR OLECHAR * -%unknown - -new_handler_type -sig_handler_type -struct in_addr - %void void @@ -718,26 +142,15 @@ VOID %wstr -BSTR LPCOLESTR LPCWSTR LPWSTR %long # --forbidden -BOOL16 -FARPROC16 -HTASK16 -HGLOBAL16 -HINSTANCE16 -HMMIO16 HMODULE16 -LPOLESTR16 UINT16 -SOCKET16 int long short -u_long -u_short unsigned diff --git a/tools/winapi_check/winapi.pm b/tools/winapi_check/winapi.pm index f7a6a88f765..9bcae115a54 100644 --- a/tools/winapi_check/winapi.pm +++ b/tools/winapi_check/winapi.pm @@ -271,9 +271,15 @@ sub allowed_type_in_module { my $allowed_modules_limited = \%{$self->{ALLOWED_MODULES_LIMITED}}; my $type = shift; - my $module = shift; + my @modules = split(/ \& /, shift); - return !$$allowed_modules_limited{$type} || $$allowed_modules{$type}{$module}; + if(!$$allowed_modules_limited{$type}) { return 1; } + + foreach my $module (@modules) { + if($$allowed_modules{$type}{$module}) { return 1; } + } + + return 0; } sub type_used_in_module { @@ -281,10 +287,12 @@ sub type_used_in_module { my $used_modules = \%{$self->{USED_MODULES}}; my $type = shift; - my $module = shift; + my @modules = split(/ \& /, shift); + + foreach my $module (@modules) { + $$used_modules{$type}{$module} = 1; + } - $$used_modules{$type}{$module} = 1; - return (); } @@ -304,6 +312,31 @@ sub types_not_used { return $not_used; } +sub types_unlimited_used_in_modules { + my $self = shift; + + my $output = \${$self->{OUTPUT}}; + my $used_modules = \%{$self->{USED_MODULES}}; + my $allowed_modules = \%{$self->{ALLOWED_MODULES}}; + my $allowed_modules_unlimited = \%{$self->{ALLOWED_MODULES_UNLIMITED}}; + + my $used_types; + foreach my $type (sort(keys(%$allowed_modules_unlimited))) { + my $count = 0; + my @modules = (); + foreach my $module (sort(keys(%{$$used_modules{$type}}))) { + $count++; + push @modules, $module; + } + if($count <= 1) { + foreach my $module (@modules) { + $$used_types{$type}{$module} = 1; + } + } + } + return $used_types; +} + sub translate_argument { my $self = shift; my $translate_argument = \%{$self->{TRANSLATE_ARGUMENT}}; diff --git a/tools/winapi_check/winapi_check b/tools/winapi_check/winapi_check index 171d1de0bf5..ed223456480 100755 --- a/tools/winapi_check/winapi_check +++ b/tools/winapi_check/winapi_check @@ -275,7 +275,7 @@ foreach my $file ($options->files) { if(!$nativeapi->is_conditional($_)) { if(/^HAVE_/ && !/^HAVE_(IPX|MESAGL|BUGGY_MESAGL|WINE_CONSTRUCTOR)$/) { - $output->write("$file: $_ is not a declared as a conditional\n"); + $output->write("$file: $_ is not declared as a conditional\n"); } } else { $conditional++; diff --git a/tools/winapi_check/winapi_global.pm b/tools/winapi_check/winapi_global.pm index 685c43b5b80..b13807a167f 100644 --- a/tools/winapi_check/winapi_global.pm +++ b/tools/winapi_check/winapi_global.pm @@ -34,9 +34,21 @@ sub check { foreach my $module (sort(keys(%$not_used))) { foreach my $type (sort(keys(%{$$not_used{$module}}))) { - $output->write("*.c: $module: type $type not used\n"); + $output->write("*.c: $module: type ($type) not used\n"); } - } + } + + my $types_used = $winapi->types_unlimited_used_in_modules; + + foreach my $type (sort(keys(%$types_used))) { + $output->write("*.c: type ($type) only used in module[s] ("); + my $count = 0; + foreach my $module (sort(keys(%{$$types_used{$type}}))) { + if($count++) { $output->write(", "); } + $output->write("$module"); + } + $output->write(")\n"); + } } }