diff --git a/tools/winapi/win16.api b/tools/winapi/win16.api index 9d5cb44713..08faa1fa08 100644 --- a/tools/winapi/win16.api +++ b/tools/winapi/win16.api @@ -244,6 +244,30 @@ VOID BOOL16 WORD +%%display.drv + +%long + +DWORD + +%ptr + +LPCURSORINFO16 +struct tagCURSORICONINFO * + +%str + +LPSTR + +%void + +VOID + +%word + +BOOL16 +WORD + %%gdi.exe %long @@ -453,6 +477,40 @@ INT16 UINT16 WORD +%%keyboard.drv + +%long + +DWORD +LONG + +%ptr + +LPBYTE +LPKBINFO +LPVOID + +%segptr + +FARPROC16 + +%str + +LPCSTR +LPSTR + +%void + +VOID +void + +%word + +CHAR +INT16 +UINT16 +WORD + %%lzexpand.dll %long @@ -478,6 +536,24 @@ HFILE16 INT16 UINT16 +%%mouse.drv + +%ptr + +LPMOUSEINFO + +%segptr + +FARPROC16 + +%void + +VOID + +%word + +WORD + %%mmsystem.dll %long @@ -995,7 +1071,7 @@ BOOL16 INT16 UINT16 -%%system.dll +%%system.drv %long @@ -1133,6 +1209,7 @@ RECT16 * SCROLLINFO * SEGPTR * UINT16 * +VA_LIST16 WINDOWPLACEMENT16 * WNDCLASS16 * WNDCLASSEX16 * @@ -1427,6 +1504,7 @@ INT16 * LPWSADATA16 ULONG * char * +struct WS_in_addr struct WS_sockaddr * struct WS_timeval * ws_fd_set16 * @@ -1440,10 +1518,6 @@ SEGPTR LPCSTR -%unknown - -struct in_addr - %void void diff --git a/tools/winapi/win32.api b/tools/winapi/win32.api index 2fa5258e58..ddb597fb6d 100644 --- a/tools/winapi/win32.api +++ b/tools/winapi/win32.api @@ -50,6 +50,8 @@ LPENUM_SERVICE_STATUSW LPHANDLER_FUNCTION LPHW_PROFILE_INFOA LPLONG +LPQUERY_SERVICE_CONFIGA +LPQUERY_SERVICE_CONFIGW LPSECURITY_ATTRIBUTES LPSERVICE_STATUS LPSERVICE_TABLE_ENTRYA @@ -63,6 +65,10 @@ PACTRL_ACCESSW * PACTRL_AUDITW * PBOOL PDWORD +PEXPLICIT_ACCESSA +PEXPLICIT_ACCESSA * +PEXPLICIT_ACCESSW +PEXPLICIT_ACCESSW * PGENERIC_MAPPING PHANDLE PHKEY @@ -72,14 +78,19 @@ PLSA_REFERENCED_DOMAIN_LIST * PLSA_TRANSLATED_NAME * PLSA_UNICODE_STRING PLUID +POBJECT_TYPE_LIST PPRIVILEGE_SET PSECURITY_DESCRIPTOR +PSECURITY_DESCRIPTOR * PSECURITY_DESCRIPTOR_CONTROL PSID PSID * PSID_IDENTIFIER_AUTHORITY PSID_NAME_USE +PTRUSTEEA +PTRUSTEEW PUCHAR +PULONG PVOID PVOID * PVALENTA @@ -92,6 +103,10 @@ SECURITY_DESCRIPTOR * LPCSTR LPSTR +%void + +VOID + %wstr LPCWSTR @@ -173,7 +188,6 @@ LPWSTR %long BOOL -DWORD HFCI HFDI HRESULT @@ -185,6 +199,7 @@ int %ptr DLLVERSIONINFO * +EXTRACTdest * PCCAB PERF PFDICABINETINFO @@ -217,6 +232,34 @@ void * LPCSTR +%%capi2032.dll + +%long + +DWORD + +%ptr + +DWORD * +PVOID +PVOID * +char * + +%%cfgmgr32.dll + +%long + +CONFIGRET +ULONG + +%ptr + +PCHAR + +%str + +PCSTR + %%comcat.dll %long @@ -234,7 +277,6 @@ REFIID %long BOOL -CHAR COLORREF DWORD DWORD_PTR @@ -252,6 +294,7 @@ HRESULT HWND INT LANGID +LONG LPARAM LRESULT UINT @@ -267,16 +310,13 @@ POINT %ptr DLLVERSIONINFO * -DPAENUMPROC DPALOADPROC -DSAENUMPROC DWORD_PTR * HDPA * IMAGEINFO * IMAGELISTDRAWPARAMS * INT * IStream * -LPCOLDTBBUTTON LPCOLORMAP LPCPROPSHEETHEADERA LPCPROPSHEETHEADERW @@ -296,9 +336,10 @@ LPSTREAM LPVOID LPWSTR * PFNDPACOMPARE +PFNDPAENUMCALLBACK PFNDPAMERGE +PFNDSAENUMCALLBACK POINT * -RECT * SMOOTHSCROLLSTRUCT * SUBCLASSPROC TRACKMOUSEEVENT * @@ -387,9 +428,13 @@ HCERTSTORE %ptr BYTE * +CRYPTPROTECT_PROMPTSTRUCT * +DATA_BLOB * DWORD * GUID * PCCERT_CONTEXT +PCCRL_CONTEXT +PVOID SIP_ADD_NEWPROVIDER * SIP_DISPATCH_INFO * void * @@ -646,6 +691,16 @@ LPVOID * REFCLSID REFIID +%%dmusic32.dll + +%long + +HRESULT + +%ptr + +LPVOID + %%dplayx.dll %long @@ -675,7 +730,7 @@ HRESULT %ptr -LPVOID +LPVOID * REFCLSID REFIID @@ -701,6 +756,18 @@ LPVOID * REFCLSID REFIID +%%dswave + +%long + +HRESULT + +%ptr + +REFCLSID +REFIID +LPVOID * + %%gdi32.dll %long @@ -762,6 +829,8 @@ GCP_RESULTSA * GCP_RESULTSW * GOBJENUMPROC HANDLETABLE * +ICMENUMPROCA +ICMENUMPROCW INT * LINEDDAPROC LOGBRUSH * @@ -823,7 +892,6 @@ void * %ptr --extension -DC * FARPROC16 %str @@ -855,6 +923,44 @@ int char * void * +%void + +void + +%%glut32.dll + +%double + +double + +%float + +float + +%long + +int +unsigned int + +%ptr + +void * +void ** + +%void + +void + +%%iccvid.dll + +%long + +DWORD +HDRVR +LONG +LRESULT +UINT + %%icmp.dll %long @@ -870,6 +976,19 @@ WORD LPVOID PIP_OPTION_INFORMATION +%%ifsmgr.vxd + +%long + +BOOL +DWORD + +%ptr + +LPDWORD +LPOVERLAPPED +LPVOID + %%imaadp32.acm %long @@ -885,22 +1004,21 @@ UINT %long BOOL -BOOLEAN DWORD HANDLE HMODULE ULONG -USHORT WORD %ptr DIGEST_FUNCTION DIGEST_HANDLE +LPAPI_VERSION LPDWORD +LPSTACKFRAME LPSYSTEMTIME LPVOID -PAPI_VERSION PCHAR PCHAR * PDWORD @@ -913,16 +1031,12 @@ 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 -PULONG PVOID PWIN_CERTIFICATE ULONG * @@ -987,6 +1101,7 @@ LPWSTR BOOL DWORD +HANDLE IPAddr IPMask UINT @@ -1009,17 +1124,23 @@ PIP_UNIDIRECTIONAL_ADAPTER_ADDRESS PMIB_ICMP PMIB_IFROW PMIB_IFTABLE +PMIB_IFTABLE * PMIB_IPADDRTABLE +PMIB_IPADDRTABLE * PMIB_IPFORWARDROW PMIB_IPFORWARDTABLE +PMIB_IPFORWARDTABLE * PMIB_IPNETROW PMIB_IPNETTABLE +PMIB_IPNETTABLE * PMIB_IPSTATS PMIB_TCPROW PMIB_TCPSTATS PMIB_TCPTABLE +PMIB_TCPTABLE * PMIB_UDPSTATS PMIB_UDPTABLE +PMIB_UDPTABLE * PULONG %wstr @@ -1047,6 +1168,8 @@ CHAR COORD DWORD EXECUTION_STATE +GEOCLASS +GEOID HANDLE HFILE HGLOBAL @@ -1056,6 +1179,7 @@ HMODULE HRSRC INT LANGID +LATENCY_TIME LCID LCTYPE LONG @@ -1066,7 +1190,6 @@ WCHAR WORD WOW_HANDLE_TYPE int -unsigned char %long --extension @@ -1121,15 +1244,20 @@ FARPROC * FILETIME * FINDEX_INFO_LEVELS FINDEX_SEARCH_OPS +GEO_ENUMPROC GET_FILEEX_INFO_LEVELS +GUID * HANDLE * INPUT_RECORD * +LANGGROUPLOCALE_ENUMPROCA +LANGGROUPLOCALE_ENUMPROCW LANGUAGEGROUP_ENUMPROCA LANGUAGEGROUP_ENUMPROCW LARGE_INTEGER * LOCALE_ENUMPROCA LOCALE_ENUMPROCW LONG * +LGRPID LPBOOL LPBYTE LPCHAR_INFO @@ -1140,12 +1268,15 @@ LPCOMSTAT LPCONSOLE_CURSOR_INFO LPCONSOLE_SCREEN_BUFFER_INFO LPCPINFO +LPCPINFOEXA +LPCPINFOEXW LPCVOID LPDCB LPDEBUG_EVENT LPDWORD LPFIBER_START_ROUTINE LPFILETIME +LPHEAPLIST32 LPINPUT_RECORD LPLDT_ENTRY LPMEMORYSTATUS @@ -1176,7 +1307,6 @@ LPVOID LPVOID * LPWORD LPWSTR * -MEMMANINFO * NUMBERFMTA * NUMBERFMTW * OFSTRUCT * @@ -1188,6 +1318,7 @@ PDWORD PEXCEPTION_POINTERS PHANDLE PHANDLER_ROUTINE +PIO_COUNTERS PLARGE_INTEGER PLONG PMEMORY_BASIC_INFORMATION @@ -1330,6 +1461,32 @@ HDRVR LONG UINT +%%mmdevldr.vxd + +%long + +BOOL +DWORD + +%ptr + +LPDWORD +LPOVERLAPPED +LPVOID + +%%monodebg.vxd + +%long + +BOOL +DWORD + +%ptr + +LPDWORD +LPOVERLAPPED +LPVOID + %%mpr.dll %long @@ -1486,13 +1643,71 @@ LPARAM LRESULT UINT +%%mshtml + +%long + +BOOL +HINSTANCE +HRESULT +INT + +%ptr + +LPVOID * +REFCLSID +REFIID + +%str + +LPCSTR + +%%msi.dll + +%long + +BOOL +DWORD +HRESULT +INSTALLSTATE +INSTALLUILEVEL +LANGID +MSICOLINFO +MSIHANDLE +UINT +int +unsigned int + +%ptr + +BYTE * +DLLVERSIONINFO * +DWORD * +FILETIME * +HWND * +INSTALLSTATE * +INT * +MSIHANDLE * +PCCERT_CONTEXT * +UINT * +char * + +%str + +LPCSTR +LPSTR + +%wstr + +LPCWSTR +LPWSTR + %%msimg32.dll %long BOOL HDC -UINT int %ptr @@ -1556,17 +1771,15 @@ int long unsigned int unsigned long +unsigned short int %longlong -LONGLONG -ULONGLONG __int64 +unsigned __int64 %ptr -EXCEPTION_FRAME * -EXCEPTION_FRAME ** MSVCRT_EXCEPTION_FRAME * MSVCRT_FILE * MSVCRT_exception * @@ -1582,8 +1795,8 @@ MSVCRT_wchar_t ** MSVCRT_wchar_t *** MSVCRT_wint_t PCONTEXT -PEXCEPTION_FRAME -PEXCEPTION_FRAME * +PEXCEPTION_REGISTRATION_RECORD +PEXCEPTION_REGISTRATION_RECORD * PEXCEPTION_POINTERS PEXCEPTION_RECORD WCHAR ** @@ -1603,11 +1816,13 @@ struct MSVCRT_lconv * struct MSVCRT_tm * struct _diskfree_t * struct _finddata_t * +struct _finddatai64_t * struct _stat * struct _stati64 * struct _timeb * struct _utimbuf * struct _wfinddata_t * +struct _wfinddatai64_t * terminate_function type_info * unexpected_function @@ -1640,6 +1855,7 @@ int %ptr +int * void * %%msvcrt20.dll @@ -1704,10 +1920,21 @@ void LPCWSTR +%%msvidc32.dll + +%long + +DWORD +HDRVR +LONG +LRESULT +UINT + %%mswsock.dll %long +BOOL DWORD HANDLE SOCKET @@ -1727,9 +1954,9 @@ void %long -BOOL DWORD NET_API_STATUS +UCHAR %ptr @@ -1741,6 +1968,7 @@ LPVOID * LPWSTR * PBROWSER_EMULATED_DOMAIN * PBYTE * +PDWORD PNCB PVOID * @@ -1749,6 +1977,28 @@ PVOID * LPCWSTR LPWSTR +%%newdev.dll + +%long + +BOOL +DWORD +HWND + +%ptr + +LPGUID +PBOOL +PDWORD + +%str + +LPCSTR + +%wstr + +LPCWSTR + %%ntdll.dll %double @@ -1758,6 +2008,7 @@ double %long ACCESS_MASK +ACL_INFORMATION_CLASS BOOL BOOLEAN BYTE @@ -1790,6 +2041,7 @@ UINT ULONG WCHAR WORD +enum loadorder_type int long unsigned int @@ -1805,21 +2057,24 @@ obj_handle_t %longlong +DWORDLONG LONGLONG ULONGLONG %ptr +ANSI_STRING * BOOLEAN * CONTEXT * -CONTEXT86 * CLIENT_ID * CURDIR * DOS_PATHNAME_TYPE DWORD * -EXCEPTION_FRAME * EXCEPTION_RECORD * +EXCEPTION_REGISTRATION_RECORD * +EXCEPTION_REGISTRATION_RECORD ** GENERIC_MAPPING * +GUID * HANDLE * HANDLERPROC HMODULE * @@ -1861,7 +2116,6 @@ PCHAR PCRTL_BITMAP PCSZ PDWORD -PEXCEPTION_FRAME PEXCEPTION_RECORD PGENERIC_MAPPING PHANDLE @@ -1884,6 +2138,7 @@ PPRIVILEGE_SET PRTL_BITMAP PRTL_BITMAP_RUN PRTL_HEAP_DEFINITION +PRTL_USER_PROCESS_PARAMETERS PSECURITY_DESCRIPTOR PSECURITY_DESCRIPTOR_CONTROL PSID @@ -1891,17 +2146,24 @@ PSID * PSID_IDENTIFIER_AUTHORITY PSTRING PSYSTEM_MODULE_INFORMATION +PRTL_THREAD_START_ROUTINE PTIMERAPCROUTINE PTIME_FIELDS PTOKEN_PRIVILEGES PULONG PUNICODE_STRING +PVECTORED_EXCEPTION_HANDLER PVOID PVOID * PWSTR * RTL_CRITICAL_SECTION * +RTL_USER_PROCESS_PARAMETERS * +RTL_USER_PROCESS_PARAMETERS ** +RTL_OSVERSIONINFOEXW * +SECURITY_DESCRIPTOR * SIZE_T * STRING * +TEB * TIME_ZONE_INFORMATION * UINT * ULONG * @@ -1910,7 +2172,6 @@ USHORT * UNICODE_STRING * VOID * WCHAR ** -struct _TEB * union cptable * void * void ** @@ -2029,7 +2290,6 @@ LPDWORD LPENUMFORMATETC * LPENUMOLEVERB * LPFORMATETC -LPGUID LPLOCKBYTES * LPMALLOC * LPMALLOCSPY @@ -2082,11 +2342,27 @@ LPOLESTR VOID void +%%oleacc.dll + +%long + +HRESULT +HWND +LONG + +%ptr + +REFIID +void ** + %%oleaut32.dll +%float + +float + %double -CY DATE double @@ -2109,6 +2385,7 @@ LCID LONG OLE_COLOR REGKIND +SHORT SYSKIND UINT ULONG @@ -2122,6 +2399,12 @@ signed char unsigned int unsigned long +%longlong + +CY +LONG64 +ULONG64 + %ptr BSTR * @@ -2133,9 +2416,10 @@ DECIMAL * DISPID * DISPPARAMS * EXCEPINFO * -FLOAT * +GUID * ICreateTypeLib ** -IID * +ICreateTypeLib2 ** +IDispatch * INTERFACEDATA * IRecordInfo * IRecordInfo ** @@ -2146,6 +2430,7 @@ ITypeLib ** IUnknown * IUnknown ** LONG * +LONG64 * LPBSTR LPBYTE LPCLSID @@ -2169,9 +2454,11 @@ REFIID SAFEARRAY * SAFEARRAY ** SAFEARRAYBOUND * +SHORT * UDATE * UINT * ULONG * +ULONG64 * USHORT * VARIANT * VARIANTARG * @@ -2180,8 +2467,8 @@ VARIANT_BOOL * VARTYPE * VOID * double * +float * int * -short * signed char * void * void ** @@ -2352,7 +2639,6 @@ GLvoid * GLvoid ** LPGLYPHMETRICSFLOAT LPLAYERPLANEDESCRIPTOR -char * void * %str @@ -2536,6 +2822,35 @@ LPWSTR void +%%rsabase.dll + +%long + +ALG_ID +BOOL +DWORD +HCRYPTHASH +HCRYPTKEY +HCRYPTPROV +HRESULT + +%ptr + +BYTE * +DWORD * +HCRYPTHASH * +HCRYPTKEY * +HCRYPTPROV * + +%str + +LPSTR +PVTableProvStruc + +%wstr + +LPCWSTR + %%serialui.dll %long @@ -2570,6 +2885,7 @@ HSPFILEQ HWND INT LONG +REGSAM UINT %long --ptr @@ -2579,22 +2895,28 @@ UINT_PTR %ptr BYTE * -DWORD * GUID * INFCONTEXT * -INT * +LPDWORD +LPCVOID LPGUID PBYTE PDWORD +PINFCONTEXT +PINT PSP_DEVICE_INTERFACE_DATA -PSP_DEVICE_INTERFACE_DETAIL_DATAA -PSP_DEVICE_INTERFACE_DETAIL_DATAW +PSP_DEVICE_INTERFACE_DETAIL_DATA_A +PSP_DEVICE_INTERFACE_DETAIL_DATA_W PSP_DEVINFO_DATA +PSP_DEVINFO_LIST_DETAIL_DATA_A +PSP_DEVINFO_LIST_DETAIL_DATA_W PSP_FILE_CALLBACK_A PSP_FILE_CALLBACK_W PSP_FILE_COPY_PARAMS_A PSP_FILE_COPY_PARAMS_W +PSP_INF_INFORMATION PSTR +PSTR * PUINT PVOID UINT * @@ -2603,7 +2925,6 @@ void * %str LPCSTR -LPSTR PCSTR %void @@ -2657,6 +2978,7 @@ HWND INT LONG LRESULT +RESTRICTIONS UINT ULONG WORD @@ -2669,6 +2991,7 @@ POINT %ptr +AUTO_SCROLL_DATA * CABINETSTATE * CLSID * DLLVERSIONINFO * @@ -2678,6 +3001,7 @@ FORMATETC * HICON * HIMAGELIST * HWND * +IShellFolder * IShellFolder ** IStream * ITEMIDLIST * @@ -2686,7 +3010,6 @@ LPBROWSEINFOW LPBYTE LPCITEMIDLIST LPCITEMIDLIST * -LPCNOTIFYREGISTER LPCRECT LPCSHELLFOLDERVIEWINFO LPCVOID @@ -2707,7 +3030,6 @@ LPLONG LPMALLOC * LPMEASUREITEMSTRUCT LPPOINT -LPSCROLLSAMPLES LPSECURITY_ATTRIBUTES LPSHELLEXECUTEINFOA LPSHELLEXECUTEINFOW @@ -2732,9 +3054,9 @@ PNOTIFYICONDATAW POINT * REFCLSID REFIID +SHChangeNotifyEntry * SHFILEINFOA * SHFILEINFOW * -UINT * int * %str @@ -2800,6 +3122,7 @@ LONGLONG %ptr BOOL * +BSTR * CLSID * DLLVERSIONINFO * DWORD * @@ -2859,6 +3182,7 @@ RECT * REFGUID REFIID SHFILEINFOW * +STRRET * UINT * ULARGE_INTEGER * VARIANT * @@ -2967,20 +3291,19 @@ LPSTR %long BOOL -CHAR COLORREF DWORD HBITMAP HDC HFONT +HKL HRGN HWND INT -INT16 LONG +SHORT UINT -UINT16 -WORD +WCHAR int %ptr @@ -2988,7 +3311,7 @@ int BITMAPINFO * CREATESTRUCTA * DC * -DEVMODEA * +DEVMODEW * DWORD * INT * LPBYTE @@ -3009,7 +3332,6 @@ void * %str LPCSTR -LPSTR %void @@ -3199,6 +3521,7 @@ PCONVCONTEXT PCONVINFO PCURSORINFO PDWORD_PTR +PFLASHWINFO PFNCALLBACK PICONINFO POINT * @@ -3250,6 +3573,73 @@ void LPCWSTR LPWSTR +%%uxtheme.dll + +%long + +BOOL +COLORREF +DWORD +HBRUSH +HDC +HIMAGELIST +HRESULT +HRGN +HTHEME +HTHEMEFILE +HWND +THEMESIZE +UINT +int + +%longlong + +POINT + +%ptr + +BOOL * +COLORREF * +DTBGOPTS * +EnumThemeProc +HRGN * +HTHEMEFILE * +INTLIST * +LOGFONTW * +LPVOID +MARGINS * +POINT * +PROPERTYORIGIN * +ParseThemeIniFileProc +RECT * +SIZE * +TEXTMETRICW * +WORD * +char * +int * + +%void + +void + +%wstr + +LPCWSTR +LPWSTR + +%%vdhcp.vxd + +%long + +BOOL +DWORD + +%ptr + +LPDWORD +LPOVERLAPPED +LPVOID + %%version.dll %long @@ -3275,6 +3665,58 @@ LPSTR LPCWSTR LPWSTR +%%vnb.vxd + +%long + +BOOL +DWORD + +%ptr + +LPDWORD +LPOVERLAPPED +LPVOID + +%%vnetbios.vxd + +%long + +BOOL +DWORD + +%ptr + +LPDWORD +LPOVERLAPPED +LPVOID + +%%vtdapi.vxd + +%long + +BOOL +DWORD + +%ptr + +LPDWORD +LPOVERLAPPED +LPVOID + +%%vwin32.vxd + +%long + +BOOL +DWORD + +%ptr + +LPDWORD +LPOVERLAPPED +LPVOID + %%w32skrnl.dll %long @@ -3315,20 +3757,24 @@ LONG UINT WORD +%%wined3d.dll + +%long + +UINT + +%ptr + +IDirect3DImpl * + %%winedos.dll %long -BOOL BYTE DWORD -UINT int -%ptr - -DWORD * - %str LPCSTR @@ -3400,10 +3846,10 @@ WORD BITMAPINFO * DC * -DEVICEFONTENUMPROC -DEVMODEA * +DEVMODEW * DOCINFOA * DWORD * +FONTENUMPROCW INT * LPCVOID LPDEVMODEA @@ -3425,7 +3871,7 @@ LPSTR %void -VOID +void %wstr @@ -3447,9 +3893,12 @@ HINTERNET HRESULT HWND INTERNET_PORT +LONG %ptr +GOPHER_ATTRIBUTE_ENUMERATORA +GOPHER_ATTRIBUTE_ENUMERATORW HANDLE * INTERNET_STATUS_CALLBACK LPBYTE @@ -3457,6 +3906,8 @@ LPCSTR * LPCVOID LPCWSTR * LPDWORD +LPGOPHER_FIND_DATAA +LPGOPHER_FIND_DATAW LPINTERNET_BUFFERSA LPINTERNET_BUFFERSW LPINTERNET_CACHE_ENTRY_INFOA @@ -3467,6 +3918,7 @@ LPVOID LPVOID * LPWIN32_FIND_DATAA LPWIN32_FIND_DATAW +PVOID %str @@ -3502,9 +3954,16 @@ INT LONG LPARAM LRESULT +MCIERROR +MCIDEVICEID MMRESULT UINT +%long --ptr + +DWORD_PTR +UINT_PTR + %long --forbidden HMMIO16 @@ -3514,12 +3973,10 @@ UINT16 DWORD * HMIDIIN * -HMIDIOUT * HMIDISTRM * HPCSTR HPSTR HWAVEIN * -HWAVEOUT * LPAUXCAPSA LPAUXCAPSW LPBYTE @@ -3532,6 +3989,7 @@ LPJOYINFOEX LPMIDIHDR LPMIDIINCAPSA LPMIDIINCAPSW +LPHMIDIOUT LPMIDIOUTCAPSA LPMIDIOUTCAPSW LPMIXERCAPSA @@ -3551,6 +4009,7 @@ LPWAVEFORMATEX LPWAVEHDR LPWAVEINCAPSA LPWAVEINCAPSW +LPHWAVEOUT LPWAVEOUTCAPSA LPWAVEOUTCAPSW MIDIHDR * @@ -3594,6 +4053,8 @@ LPDWORD LPPRINTER_DEFAULTSA LPPRINTER_DEFAULTSW LPVOID +PBYTE +PDWORD %str @@ -3693,6 +4154,7 @@ LPDWORD LPGUID LPINT LPQOS +LPSOCKADDR LPVOID LPWPUPOSTMESSAGE LPWSABUF @@ -3713,6 +4175,7 @@ struct WS_servent * struct WS_sockaddr * struct WS_timeval * u_long * +u_short * %str @@ -3771,7 +4234,6 @@ LPWSTR %long BOOL -CHAR COLORREF DWORD HANDLE @@ -3781,6 +4243,7 @@ HBRUSH HDC HFONT HICON +HKL HPALETTE HPEN HRGN @@ -3788,8 +4251,9 @@ HWND INT LONG LPARAM +SHORT UINT -WORD +WCHAR WPARAM int @@ -3800,11 +4264,12 @@ BYTE * CREATESTRUCTA * CURSORICONINFO * DC * -DEVICEFONTENUMPROC -DEVMODEA * +DEVMODEW * DWORD * +FONTENUMPROCW HANDLE * HANDLE16 * +HKL * INT * LPBYTE LPCVOID @@ -3817,6 +4282,7 @@ LPRECT LPSIZE LPVOID LPVOID * +LPWTPACKET * PIXELFORMATDESCRIPTOR * POINT * RECT * diff --git a/tools/winapi_check/winapi_check b/tools/winapi_check/winapi_check index 528dab703a..4be3150c59 100755 --- a/tools/winapi_check/winapi_check +++ b/tools/winapi_check/winapi_check @@ -538,9 +538,10 @@ foreach my $file (@c_files) { } else { $include = "$header"; } - } elsif($header =~ /^(?:\.\.\/kernel\/(kernel_private\.h))$/) { # FIXME: Kludge - my $header2 = $1; - $include = "dlls/kernel/$header2"; + } elsif($header =~ /^(?:kernel_private\.h)$/) { # FIXME: Kludge + $include = "dlls/kernel/$header"; + } elsif($header =~ /^(?:gdi_private\.h)$/) { # FIXME: Kludge + $include = "dlls/gdi/$header"; } elsif($header =~ /^(?:ntdll_misc\.h)$/) { # FIXME: Kludge $include = "dlls/ntdll/$header"; } elsif($header =~ /^(?:controls\.h|message\.h)$/) { # FIXME: Kludge @@ -618,10 +619,14 @@ foreach my $file (@c_files) { $include2info{$name}{used}++; } } - } elsif($header =~ /^(?:\.\.\/kernel\/(kernel_private\.h))$/) { # FIXME: Kludge - my $header2 = $1; - $include2info{"dlls/kernel/$header2"}{used}++; - foreach my $name (keys(%{$include2info{"dlls/kernel/$header2"}{includes}})) { + } elsif($header =~ /^(?:kernel_private\.h)$/) { # FIXME: Kludge + $include2info{"dlls/kernel/$header"}{used}++; + foreach my $name (keys(%{$include2info{"dlls/kernel/$header"}{includes}})) { + $include2info{$name}{used}++; + } + } elsif($header =~ /^(?:gdi_private\.h)$/) { # FIXME: Kludge + $include2info{"dlls/gdi/$header"}{used}++; + foreach my $name (keys(%{$include2info{"dlls/gdi/$header"}{includes}})) { $include2info{$name}{used}++; } } elsif($header =~ /^(?:ntdll_misc\.h)$/) { # FIXME: Kludge @@ -629,7 +634,6 @@ foreach my $file (@c_files) { foreach my $name (keys(%{$include2info{"dlls/ntdll/$header"}{includes}})) { $include2info{$name}{used}++; } - } elsif($header =~ /^(?:controls\.h|message\.h)$/) { # FIXME: Kludge $include2info{"dlls/user/$header"}{used}++; foreach my $name (keys(%{$include2info{"dlls/user/$header"}{includes}})) { diff --git a/tools/winapi_check/winapi_documentation.pm b/tools/winapi_check/winapi_documentation.pm index edaf567c53..0e3013522c 100644 --- a/tools/winapi_check/winapi_documentation.pm +++ b/tools/winapi_check/winapi_documentation.pm @@ -125,13 +125,20 @@ sub check_documentation { if(!$documentation_error && $options->documentation_wrong) { foreach (split(/\n/, $documentation)) { - if(/^\s*\*\s*(\S+)\s*[\(\[]\s*(\w+)\s*\.\s*([^\s\)\]]*)\s*[\)\]].*?$/) { + if (/^\s*\*\s*(\S+)\s*[\(\[]\s*(\w+(?:\.(?:DRV|VXD))?)\s*\.\s*([^\s\)\]]*)\s*[\)\]].*?$/) { my $external_name = $1; my $module = $2; my $ordinal = $3; - if(!$options->documentation_pedantic && $ordinal ne "@") { + if ($ordinal eq "@") { + # Nothing + } elsif ($ordinal =~ /^\d+$/) { $ordinal = int($ordinal); + } elsif ($ordinal eq "init") { + $ordinal = 0; + } else { + $output->write("documentation: $external_name (\U$module\E.$ordinal) wrong\n"); + next; } my $found = 0; @@ -156,7 +163,8 @@ sub check_documentation { } - if(!$found) { + + if (!$found && $external_name ne "DllMain" && $ordinal !~ /^0$/) { $output->write("documentation: $external_name (\U$module\E.$ordinal) wrong\n"); } } diff --git a/tools/winapi_check/winapi_local.pm b/tools/winapi_check/winapi_local.pm index 6dd186ab40..336f573c0c 100644 --- a/tools/winapi_check/winapi_local.pm +++ b/tools/winapi_check/winapi_local.pm @@ -147,7 +147,7 @@ sub _check_function { } } - my $declared_calling_convention = $winapi->function_internal_calling_convention($internal_name); + my $declared_calling_convention = $winapi->function_internal_calling_convention($internal_name) || ""; my @declared_argument_kinds = split(/\s+/, $winapi->function_internal_arguments($internal_name)); my $declared_register = 0; @@ -171,16 +171,22 @@ sub _check_function { } if($declared_calling_convention eq "varargs") { - if($#argument_types != -1 && $argument_types[$#argument_types] eq "...") { + if ($#argument_types != -1 && + (($winapi->name eq "win32" && $argument_types[$#argument_types] eq "...") || + ($winapi->name eq "win16" && $argument_types[$#argument_types] eq "VA_LIST16"))) + { pop @argument_types; } else { - $output->write("function not implemented as vararg\n"); + $output->write("function not implemented as varargs\n"); } - } elsif($#argument_types != -1 && $argument_types[$#argument_types] eq "...") { - if($#argument_types == 0 || $winapi->name eq "win16") { + } elsif ($#argument_types != -1 && + (($winapi->name eq "win32" && $argument_types[$#argument_types] eq "...") || + ($winapi->name eq "win16" && $argument_types[$#argument_types] eq "VA_LIST16"))) + { + if($#argument_types == 0) { pop @argument_types; } else { - $output->write("function not declared as vararg\n"); + $output->write("function not declared as varargs\n"); } } diff --git a/tools/winapi_check/winapi_parser.pm b/tools/winapi_check/winapi_parser.pm index 202d816f5e..d280a001a1 100644 --- a/tools/winapi_check/winapi_parser.pm +++ b/tools/winapi_check/winapi_parser.pm @@ -499,20 +499,29 @@ sub parse_c_file { my @arguments32 = ("HWAVEOUT", $4); &$function_begin($documentation_line, $documentation, $function_line, "", "UINT16", "WINAPI", "waveOut" . $2 . "16", \@arguments16); - &$function_end($., ""); + &$function_end($function_line, ""); &$function_begin($documentation_line, $documentation, $function_line, "", "UINT", "WINAPI", "waveOut" . $2, \@arguments32); - &$function_end($., ""); + &$function_end($function_line, ""); } elsif($1 eq 2) { my @arguments16 = ("UINT16", $4); my @arguments32 = ("UINT", $4); &$function_begin($documentation_line, $documentation, $function_line, "", "UINT16", "WINAPI", "waveOut". $2 . "16", \@arguments16); - &$function_end($., ""); + &$function_end($function_line, ""); &$function_begin($documentation_line, $documentation, $function_line, "", "UINT", "WINAPI", "waveOut" . $2, \@arguments32); - &$function_end($., ""); + &$function_end($function_line, ""); } + } elsif(/DEFINE_THISCALL_WRAPPER\((\S*)\)/s) { + my @lines = split(/\n/, $&); + my $function_line = $. - scalar(@lines) + 1; + + $_ = $'; $again = 1; + + &$function_begin($documentation_line, $documentation, + $function_line, "", "void", "", "__thiscall_" . $1, \()); + &$function_end($function_line, ""); } elsif(/DEFINE_REGS_ENTRYPOINT_\d+\(\s*(\S*)\s*,\s*([^\s,\)]*).*?\)/s) { $_ = $'; $again = 1; $regs_entrypoints{$2} = $1;