Commit ae9cf771 authored by Patrik Stridvall's avatar Patrik Stridvall Committed by Alexandre Julliard

- API files update.

- Minor bug fixes.
parent d134aa59
...@@ -945,6 +945,7 @@ void ...@@ -945,6 +945,7 @@ void
%word %word
DI_FUNCTION16
HINF16 HINF16
HINSTANCE16 HINSTANCE16
HKEY16 HKEY16
......
...@@ -97,6 +97,7 @@ PVALENTA ...@@ -97,6 +97,7 @@ PVALENTA
PVALENTW PVALENTW
SECURITY_ATTRIBUTES * SECURITY_ATTRIBUTES *
SECURITY_DESCRIPTOR * SECURITY_DESCRIPTOR *
WCHAR *
%str %str
...@@ -112,6 +113,19 @@ VOID ...@@ -112,6 +113,19 @@ VOID
LPCWSTR LPCWSTR
LPWSTR LPWSTR
%%amstream.dll
%long
DWORD
HRESULT
%ptr
LPVOID *
REFCLSID
REFIID
%%avicap32.dll %%avicap32.dll
%long %long
...@@ -245,6 +259,23 @@ PVOID ...@@ -245,6 +259,23 @@ PVOID
PVOID * PVOID *
char * char *
%%cards.dll
%long
BOOL
DWORD
HDC
int
%ptr
int *
%void
void
%%cfgmgr32.dll %%cfgmgr32.dll
%long %long
...@@ -368,7 +399,7 @@ BOOL ...@@ -368,7 +399,7 @@ BOOL
DWORD DWORD
HRESULT HRESULT
HWND HWND
UINT WORD
short short
%ptr %ptr
...@@ -424,6 +455,7 @@ BOOL ...@@ -424,6 +455,7 @@ BOOL
DWORD DWORD
HANDLE HANDLE
HCERTSTORE HCERTSTORE
HCRYPTPROV
%ptr %ptr
...@@ -442,7 +474,6 @@ void * ...@@ -442,7 +474,6 @@ void *
%str %str
LPCSTR LPCSTR
LPSTR
%wstr %wstr
...@@ -498,6 +529,54 @@ UINT ...@@ -498,6 +529,54 @@ UINT
IDirect3D9 * IDirect3D9 *
%%dbghelp.dll
%long
BOOL
DWORD
HANDLE
HMODULE
IMAGEHLP_SYMBOL_TYPE_INFO
ULONG
unsigned long
%ptr
DWORD *
LPAPI_VERSION
LPSTACKFRAME
LPVOID
PDWORD
PENUMLOADED_MODULES_CALLBACK
PFIND_DEBUG_FILE_CALLBACK
PFUNCTION_TABLE_ACCESS_ROUTINE
PGET_MODULE_BASE_ROUTINE
PIMAGE_DEBUG_INFORMATION
PIMAGEHLP_CONTEXT
PIMAGEHLP_LINE
PIMAGEHLP_MODULE
PIMAGEHLP_SYMBOL
PIMAGEHLP_STACK_FRAME
PREAD_PROCESS_MEMORY_ROUTINE
PSYM_ENUMERATESYMBOLS_CALLBACK
PSYM_ENUMMODULES_CALLBACK
PSYM_ENUMSOURCFILES_CALLBACK
PSYM_ENUMSYMBOLS_CALLBACK
PSYMBOL_REGISTERED_CALLBACK
PSYMBOL_INFO
PTRANSLATE_ADDRESS_ROUTINE
PVOID
char *
void *
%str
LPCSTR
LPSTR
PCSTR
PSTR
%%dciman32.dll %%dciman32.dll
%long %long
...@@ -722,6 +801,21 @@ LPVOID * ...@@ -722,6 +801,21 @@ LPVOID *
REFCLSID REFCLSID
REFIID REFIID
%%dpnet.dll
%long
BOOL
HRESULT
%ptr
LPUNKNOWN
LPVOID *
REFCLSID
REFGUID
REFIID
%%dpnhpast.dll %%dpnhpast.dll
%long %long
...@@ -740,13 +834,19 @@ REFIID ...@@ -740,13 +834,19 @@ REFIID
DWORD DWORD
HRESULT HRESULT
HWND
%ptr %ptr
IUnknown * IUnknown *
LPCDSBUFFERDESC
LPCDSCBUFFERDESC
LPCGUID LPCGUID
LPDIRECTSOUND8 * LPDIRECTSOUND8 *
LPDIRECTSOUNDBUFFER8 *
LPDIRECTSOUNDCAPTURE * LPDIRECTSOUNDCAPTURE *
LPDIRECTSOUNDCAPTUREBUFFER8 *
LPDIRECTSOUNDFULLDUPLEX *
LPDSENUMCALLBACKA LPDSENUMCALLBACKA
LPDSENUMCALLBACKW LPDSENUMCALLBACKW
LPGUID LPGUID
...@@ -768,6 +868,13 @@ REFCLSID ...@@ -768,6 +868,13 @@ REFCLSID
REFIID REFIID
LPVOID * LPVOID *
%%dxdiagn.dll
%ptr
REFCLSID
REFIID
%%gdi32.dll %%gdi32.dll
%long %long
...@@ -813,6 +920,7 @@ ABORTPROC ...@@ -813,6 +920,7 @@ ABORTPROC
BITMAP * BITMAP *
BITMAPINFO * BITMAPINFO *
BITMAPINFOHEADER * BITMAPINFOHEADER *
BLENDFUNCTION
BYTE * BYTE *
COLORADJUSTMENT * COLORADJUSTMENT *
DCHOOKPROC DCHOOKPROC
...@@ -866,7 +974,6 @@ LPRECT ...@@ -866,7 +974,6 @@ LPRECT
LPRGNDATA LPRGNDATA
LPSIZE LPSIZE
LPVOID LPVOID
LPVOID *
LPWORD LPWORD
LPXFORM LPXFORM
MAT2 * MAT2 *
...@@ -888,6 +995,7 @@ TEXTMETRICW * ...@@ -888,6 +995,7 @@ TEXTMETRICW *
TRIVERTEX * TRIVERTEX *
WORD * WORD *
XFORM * XFORM *
VOID **
void * void *
%ptr --extension %ptr --extension
...@@ -944,6 +1052,7 @@ unsigned int ...@@ -944,6 +1052,7 @@ unsigned int
%ptr %ptr
void (*)(int)
void * void *
void ** void **
...@@ -951,6 +1060,22 @@ void ** ...@@ -951,6 +1060,22 @@ void **
void void
%%hhctrl.ocx
%long
DWORD
HWND
UINT
%str
LPCSTR
%wstr
LPCWSTR
%%iccvid.dll %%iccvid.dll
%long %long
...@@ -1006,7 +1131,6 @@ UINT ...@@ -1006,7 +1131,6 @@ UINT
BOOL BOOL
DWORD DWORD
HANDLE HANDLE
HMODULE
ULONG ULONG
WORD WORD
...@@ -1014,36 +1138,21 @@ WORD ...@@ -1014,36 +1138,21 @@ WORD
DIGEST_FUNCTION DIGEST_FUNCTION
DIGEST_HANDLE DIGEST_HANDLE
LPAPI_VERSION
LPDWORD LPDWORD
LPSTACKFRAME
LPSYSTEMTIME LPSYSTEMTIME
LPVOID LPVOID
PCHAR PCHAR
PCHAR * PCHAR *
PDWORD PDWORD
PENUMLOADED_MODULES_CALLBACK
PFUNCTION_TABLE_ACCESS_ROUTINE
PGET_MODULE_BASE_ROUTINE
PIMAGEHLP_MODULE
PIMAGEHLP_STATUS_ROUTINE PIMAGEHLP_STATUS_ROUTINE
PIMAGEHLP_SYMBOL
PIMAGE_DEBUG_INFORMATION
PIMAGE_LOAD_CONFIG_DIRECTORY PIMAGE_LOAD_CONFIG_DIRECTORY
PIMAGE_NT_HEADERS PIMAGE_NT_HEADERS
PLOADED_IMAGE PLOADED_IMAGE
PREAD_PROCESS_MEMORY_ROUTINE
PSYMBOL_REGISTERED_CALLBACK
PSYM_ENUMMODULES_CALLBACK
PSYM_ENUMSYMBOLS_CALLBACK
PTRANSLATE_ADDRESS_ROUTINE
PVOID
PWIN_CERTIFICATE PWIN_CERTIFICATE
ULONG * ULONG *
%str %str
LPCSTR
LPSTR LPSTR
%void %void
...@@ -1177,6 +1286,7 @@ HINSTANCE ...@@ -1177,6 +1286,7 @@ HINSTANCE
HLOCAL HLOCAL
HMODULE HMODULE
HRSRC HRSRC
HWND
INT INT
LANGID LANGID
LATENCY_TIME LATENCY_TIME
...@@ -1276,7 +1386,6 @@ LPDWORD ...@@ -1276,7 +1386,6 @@ LPDWORD
LPFIBER_START_ROUTINE LPFIBER_START_ROUTINE
LPFILETIME LPFILETIME
LPHEAPLIST32 LPHEAPLIST32
LPINPUT_RECORD
LPLDT_ENTRY LPLDT_ENTRY
LPMEMORYSTATUS LPMEMORYSTATUS
LPMEMORYSTATUSEX LPMEMORYSTATUSEX
...@@ -1320,6 +1429,7 @@ PDWORD ...@@ -1320,6 +1429,7 @@ PDWORD
PEXCEPTION_POINTERS PEXCEPTION_POINTERS
PHANDLE PHANDLE
PHANDLER_ROUTINE PHANDLER_ROUTINE
PINPUT_RECORD
PIO_COUNTERS PIO_COUNTERS
PLARGE_INTEGER PLARGE_INTEGER
PLONG PLONG
...@@ -1340,6 +1450,7 @@ WAITORTIMERCALLBACK ...@@ -1340,6 +1450,7 @@ WAITORTIMERCALLBACK
WIN32_FIND_DATAA * WIN32_FIND_DATAA *
WIN32_FIND_DATAW * WIN32_FIND_DATAW *
WORD * WORD *
char *
struct ThunkDataCommon * struct ThunkDataCommon *
va_list va_list
va_list * va_list *
...@@ -1396,16 +1507,52 @@ LPWSTR ...@@ -1396,16 +1507,52 @@ LPWSTR
%long %long
BOOL
CMC_enum
CMC_return_code
CMC_session_id
DWORD
FLAGS FLAGS
HRESULT HRESULT
INT
LONG
SCODE
ULONG ULONG
int
%long --ptr
ULONG_PTR
%longlong
FILETIME
LONGLONG
%ptr %ptr
ALLOCATEMORE *
CMC_buffer
CMC_extension *
LPALLOCATEBUFFER
LPFREEBUFFER
LPLHANDLE LPLHANDLE
LPMAPIADVISESINK
LPMAPIADVISESINK *
LPMAPISESSION *
LPSPropTagArray
LPSPropValue
LPSRowSet
LPSRow
LPSTR *
LPSTREAM *
LPVOID LPVOID
LPVOID * LPVOID *
VOID * LPWSTR *
PULONG
PUSHORT
ULONG *
void *
%str %str
...@@ -1415,6 +1562,11 @@ LPSTR ...@@ -1415,6 +1562,11 @@ LPSTR
VOID VOID
%wstr
LPCWSTR
LPWSTR
%%mcianim.drv %%mcianim.drv
%long %long
...@@ -1671,13 +1823,17 @@ LPCSTR ...@@ -1671,13 +1823,17 @@ LPCSTR
BOOL BOOL
DWORD DWORD
HINSTANCE
HRESULT HRESULT
HWND
INSTALLSTATE INSTALLSTATE
INSTALLUILEVEL INSTALLUILEVEL
LANGID LANGID
MSICOLINFO MSICOLINFO
MSICONDITION
MSIHANDLE MSIHANDLE
UINT UINT
WORD
int int
unsigned int unsigned int
...@@ -1690,8 +1846,11 @@ FILETIME * ...@@ -1690,8 +1846,11 @@ FILETIME *
HWND * HWND *
INSTALLSTATE * INSTALLSTATE *
INT * INT *
LPVOID *
MSIHANDLE * MSIHANDLE *
PCCERT_CONTEXT * PCCERT_CONTEXT *
REFCLSID
REFIID
UINT * UINT *
char * char *
...@@ -1707,16 +1866,6 @@ LPWSTR ...@@ -1707,16 +1866,6 @@ LPWSTR
%%msimg32.dll %%msimg32.dll
%long
BOOL
HDC
int
%ptr
BLENDFUNCTION
%void %void
void void
...@@ -1766,12 +1915,12 @@ INT ...@@ -1766,12 +1915,12 @@ INT
LCID LCID
LONG LONG
MSVCRT_clock_t MSVCRT_clock_t
MSVCRT_complex
MSVCRT_size_t MSVCRT_size_t
MSVCRT_time_t MSVCRT_time_t
MSVCRT_wchar_t MSVCRT_wchar_t
int int
long long
short
unsigned int unsigned int
unsigned long unsigned long
unsigned short int unsigned short int
...@@ -1783,9 +1932,10 @@ unsigned __int64 ...@@ -1783,9 +1932,10 @@ unsigned __int64
%ptr %ptr
MSVCRT__onexit_t
MSVCRT__onexit_t **
MSVCRT_EXCEPTION_FRAME * MSVCRT_EXCEPTION_FRAME *
MSVCRT_FILE * MSVCRT_FILE *
MSVCRT_exception *
MSVCRT_fpos_t * MSVCRT_fpos_t *
MSVCRT_free_func MSVCRT_free_func
MSVCRT_malloc_func MSVCRT_malloc_func
...@@ -1807,25 +1957,25 @@ WORD ** ...@@ -1807,25 +1957,25 @@ WORD **
_HEAPINFO * _HEAPINFO *
_INITTERMFUN * _INITTERMFUN *
_JUMP_BUFFER * _JUMP_BUFFER *
_onexit_t
_onexit_t **
_se_translator_function _se_translator_function
char * char *
char ** char **
char *** char ***
cxx_exception_type * cxx_exception_type *
int (*)(void *, void *)
int * int *
struct MSVCRT__exception *
struct MSVCRT__diskfree_t *
struct MSVCRT__finddata_t *
struct MSVCRT__finddatai64_t *
struct MSVCRT__stat *
struct MSVCRT__stati64 *
struct MSVCRT__wfinddata_t *
struct MSVCRT__wfinddatai64_t *
struct MSVCRT_lconv * struct MSVCRT_lconv *
struct MSVCRT_tm * struct MSVCRT_tm *
struct _diskfree_t *
struct _finddata_t *
struct _finddatai64_t *
struct _stat *
struct _stati64 *
struct _timeb * struct _timeb *
struct _utimbuf * struct _utimbuf *
struct _wfinddata_t *
struct _wfinddatai64_t *
terminate_function terminate_function
type_info * type_info *
unexpected_function unexpected_function
...@@ -1833,6 +1983,7 @@ unsigned char * ...@@ -1833,6 +1983,7 @@ unsigned char *
unsigned int * unsigned int *
unsigned long * unsigned long *
va_list va_list
void (*)(void)
void * void *
%ptr --extension %ptr --extension
...@@ -1844,6 +1995,7 @@ _beginthreadex_start_routine_t ...@@ -1844,6 +1995,7 @@ _beginthreadex_start_routine_t
MSVCRT_div_t MSVCRT_div_t
MSVCRT_ldiv_t MSVCRT_ldiv_t
struct MSVCRT__complex
%void %void
...@@ -1855,9 +2007,11 @@ void ...@@ -1855,9 +2007,11 @@ void
%long %long
int int
unsigned long
%ptr %ptr
char *
int * int *
void * void *
...@@ -1869,8 +2023,8 @@ int ...@@ -1869,8 +2023,8 @@ int
%ptr %ptr
WCHAR ** WCHAR ***
char ** char ***
int * int *
%void %void
...@@ -2040,6 +2194,7 @@ SYSTEM_INFORMATION_CLASS ...@@ -2040,6 +2194,7 @@ SYSTEM_INFORMATION_CLASS
THREADINFOCLASS THREADINFOCLASS
TIMER_TYPE TIMER_TYPE
TOKEN_TYPE TOKEN_TYPE
UCHAR
UINT UINT
ULONG ULONG
WCHAR WCHAR
...@@ -2076,6 +2231,8 @@ DWORD * ...@@ -2076,6 +2231,8 @@ DWORD *
EXCEPTION_RECORD * EXCEPTION_RECORD *
EXCEPTION_REGISTRATION_RECORD * EXCEPTION_REGISTRATION_RECORD *
EXCEPTION_REGISTRATION_RECORD ** EXCEPTION_REGISTRATION_RECORD **
FILE_NETWORK_OPEN_INFORMATION *
FILE_BASIC_INFORMATION *
GENERIC_MAPPING * GENERIC_MAPPING *
GUID * GUID *
HANDLE * HANDLE *
...@@ -2118,6 +2275,7 @@ PCANSI_STRING ...@@ -2118,6 +2275,7 @@ PCANSI_STRING
PCHAR PCHAR
PCRTL_BITMAP PCRTL_BITMAP
PCSZ PCSZ
PDEBUG_BUFFER
PDWORD PDWORD
PEXCEPTION_RECORD PEXCEPTION_RECORD
PGENERIC_MAPPING PGENERIC_MAPPING
...@@ -2176,6 +2334,7 @@ UNICODE_STRING * ...@@ -2176,6 +2334,7 @@ UNICODE_STRING *
VOID * VOID *
WCHAR ** WCHAR **
union cptable * union cptable *
va_list *
void * void *
void ** void **
wine_signal_handler wine_signal_handler
...@@ -2330,7 +2489,9 @@ REFIID ...@@ -2330,7 +2489,9 @@ REFIID
SNB SNB
SOLE_AUTHENTICATION_SERVICE * SOLE_AUTHENTICATION_SERVICE *
STGMEDIUM * STGMEDIUM *
STGOPTIONS *
ULONG * ULONG *
WCHAR *
WORD * WORD *
void * void *
void ** void **
...@@ -2349,12 +2510,15 @@ void ...@@ -2349,12 +2510,15 @@ void
%long %long
DWORD
HRESULT HRESULT
HWND HWND
LONG LONG
WPARAM
%ptr %ptr
LPUNKNOWN
REFIID REFIID
void ** void **
...@@ -2437,6 +2601,7 @@ LONG64 * ...@@ -2437,6 +2601,7 @@ LONG64 *
LPBSTR LPBSTR
LPBYTE LPBYTE
LPCLSID LPCLSID
LPCUSTDATA
LPDWORD LPDWORD
LPFONTDESC LPFONTDESC
LPOCPFIPARAMS LPOCPFIPARAMS
...@@ -2782,7 +2947,6 @@ CStdPSFactoryBuffer * ...@@ -2782,7 +2947,6 @@ CStdPSFactoryBuffer *
LPPSFACTORYBUFFER LPPSFACTORYBUFFER
LPRPCCHANNELBUFFER LPRPCCHANNELBUFFER
LPRPCSTUBBUFFER LPRPCSTUBBUFFER
LPSTR *
LPUNKNOWN LPUNKNOWN
LPVOID LPVOID
LPVOID * LPVOID *
...@@ -2791,32 +2955,28 @@ MIDL_STUB_MESSAGE * ...@@ -2791,32 +2955,28 @@ MIDL_STUB_MESSAGE *
PFORMAT_STRING PFORMAT_STRING
PMIDL_STUB_DESC PMIDL_STUB_DESC
PMIDL_STUB_MESSAGE PMIDL_STUB_MESSAGE
PRPC_BINDING_VECTOR
PRPC_MESSAGE PRPC_MESSAGE
PRPC_POLICY PRPC_POLICY
PRPCOLEMESSAGE PRPCOLEMESSAGE
PUUID_VECTOR
ProxyFileInfo ** ProxyFileInfo **
REFCLSID REFCLSID
REFIID REFIID
RPC_AUTH_KEY_RETRIEVAL_FN RPC_AUTH_KEY_RETRIEVAL_FN
RPC_BINDING_HANDLE * RPC_BINDING_HANDLE *
RPC_BINDING_VECTOR *
RPC_BINDING_VECTOR ** RPC_BINDING_VECTOR **
RPC_BLOCKING_FN RPC_BLOCKING_FN
RPC_IF_CALLBACK_FN * RPC_IF_CALLBACK_FN *
RPC_MGR_EPV * RPC_MGR_EPV *
RPC_STATUS * RPC_STATUS *
UUID * UUID *
UUID_VECTOR *
unsigned char * unsigned char *
unsigned char ** unsigned char **
unsigned short * unsigned short *
unsigned short ** unsigned short **
void * void *
%str
LPSTR
%wstr %wstr
LPWSTR LPWSTR
...@@ -2854,6 +3014,36 @@ PVTableProvStruc ...@@ -2854,6 +3014,36 @@ PVTableProvStruc
LPCWSTR LPCWSTR
%%secur32.dll
%long
SECURITY_STATUS
ULONG
unsigned long
%ptr
HANDLE *
PCredHandle
PCtxtHandle
PLUID
PSecBuffer
PSecBufferDesc
PSecPkgInfoA *
PSecPkgInfoW *
PSecurityFunctionTableA
PSecurityFunctionTableW
PTimeStamp
PULONG
PVOID
SEC_CHAR *
SEC_GET_KEY_FN
SEC_WCHAR *
unsigned long *
void *
void **
%%serialui.dll %%serialui.dll
%long %long
...@@ -2880,7 +3070,9 @@ LPCSTR ...@@ -2880,7 +3070,9 @@ LPCSTR
BOOL BOOL
DWORD DWORD
HANDLE
HDEVINFO HDEVINFO
HDSKSPC
HINF HINF
HINSTANCE HINSTANCE
HKEY HKEY
...@@ -2900,6 +3092,7 @@ UINT_PTR ...@@ -2900,6 +3092,7 @@ UINT_PTR
BYTE * BYTE *
GUID * GUID *
INFCONTEXT * INFCONTEXT *
LONGLONG *
LPDWORD LPDWORD
LPCVOID LPCVOID
LPGUID LPGUID
...@@ -2918,7 +3111,6 @@ PSP_FILE_CALLBACK_W ...@@ -2918,7 +3111,6 @@ PSP_FILE_CALLBACK_W
PSP_FILE_COPY_PARAMS_A PSP_FILE_COPY_PARAMS_A
PSP_FILE_COPY_PARAMS_W PSP_FILE_COPY_PARAMS_W
PSP_INF_INFORMATION PSP_INF_INFORMATION
PSTR
PSTR * PSTR *
PUINT PUINT
PVOID PVOID
...@@ -2928,7 +3120,9 @@ void * ...@@ -2928,7 +3120,9 @@ void *
%str %str
LPCSTR LPCSTR
LPSTR
PCSTR PCSTR
PSTR
%void %void
...@@ -2937,6 +3131,7 @@ void ...@@ -2937,6 +3131,7 @@ void
%wstr %wstr
LPCWSTR LPCWSTR
LPWSTR
PCWSTR PCWSTR
PWSTR PWSTR
...@@ -3118,6 +3313,10 @@ WPARAM ...@@ -3118,6 +3313,10 @@ WPARAM
char char
int int
%long --ptr
INT_PTR
%longlong %longlong
LONGLONG LONGLONG
...@@ -3127,6 +3326,7 @@ LONGLONG ...@@ -3127,6 +3326,7 @@ LONGLONG
BOOL * BOOL *
BSTR * BSTR *
CLSID * CLSID *
DLGPROC
DLLVERSIONINFO * DLLVERSIONINFO *
DWORD * DWORD *
HICON * HICON *
...@@ -3170,6 +3370,7 @@ LPSHLWAPI_CLIST * ...@@ -3170,6 +3370,7 @@ LPSHLWAPI_CLIST *
LPSTR * LPSTR *
LPSTRRET LPSTRRET
LPTHREAD_START_ROUTINE LPTHREAD_START_ROUTINE
LPUNKNOWN
LPVOID LPVOID
LPVOID * LPVOID *
LPWORD LPWORD
...@@ -3182,6 +3383,7 @@ PLONG ...@@ -3182,6 +3383,7 @@ PLONG
PSECURITY_DESCRIPTOR PSECURITY_DESCRIPTOR
PVOID PVOID
RECT * RECT *
REFCLSID
REFGUID REFGUID
REFIID REFIID
SHFILEINFOW * SHFILEINFOW *
...@@ -3191,6 +3393,7 @@ ULARGE_INTEGER * ...@@ -3191,6 +3393,7 @@ ULARGE_INTEGER *
VARIANT * VARIANT *
VOID * VOID *
WNDCLASSA * WNDCLASSA *
int *
unsigned char * unsigned char *
va_list va_list
void ** void **
...@@ -3296,6 +3499,7 @@ LPSTR ...@@ -3296,6 +3499,7 @@ LPSTR
BOOL BOOL
COLORREF COLORREF
DWORD DWORD
HANDLE
HBITMAP HBITMAP
HDC HDC
HFONT HFONT
...@@ -3313,7 +3517,6 @@ int ...@@ -3313,7 +3517,6 @@ int
BITMAPINFO * BITMAPINFO *
CREATESTRUCTA * CREATESTRUCTA *
DC *
DEVMODEW * DEVMODEW *
DWORD * DWORD *
INT * INT *
...@@ -3376,6 +3579,7 @@ IBindCtx ** ...@@ -3376,6 +3579,7 @@ IBindCtx **
IBindStatusCallback * IBindStatusCallback *
IBindStatusCallback ** IBindStatusCallback **
IEnumFORMATETC * IEnumFORMATETC *
IInternetSession **
IMoniker * IMoniker *
IMoniker ** IMoniker **
LPBC LPBC
...@@ -3386,7 +3590,6 @@ LPVOID ...@@ -3386,7 +3590,6 @@ LPVOID
LPVOID * LPVOID *
REFCLSID REFCLSID
REFIID REFIID
void **
%str %str
...@@ -3399,6 +3602,7 @@ void ...@@ -3399,6 +3602,7 @@ void
%wstr %wstr
LPCWSTR LPCWSTR
LPWSTR
%%user32.dll %%user32.dll
...@@ -3476,6 +3680,8 @@ POINT ...@@ -3476,6 +3680,8 @@ POINT
BOOL * BOOL *
COLORREF * COLORREF *
DLGPROC DLGPROC
DESKTOPENUMPROCA
DESKTOPENUMPROCW
DRAWSTATEPROC DRAWSTATEPROC
DWORD * DWORD *
GRAYSTRINGPROC GRAYSTRINGPROC
...@@ -3535,6 +3741,7 @@ PROPENUMPROCW ...@@ -3535,6 +3741,7 @@ PROPENUMPROCW
PSECURITY_DESCRIPTOR PSECURITY_DESCRIPTOR
PSECURITY_INFORMATION PSECURITY_INFORMATION
PSECURITY_QUALITY_OF_SERVICE PSECURITY_QUALITY_OF_SERVICE
PTITLEBARINFO
PUINT_PTR PUINT_PTR
PVOID PVOID
PWINDOWINFO PWINDOWINFO
...@@ -3547,6 +3754,8 @@ TRACKMOUSEEVENT * ...@@ -3547,6 +3754,8 @@ TRACKMOUSEEVENT *
UINT * UINT *
WINDOWPLACEMENT * WINDOWPLACEMENT *
WINEVENTPROC WINEVENTPROC
WINSTAENUMPROCA
WINSTAENUMPROCW
WNDCLASSA * WNDCLASSA *
WNDCLASSEXA * WNDCLASSEXA *
WNDCLASSEXW * WNDCLASSEXW *
...@@ -3674,7 +3883,7 @@ LPWSTR ...@@ -3674,7 +3883,7 @@ LPWSTR
DWORD DWORD
%%vnb.vxd %%vnbt.vxd
%long %long
...@@ -3839,6 +4048,7 @@ WORD ...@@ -3839,6 +4048,7 @@ WORD
BOOL BOOL
COLORREF COLORREF
DWORD DWORD
HANDLE
HBITMAP HBITMAP
HBRUSH HBRUSH
HDC HDC
...@@ -3854,7 +4064,6 @@ WORD ...@@ -3854,7 +4064,6 @@ WORD
%ptr %ptr
BITMAPINFO * BITMAPINFO *
DC *
DEVMODEW * DEVMODEW *
DOCINFOA * DOCINFOA *
DWORD * DWORD *
...@@ -3890,7 +4099,6 @@ LPCWSTR ...@@ -3890,7 +4099,6 @@ LPCWSTR
%double %double
FILETIME
GROUPID GROUPID
%long %long
...@@ -3904,6 +4112,10 @@ HWND ...@@ -3904,6 +4112,10 @@ HWND
INTERNET_PORT INTERNET_PORT
LONG LONG
%longlong
FILETIME
%ptr %ptr
GOPHER_ATTRIBUTE_ENUMERATORA GOPHER_ATTRIBUTE_ENUMERATORA
...@@ -4039,6 +4251,13 @@ LPSTR ...@@ -4039,6 +4251,13 @@ LPSTR
LPCWSTR LPCWSTR
LPWSTR LPWSTR
%%winnls32.dll
%long
BOOL
HWND
%%winspool.drv %%winspool.drv
%long %long
...@@ -4161,6 +4380,7 @@ INT * ...@@ -4161,6 +4380,7 @@ INT *
LPCONDITIONPROC LPCONDITIONPROC
LPDWORD LPDWORD
LPGUID LPGUID
LPHANDLE
LPINT LPINT
LPQOS LPQOS
LPSOCKADDR LPSOCKADDR
...@@ -4175,6 +4395,8 @@ LPWSAPROTOCOL_INFOA ...@@ -4175,6 +4395,8 @@ LPWSAPROTOCOL_INFOA
LPWSAPROTOCOL_INFOW LPWSAPROTOCOL_INFOW
LPWSASERVICECLASSINFOA LPWSASERVICECLASSINFOA
LPWSASERVICECLASSINFOW LPWSASERVICECLASSINFOW
LPWSAQUERYSETA
LPWSAQUERYSETW
WS_fd_set * WS_fd_set *
char * char *
int * int *
...@@ -4272,7 +4494,6 @@ BITMAPINFO * ...@@ -4272,7 +4494,6 @@ BITMAPINFO *
BYTE * BYTE *
CREATESTRUCTA * CREATESTRUCTA *
CURSORICONINFO * CURSORICONINFO *
DC *
DEVMODEW * DEVMODEW *
DWORD * DWORD *
FONTENUMPROCW FONTENUMPROCW
...@@ -4290,7 +4511,6 @@ LPPOINT ...@@ -4290,7 +4511,6 @@ LPPOINT
LPRECT LPRECT
LPSIZE LPSIZE
LPVOID LPVOID
LPVOID *
LPWTPACKET * LPWTPACKET *
PIXELFORMATDESCRIPTOR * PIXELFORMATDESCRIPTOR *
POINT * POINT *
...@@ -4300,6 +4520,7 @@ TEXTMETRICW * ...@@ -4300,6 +4520,7 @@ TEXTMETRICW *
WINDOWPOS * WINDOWPOS *
X11DRV_PDEVICE * X11DRV_PDEVICE *
X11DRV_PDEVICE ** X11DRV_PDEVICE **
VOID **
void * void *
%str %str
......
...@@ -223,7 +223,7 @@ sub _check_function { ...@@ -223,7 +223,7 @@ sub _check_function {
if(defined($kind) && $kind eq "struct16") { if(defined($kind) && $kind eq "struct16") {
$n+=4; $n+=4;
("long", "long", "long", "long"); ("long", "long", "long", "long");
} elsif(defined($kind) && $kind eq "longlong") { } elsif(defined($kind) && $kind =~ /^(?:longlong)$/) {
$n+=2; $n+=2;
("long", "long"); ("long", "long");
} else { } else {
......
...@@ -359,7 +359,7 @@ sub parse_c_file { ...@@ -359,7 +359,7 @@ sub parse_c_file {
next; next;
} elsif(/(extern\s+|static\s+)?((struct\s+|union\s+|enum\s+|signed\s+|unsigned\s+)?\w+((\s*\*)+\s*|\s+)) } elsif(/(extern\s+|static\s+)?((struct\s+|union\s+|enum\s+|signed\s+|unsigned\s+)?\w+((\s*\*)+\s*|\s+))
((__cdecl|__stdcall|CDECL|VFWAPIV|VFWAPI|WINAPIV|WINAPI|CALLBACK)\s+)? ((__cdecl|__stdcall|CDECL|VFWAPIV|VFWAPI|WINAPIV|WINAPI|CALLBACK)\s+)?
(\w+(\(\w+\))?)\s*\(([^\)]*)\)\s*(\{|\;)/sx) (\w+(\(\w+\))?)\s*\((.*?)\)\s*(\{|\;)/sx)
{ {
my @lines = split(/\n/, $&); my @lines = split(/\n/, $&);
my $function_line = $. - scalar(@lines) + 1; my $function_line = $. - scalar(@lines) + 1;
...@@ -400,11 +400,15 @@ sub parse_c_file { ...@@ -400,11 +400,15 @@ sub parse_c_file {
my @argument_types; my @argument_types;
my @argument_names; my @argument_names;
my @arguments = split(/,/, $arguments); my @arguments;
foreach my $n (0..$#arguments) { my $n = 0;
while ($arguments =~ s/^((?:[^,\(\)]*|(?:\([^\)]*\))?)+)(?:,|$)// && $1) {
my $argument = $1;
push @arguments, $argument;
my $argument_type = ""; my $argument_type = "";
my $argument_name = ""; my $argument_name = "";
my $argument = $arguments[$n];
$argument =~ s/^\s*(.*?)\s*$/$1/; $argument =~ s/^\s*(.*?)\s*$/$1/;
# print " " . ($n + 1) . ": '$argument'\n"; # print " " . ($n + 1) . ": '$argument'\n";
$argument =~ s/^(IN OUT(?=\s)|IN(?=\s)|OUT(?=\s)|\s*)\s*//; $argument =~ s/^(IN OUT(?=\s)|IN(?=\s)|OUT(?=\s)|\s*)\s*//;
...@@ -413,27 +417,74 @@ sub parse_c_file { ...@@ -413,27 +417,74 @@ sub parse_c_file {
$argument_type = "..."; $argument_type = "...";
$argument_name = "..."; $argument_name = "...";
} elsif($argument =~ /^ } elsif($argument =~ /^
((?:struct\s+|union\s+|enum\s+|(?:signed\s+|unsigned\s+) ((?:struct\s+|union\s+|enum\s+|register\s+|(?:signed\s+|unsigned\s+)
(?:short\s+(?=int)|long\s+(?=int))?)?\w+)\s* (?:short\s+(?=int)|long\s+(?=int))?)?\w+)\s*
((?:const)?\s*(?:\*\s*?)*)\s* ((?:__RPC_FAR|const|CONST)?\s*(?:\*\s*(?:__RPC_FAR|const|CONST)?\s*?)*)\s*
(?:WINE_UNUSED\s+)?(\w*)\s*(?:\[\]|\s+OPTIONAL)?/x) (?:WINE_UNUSED\s+)?(\w*)\s*(?:\[\]|\s+OPTIONAL|\s+WINE_UNUSED)?$/x)
{ {
$argument_type = "$1"; $argument_type = $1;
if($2 ne "") { if ($2) {
$argument_type .= " $2"; $argument_type .= " $2";
} }
$argument_name = $3; $argument_name = $3;
} elsif ($argument =~ /^
((?:struct\s+|union\s+|enum\s+|register\s+|(?:signed\s+|unsigned\s+)
(?:short\s+(?=int)|long\s+(?=int))?)?\w+)\s*
((?:const)?\s*(?:\*\s*(?:const)?\s*?)*)\s*
(?:__cdecl\s+|__stdcall\s+|CALLBACK\s+|WINAPI\s+)?
\(\s*(?:__cdecl|__stdcall|CALLBACK|WINAPI)?\s*\*\s*((?:\w+)?)\s*\)\s*
\(\s*(.*?)\s*\)$/x)
{
my $return_type = $1;
if($2) {
$return_type .= " $2";
}
$argument_name = $3;
my $arguments = $4;
$return_type =~ s/\s+/ /g;
$arguments =~ s/\s*,\s*/,/g;
$argument_type = "$return_type (*)($arguments)";
} elsif ($argument =~ /^
((?:struct\s+|union\s+|enum\s+|register\s+|(?:signed\s+|unsigned\s+)
(?:short\s+(?=int)|long\s+(?=int))?)?\w+)\s*
((?:const)?\s*(?:\*\s*(?:const)?\s*?)*)\s*
(\w+)\s*\[\s*(.*?)\s*\](?:\[\s*(.*?)\s*\])?$/x)
{
my $return_type = $1;
if($2) {
$return_type .= " $2";
}
$argument_name = $3;
$argument_type =~ s/\s*const\s*/ /; $argument_type = "$return_type\[$4\]";
$argument_type =~ s/^\s*(.*?)\s*$/$1/;
if (defined($5)) {
$argument_type .= "\[$5\]";
}
$argument_name =~ s/^\s*(.*?)\s*$/$1/; # die "$file: $.: syntax error: '$argument_type':'$argument_name'\n";
} else { } else {
die "$file: $.: syntax error: '$argument'\n"; die "$file: $.: syntax error: '$argument'\n";
} }
$argument_type =~ s/\s*const\s*/ /g; # Remove const
$argument_type =~ s/([^\*\(\s])\*/$1 \*/g; # Assure whitespace between non-* and *
$argument_type =~ s/,([^\s])/, $1/g; # Assure whitespace after ,
$argument_type =~ s/\*\s+\*/\*\*/g; # Remove whitespace between * and *
$argument_type =~ s/([\(\[])\s+/$1/g; # Remove whitespace after ( and [
$argument_type =~ s/\s+([\)\]])/$1/g; # Remove whitespace before ] and )
$argument_type =~ s/\s+/ /; # Remove multiple whitespace
$argument_type =~ s/^\s*(.*?)\s*$/$1/; # Remove leading and trailing whitespace
$argument_name =~ s/^\s*(.*?)\s*$/$1/; # Remove leading and trailing whitespace
$argument_types[$n] = $argument_type; $argument_types[$n] = $argument_type;
$argument_names[$n] = $argument_name; $argument_names[$n] = $argument_name;
# print " " . ($n + 1) . ": '" . $argument_types[$n] . "', '" . $argument_names[$n] . "'\n"; # print " " . ($n + 1) . ": '" . $argument_types[$n] . "', '" . $argument_names[$n] . "'\n";
$n++;
} }
if($#argument_types == 0 && $argument_types[0] =~ /^void$/i) { if($#argument_types == 0 && $argument_types[0] =~ /^void$/i) {
$#argument_types = -1; $#argument_types = -1;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment