widl: Prevent NULL pointer de-refs on "void *" types.
[wine] / include / winbase.h
index 49ee532..fbbbbcd 100644 (file)
@@ -139,7 +139,7 @@ typedef struct _OFSTRUCT
     WORD nErrCode;
     WORD Reserved1;
     WORD Reserved2;
-    BYTE szPathName[OFS_MAXPATHNAME];
+    CHAR szPathName[OFS_MAXPATHNAME];
 } OFSTRUCT, *POFSTRUCT, *LPOFSTRUCT;
 
 #define OF_READ               0x0000
@@ -404,8 +404,9 @@ typedef struct _PROCESS_HEAP_ENTRY
 #define LMEM_ZEROINIT       0x0040
 #define LMEM_MODIFY         0x0080
 #define LMEM_DISCARDABLE    0x0F00
-#define LMEM_DISCARDED     0x4000
-#define LMEM_LOCKCOUNT     0x00FF
+#define LMEM_DISCARDED      0x4000
+#define LMEM_INVALID_HANDLE 0x8000
+#define LMEM_LOCKCOUNT      0x00FF
 
 #define LPTR (LMEM_FIXED | LMEM_ZEROINIT)
 #define LHND (LMEM_MOVEABLE | LMEM_ZEROINIT)
@@ -806,9 +807,6 @@ typedef DWORD (CALLBACK *LPPROGRESS_ROUTINE)(LARGE_INTEGER, LARGE_INTEGER, LARGE
 #define EXCEPTION_INVALID_HANDLE            STATUS_INVALID_HANDLE
 #define CONTROL_C_EXIT                      STATUS_CONTROL_C_EXIT
 
-#define DUPLICATE_CLOSE_SOURCE         0x00000001
-#define DUPLICATE_SAME_ACCESS          0x00000002
-
 #define HANDLE_FLAG_INHERIT             0x00000001
 #define HANDLE_FLAG_PROTECT_FROM_CLOSE  0x00000002
 
@@ -1094,6 +1092,11 @@ typedef struct tagCOMMTIMEOUTS {
        DWORD   WriteTotalTimeoutConstant;
 } COMMTIMEOUTS,*LPCOMMTIMEOUTS;
 
+#define GET_TAPE_MEDIA_INFORMATION 0
+#define GET_TAPE_DRIVE_INFORMATION 1
+#define SET_TAPE_MEDIA_INFORMATION 0
+#define SET_TAPE_DRIVE_INFORMATION 1
+
 typedef void (CALLBACK *PAPCFUNC)(ULONG_PTR);
 typedef void (CALLBACK *PTIMERAPCROUTINE)(LPVOID,DWORD,DWORD);
 
@@ -1174,6 +1177,7 @@ typedef struct _WIN32_STREAM_ID {
 #define SCS_PIF_BINARY      3
 #define SCS_POSIX_BINARY    4
 #define SCS_OS216_BINARY    5
+#define SCS_64BIT_BINARY    6
 
 /* flags for DefineDosDevice */
 #define DDD_RAW_TARGET_PATH         0x00000001
@@ -1188,6 +1192,9 @@ BOOL        WINAPI AddAccessAllowedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
 BOOL        WINAPI AddAccessDeniedAce(PACL,DWORD,DWORD,PSID);
 BOOL        WINAPI AddAccessDeniedAceEx(PACL,DWORD,DWORD,DWORD,PSID);
 BOOL        WINAPI AddAce(PACL,DWORD,DWORD,LPVOID,DWORD);
+ATOM        WINAPI AddAtomA(LPCSTR);
+ATOM        WINAPI AddAtomW(LPCWSTR);
+#define     AddAtom WINELIB_NAME_AW(AddAtom)
 BOOL        WINAPI AddAuditAccessAce(PACL,DWORD,DWORD,PSID,BOOL,BOOL);
 VOID        WINAPI AddRefActCtx(HANDLE);
 PVOID       WINAPI AddVectoredExceptionHandler(ULONG,PVECTORED_EXCEPTION_HANDLER);
@@ -1215,6 +1222,7 @@ BOOL        WINAPI Beep(DWORD,DWORD);
 HANDLE      WINAPI BeginUpdateResourceA(LPCSTR,BOOL);
 HANDLE      WINAPI BeginUpdateResourceW(LPCWSTR,BOOL);
 #define     BeginUpdateResource WINELIB_NAME_AW(BeginUpdateResource)
+BOOL        WINAPI BindIoCompletionCallback(HANDLE,LPOVERLAPPED_COMPLETION_ROUTINE,ULONG);
 BOOL        WINAPI BuildCommDCBA(LPCSTR,LPDCB);
 BOOL        WINAPI BuildCommDCBW(LPCWSTR,LPDCB);
 #define     BuildCommDCB WINELIB_NAME_AW(BuildCommDCB)
@@ -1254,6 +1262,12 @@ LPVOID      WINAPI ConvertThreadToFiberEx(LPVOID,DWORD);
 HANDLE      WINAPI CreateActCtxA(PCACTCTXA);
 HANDLE      WINAPI CreateActCtxW(PCACTCTXW);
 #define     CreateActCtx WINELIB_NAME_AW(CreateActCtx)
+BOOL        WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
+BOOL        WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
+#define     CreateDirectory WINELIB_NAME_AW(CreateDirectory)
+BOOL        WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
+BOOL        WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
+#define     CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
 HANDLE      WINAPI CreateEventA(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCSTR);
 HANDLE      WINAPI CreateEventW(LPSECURITY_ATTRIBUTES,BOOL,BOOL,LPCWSTR);
 #define     CreateEvent WINELIB_NAME_AW(CreateEvent)
@@ -1310,12 +1324,20 @@ BOOL        WINAPI DebugActiveProcessStop(DWORD);
 void        WINAPI DebugBreak(void);
 BOOL        WINAPI DebugBreakProcess(HANDLE);
 BOOL        WINAPI DebugSetProcessKillOnExit(BOOL);
+BOOL        WINAPI DecryptFileA(LPCSTR,DWORD);
+BOOL        WINAPI DecryptFileW(LPCWSTR,DWORD);
+#define     DecryptFile WINELIB_NAME_AW(DecryptFile)
 BOOL        WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
 BOOL        WINAPI DefineDosDeviceW(DWORD,LPCWSTR,LPCWSTR);
 #define     DefineDosDevice WINELIB_NAME_AW(DefineDosDevice)
+#define     DefineHandleTable(w) ((w),TRUE)
 BOOL        WINAPI DeleteAce(PACL,DWORD);
+ATOM        WINAPI DeleteAtom(ATOM);
 void        WINAPI DeleteCriticalSection(CRITICAL_SECTION *lpCrit);
 void        WINAPI DeleteFiber(LPVOID);
+BOOL        WINAPI DeleteFileA(LPCSTR);
+BOOL        WINAPI DeleteFileW(LPCWSTR);
+#define     DeleteFile WINELIB_NAME_AW(DeleteFile)
 BOOL        WINAPI DeleteTimerQueueEx(HANDLE,HANDLE);
 BOOL        WINAPI DeleteTimerQueueTimer(HANDLE,HANDLE,HANDLE);
 BOOL        WINAPI DeleteVolumeMountPointA(LPCSTR);
@@ -1335,6 +1357,9 @@ BOOL        WINAPI DuplicateToken(HANDLE,SECURITY_IMPERSONATION_LEVEL,PHANDLE);
 BOOL        WINAPI DuplicateTokenEx(HANDLE,DWORD,LPSECURITY_ATTRIBUTES,SECURITY_IMPERSONATION_LEVEL,
                                     TOKEN_TYPE,PHANDLE);
 BOOL        WINAPI EscapeCommFunction(HANDLE,UINT);
+BOOL        WINAPI EncryptFileA(LPCSTR);
+BOOL        WINAPI EncryptFileW(LPCWSTR);
+#define     EncryptFile WINELIB_NAME_AW(EncryptFile)
 BOOL        WINAPI EndUpdateResourceA(HANDLE,BOOL);
 BOOL        WINAPI EndUpdateResourceW(HANDLE,BOOL);
 #define     EndUpdateResource WINELIB_NAME_AW(EndUpdateResource)
@@ -1356,6 +1381,10 @@ VOID DECLSPEC_NORETURN WINAPI ExitThread(DWORD);
 DWORD       WINAPI ExpandEnvironmentStringsA(LPCSTR,LPSTR,DWORD);
 DWORD       WINAPI ExpandEnvironmentStringsW(LPCWSTR,LPWSTR,DWORD);
 #define     ExpandEnvironmentStrings WINELIB_NAME_AW(ExpandEnvironmentStrings)
+void        WINAPI FatalAppExitA(UINT,LPCSTR);
+void        WINAPI FatalAppExitW(UINT,LPCWSTR);
+void        WINAPI FatalExit(int);
+#define     FatalAppExit WINELIB_NAME_AW(FatalAppExit)
 BOOL        WINAPI FileTimeToDosDateTime(const FILETIME*,LPWORD,LPWORD);
 BOOL        WINAPI FileTimeToLocalFileTime(const FILETIME*,LPFILETIME);
 BOOL        WINAPI FileTimeToSystemTime(const FILETIME*,LPSYSTEMTIME);
@@ -1363,12 +1392,28 @@ BOOL        WINAPI FindActCtxSectionStringA(DWORD,const GUID *,ULONG,LPCSTR,PACT
 BOOL        WINAPI FindActCtxSectionStringW(DWORD,const GUID *,ULONG,LPCWSTR,PACTCTX_SECTION_KEYED_DATA);
 #define     FindActCtxSectionString WINELIB_NAME_AW(FindActCtxSectionString)
 BOOL        WINAPI FindActCtxSectionGuid(DWORD,const GUID *,ULONG,const GUID *,PACTCTX_SECTION_KEYED_DATA);
+ATOM        WINAPI FindAtomA(LPCSTR);
+ATOM        WINAPI FindAtomW(LPCWSTR);
+#define     FindAtom WINELIB_NAME_AW(FindAtom)
+BOOL        WINAPI FindClose(HANDLE);
 HANDLE      WINAPI FindFirstChangeNotificationA(LPCSTR,BOOL,DWORD);
 HANDLE      WINAPI FindFirstChangeNotificationW(LPCWSTR,BOOL,DWORD);
 #define     FindFirstChangeNotification WINELIB_NAME_AW(FindFirstChangeNotification)
+HANDLE      WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
+HANDLE      WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
+#define     FindFirstFile WINELIB_NAME_AW(FindFirstFile)
+HANDLE      WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
+HANDLE      WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
+#define     FindFirstFileEx WINELIB_NAME_AW(FindFirstFileEx)
 BOOL        WINAPI FindFirstFreeAce(PACL,LPVOID*);
 BOOL        WINAPI FindNextChangeNotification(HANDLE);
+BOOL        WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
+BOOL        WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
+#define     FindNextFile WINELIB_NAME_AW(FindNextFile)
 BOOL        WINAPI FindCloseChangeNotification(HANDLE);
+HRSRC       WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
+HRSRC       WINAPI FindResourceW(HMODULE,LPCWSTR,LPCWSTR);
+#define     FindResource WINELIB_NAME_AW(FindResource)
 HRSRC       WINAPI FindResourceExA(HMODULE,LPCSTR,LPCSTR,WORD);
 HRSRC       WINAPI FindResourceExW(HMODULE,LPCWSTR,LPCWSTR,WORD);
 #define     FindResourceEx WINELIB_NAME_AW(FindResourceEx)
@@ -1387,6 +1432,7 @@ BOOL        WINAPI FindNextVolumeMountPointW(HANDLE,LPWSTR,DWORD);
 BOOL        WINAPI FindVolumeClose(HANDLE);
 BOOL        WINAPI FindVolumeMountPointClose(HANDLE);
 BOOL        WINAPI FlushFileBuffers(HANDLE);
+BOOL        WINAPI FlushInstructionCache(HANDLE,LPCVOID,SIZE_T);
 BOOL        WINAPI FlushViewOfFile(LPCVOID,SIZE_T);
 DWORD       WINAPI FormatMessageA(DWORD,LPCVOID,DWORD,DWORD,LPSTR,DWORD,va_list*);
 DWORD       WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list*);
@@ -1394,10 +1440,17 @@ DWORD       WINAPI FormatMessageW(DWORD,LPCVOID,DWORD,DWORD,LPWSTR,DWORD,va_list
 BOOL        WINAPI FreeEnvironmentStringsA(LPSTR);
 BOOL        WINAPI FreeEnvironmentStringsW(LPWSTR);
 #define     FreeEnvironmentStrings WINELIB_NAME_AW(FreeEnvironmentStrings)
+BOOL        WINAPI FreeLibrary(HMODULE);
 VOID        WINAPI FreeLibraryAndExitThread(HINSTANCE,DWORD);
+#define     FreeModule(handle) FreeLibrary(handle)
+#define     FreeProcInstance(proc) /*nothing*/
+BOOL        WINAPI FreeResource(HGLOBAL);
 PVOID       WINAPI FreeSid(PSID);
 BOOL        WINAPI GetAce(PACL,DWORD,LPVOID*);
 BOOL        WINAPI GetAclInformation(PACL,LPVOID,DWORD,ACL_INFORMATION_CLASS);
+UINT        WINAPI GetAtomNameA(ATOM,LPSTR,INT);
+UINT        WINAPI GetAtomNameW(ATOM,LPWSTR,INT);
+#define     GetAtomName WINELIB_NAME_AW(GetAtomName)
 BOOL        WINAPI GetBinaryTypeA( LPCSTR lpApplicationName, LPDWORD lpBinaryType );
 BOOL        WINAPI GetBinaryTypeW( LPCWSTR lpApplicationName, LPDWORD lpBinaryType );
 #define     GetBinaryType WINELIB_NAME_AW(GetBinaryType)
@@ -1420,19 +1473,42 @@ BOOL        WINAPI GetComputerNameW(LPWSTR,LPDWORD);
 BOOL        WINAPI GetComputerNameExA(COMPUTER_NAME_FORMAT,LPSTR,LPDWORD);
 BOOL        WINAPI GetComputerNameExW(COMPUTER_NAME_FORMAT,LPWSTR,LPDWORD);
 #define     GetComputerNameEx WINELIB_NAME_AW(GetComputerNameEx)
+UINT        WINAPI GetCurrentDirectoryA(UINT,LPSTR);
+UINT        WINAPI GetCurrentDirectoryW(UINT,LPWSTR);
+#define     GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
+BOOL        WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
+BOOL        WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
+#define     GetCurrentHwProfile WINELIB_NAME_AW(GetCurrentHwProfile)
 HANDLE      WINAPI GetCurrentProcess(void);
 HANDLE      WINAPI GetCurrentThread(void);
+#define     GetCurrentTime() GetTickCount()
 BOOL        WINAPI GetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,LPDWORD);
 BOOL        WINAPI GetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,LPDWORD);
 #define     GetDefaultCommConfig WINELIB_NAME_AW(GetDefaultCommConfig)
 BOOL        WINAPI GetDevicePowerState(HANDLE,BOOL*);
+BOOL        WINAPI GetDiskFreeSpaceA(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
+BOOL        WINAPI GetDiskFreeSpaceW(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
+#define     GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
+BOOL        WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
+BOOL        WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
+#define     GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
+DWORD       WINAPI GetDllDirectoryA(DWORD,LPSTR);
+DWORD       WINAPI GetDllDirectoryW(DWORD,LPWSTR);
+#define     GetDllDirectory WINELIB_NAME_AW(GetDllDirectory)
+UINT        WINAPI GetDriveTypeA(LPCSTR);
+UINT        WINAPI GetDriveTypeW(LPCWSTR);
+#define     GetDriveType WINELIB_NAME_AW(GetDriveType)
 LPSTR       WINAPI GetEnvironmentStringsA(void);
 LPWSTR      WINAPI GetEnvironmentStringsW(void);
 #define     GetEnvironmentStrings WINELIB_NAME_AW(GetEnvironmentStrings)
 DWORD       WINAPI GetEnvironmentVariableA(LPCSTR,LPSTR,DWORD);
 DWORD       WINAPI GetEnvironmentVariableW(LPCWSTR,LPWSTR,DWORD);
 #define     GetEnvironmentVariable WINELIB_NAME_AW(GetEnvironmentVariable)
+BOOL        WINAPI GetExitCodeProcess(HANDLE,LPDWORD);
 BOOL        WINAPI GetExitCodeThread(HANDLE,LPDWORD);
+DWORD       WINAPI GetFileAttributesA(LPCSTR);
+DWORD       WINAPI GetFileAttributesW(LPCWSTR);
+#define     GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
 BOOL        WINAPI GetFileAttributesExA(LPCSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
 BOOL        WINAPI GetFileAttributesExW(LPCWSTR,GET_FILEEX_INFO_LEVELS,LPVOID);
 #define     GetFileAttributesEx WINELIB_NAME_AW(GetFileAttributesEx)
@@ -1444,6 +1520,7 @@ DWORD       WINAPI GetFileSize(HANDLE,LPDWORD);
 BOOL        WINAPI GetFileSizeEx(HANDLE,PLARGE_INTEGER);
 BOOL        WINAPI GetFileTime(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME);
 DWORD       WINAPI GetFileType(HANDLE);
+#define     GetFreeSpace(w) (0x100000L)
 DWORD       WINAPI GetFullPathNameA(LPCSTR,DWORD,LPSTR,LPSTR*);
 DWORD       WINAPI GetFullPathNameW(LPCWSTR,DWORD,LPWSTR,LPWSTR*);
 #define     GetFullPathName WINELIB_NAME_AW(GetFullPathName)
@@ -1452,19 +1529,46 @@ BOOL        WINAPI GetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY
 DWORD       WINAPI GetLengthSid(PSID);
 VOID        WINAPI GetLocalTime(LPSYSTEMTIME);
 DWORD       WINAPI GetLogicalDrives(void);
+UINT        WINAPI GetLogicalDriveStringsA(UINT,LPSTR);
+UINT        WINAPI GetLogicalDriveStringsW(UINT,LPWSTR);
+#define     GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
 DWORD       WINAPI GetLongPathNameA(LPCSTR,LPSTR,DWORD);
 DWORD       WINAPI GetLongPathNameW(LPCWSTR,LPWSTR,DWORD);
 #define     GetLongPathName WINELIB_NAME_AW(GetLongPathName)
 BOOL        WINAPI GetMailslotInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
+DWORD       WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD);
+DWORD       WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD);
+#define     GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
+HMODULE     WINAPI GetModuleHandleA(LPCSTR);
+HMODULE     WINAPI GetModuleHandleW(LPCWSTR);
+#define     GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
 BOOL        WINAPI GetNamedPipeHandleStateA(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
 BOOL        WINAPI GetNamedPipeHandleStateW(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
 #define     GetNamedPipeHandleState WINELIB_NAME_AW(GetNamedPipeHandleState)
 BOOL        WINAPI GetNamedPipeInfo(HANDLE,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
 BOOL        WINAPI GetNumberOfEventLogRecords(HANDLE,PDWORD);
 BOOL        WINAPI GetOldestEventLogRecord(HANDLE,PDWORD);
+BOOL        WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
 DWORD       WINAPI GetPriorityClass(HANDLE);
 BOOL        WINAPI GetPrivateObjectSecurity(PSECURITY_DESCRIPTOR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR,DWORD,PDWORD);
-BOOL        WINAPI GetProcessAffinityMask(HANDLE,PDWORD,PDWORD);
+UINT        WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
+UINT        WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
+#define     GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
+INT         WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
+INT         WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
+#define     GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
+DWORD       WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
+DWORD       WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
+#define     GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
+INT         WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
+INT         WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
+#define     GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
+BOOL        WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
+BOOL        WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
+#define     GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
+FARPROC     WINAPI GetProcAddress(HMODULE,LPCSTR);
+BOOL        WINAPI GetProcessAffinityMask(HANDLE,PDWORD_PTR,PDWORD_PTR);
+DWORD       WINAPI GetProcessHeaps(DWORD,PHANDLE);
 DWORD       WINAPI GetProcessId(HANDLE);
 BOOL        WINAPI GetProcessIoCounters(HANDLE,PIO_COUNTERS);
 BOOL        WINAPI GetProcessPriorityBoost(HANDLE,PBOOL);
@@ -1472,6 +1576,15 @@ BOOL        WINAPI GetProcessShutdownParameters(LPDWORD,LPDWORD);
 BOOL        WINAPI GetProcessTimes(HANDLE,LPFILETIME,LPFILETIME,LPFILETIME,LPFILETIME);
 DWORD       WINAPI GetProcessVersion(DWORD);
 BOOL        WINAPI GetProcessWorkingSetSize(HANDLE,PSIZE_T,PSIZE_T);
+UINT        WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
+UINT        WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
+#define     GetProfileInt WINELIB_NAME_AW(GetProfileInt)
+INT         WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
+INT         WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
+#define     GetProfileSection WINELIB_NAME_AW(GetProfileSection)
+INT         WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT);
+INT         WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT);
+#define     GetProfileString WINELIB_NAME_AW(GetProfileString)
 BOOL        WINAPI GetQueuedCompletionStatus(HANDLE,LPDWORD,PULONG_PTR,LPOVERLAPPED*,DWORD);
 BOOL        WINAPI GetSecurityDescriptorControl(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR_CONTROL,LPDWORD);
 BOOL        WINAPI GetSecurityDescriptorDacl(PSECURITY_DESCRIPTOR,LPBOOL,PACL *,LPBOOL);
@@ -1486,15 +1599,31 @@ PUCHAR      WINAPI GetSidSubAuthorityCount(PSID);
 DWORD       WINAPI GetShortPathNameA(LPCSTR,LPSTR,DWORD);
 DWORD       WINAPI GetShortPathNameW(LPCWSTR,LPWSTR,DWORD);
 #define     GetShortPathName WINELIB_NAME_AW(GetShortPathName)
+VOID        WINAPI GetStartupInfoA(LPSTARTUPINFOA);
+VOID        WINAPI GetStartupInfoW(LPSTARTUPINFOW);
+#define     GetStartupInfo WINELIB_NAME_AW(GetStartupInfo)
 HANDLE      WINAPI GetStdHandle(DWORD);
+UINT        WINAPI GetSystemDirectoryA(LPSTR,UINT);
+UINT        WINAPI GetSystemDirectoryW(LPWSTR,UINT);
+#define     GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
 VOID        WINAPI GetSystemInfo(LPSYSTEM_INFO);
 BOOL        WINAPI GetSystemPowerStatus(LPSYSTEM_POWER_STATUS);
 VOID        WINAPI GetSystemTime(LPSYSTEMTIME);
 BOOL        WINAPI GetSystemTimeAdjustment(PDWORD,PDWORD,PBOOL);
 VOID        WINAPI GetSystemTimeAsFileTime(LPFILETIME);
+UINT        WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
+UINT        WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
+#define     GetSystemWindowsDirectory WINELIB_NAME_AW(GetSystemWindowsDirectory)
 DWORD       WINAPI GetTapeParameters(HANDLE,DWORD,LPDWORD,LPVOID);
 DWORD       WINAPI GetTapePosition(HANDLE,DWORD,LPDWORD,LPDWORD,LPDWORD);
 DWORD       WINAPI GetTapeStatus(HANDLE);
+UINT        WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
+UINT        WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
+#define     GetTempFileName WINELIB_NAME_AW(GetTempFileName)
+DWORD       WINAPI GetTempPathA(DWORD,LPSTR);
+DWORD       WINAPI GetTempPathW(DWORD,LPWSTR);
+#define     GetTempPath WINELIB_NAME_AW(GetTempPath)
+DWORD       WINAPI GetTickCount(void);
 DWORD       WINAPI GetTimeZoneInformation(LPTIME_ZONE_INFORMATION);
 BOOL        WINAPI GetThreadContext(HANDLE,CONTEXT *);
 INT         WINAPI GetThreadPriority(HANDLE);
@@ -1505,6 +1634,13 @@ BOOL        WINAPI GetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWO
 BOOL        WINAPI GetUserNameA(LPSTR,LPDWORD);
 BOOL        WINAPI GetUserNameW(LPWSTR,LPDWORD);
 #define     GetUserName WINELIB_NAME_AW(GetUserName)
+DWORD       WINAPI GetVersion(void);
+BOOL        WINAPI GetVersionExA(OSVERSIONINFOA*);
+BOOL        WINAPI GetVersionExW(OSVERSIONINFOW*);
+#define     GetVersionEx WINELIB_NAME_AW(GetVersionEx)
+BOOL        WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
+BOOL        WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
+#define     GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
 BOOL        WINAPI GetVolumeNameForVolumeMountPointA(LPCSTR,LPSTR,DWORD);
 BOOL        WINAPI GetVolumeNameForVolumeMountPointW(LPCWSTR,LPWSTR,DWORD);
 #define     GetVolumeNameForVolumeMountPoint WINELIB_NAME_AW(GetVolumeNameForVolumeMountPoint)
@@ -1514,8 +1650,35 @@ BOOL        WINAPI GetVolumePathNameW(LPCWSTR,LPWSTR,DWORD);
 BOOL        WINAPI GetVolumePathNamesForVolumeNameA(LPCSTR,LPSTR,DWORD,PDWORD);
 BOOL        WINAPI GetVolumePathNamesForVolumeNameW(LPCWSTR,LPWSTR,DWORD,PDWORD);
 #define     GetVolumePathNamesForVolumeName WINELIB_NAME_AW(GetVolumePathNamesForVolumeName)
+UINT        WINAPI GetWindowsDirectoryA(LPSTR,UINT);
+UINT        WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
+#define     GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
+ATOM        WINAPI GlobalAddAtomA(LPCSTR);
+ATOM        WINAPI GlobalAddAtomW(LPCWSTR);
+#define     GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
+HGLOBAL     WINAPI GlobalAlloc(UINT,SIZE_T);
+SIZE_T      WINAPI GlobalCompact(DWORD);
+ATOM        WINAPI GlobalDeleteAtom(ATOM);
+ATOM        WINAPI GlobalFindAtomA(LPCSTR);
+ATOM        WINAPI GlobalFindAtomW(LPCWSTR);
+#define     GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
+VOID        WINAPI GlobalFix(HGLOBAL);
+UINT        WINAPI GlobalFlags(HGLOBAL);
+HGLOBAL     WINAPI GlobalFree(HGLOBAL);
+UINT        WINAPI GlobalGetAtomNameA(ATOM,LPSTR,INT);
+UINT        WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,INT);
+#define     GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
+HGLOBAL     WINAPI GlobalHandle(LPCVOID);
+LPVOID      WINAPI GlobalLock(HGLOBAL);
 VOID        WINAPI GlobalMemoryStatus(LPMEMORYSTATUS);
 BOOL        WINAPI GlobalMemoryStatusEx(LPMEMORYSTATUSEX);
+HGLOBAL     WINAPI GlobalReAlloc(HGLOBAL,SIZE_T,UINT);
+SIZE_T      WINAPI GlobalSize(HGLOBAL);
+VOID        WINAPI GlobalUnfix(HGLOBAL);
+BOOL        WINAPI GlobalUnlock(HGLOBAL);
+BOOL        WINAPI GlobalUnWire(HGLOBAL);
+LPVOID      WINAPI GlobalWire(HGLOBAL);
+#define     HasOverlappedCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
 LPVOID      WINAPI HeapAlloc(HANDLE,DWORD,SIZE_T);
 SIZE_T      WINAPI HeapCompact(HANDLE,DWORD);
 HANDLE      WINAPI HeapCreate(DWORD,SIZE_T,SIZE_T);
@@ -1527,11 +1690,21 @@ SIZE_T      WINAPI HeapSize(HANDLE,DWORD,LPVOID);
 BOOL        WINAPI HeapUnlock(HANDLE);
 BOOL        WINAPI HeapValidate(HANDLE,DWORD,LPCVOID);
 BOOL        WINAPI HeapWalk(HANDLE,LPPROCESS_HEAP_ENTRY);
+BOOL        WINAPI InitAtomTable(DWORD);
 BOOL        WINAPI InitializeAcl(PACL,DWORD,DWORD);
 void        WINAPI InitializeCriticalSection(CRITICAL_SECTION *lpCrit);
 BOOL        WINAPI InitializeCriticalSectionAndSpinCount(CRITICAL_SECTION *,DWORD);
 BOOL        WINAPI InitializeSecurityDescriptor(PSECURITY_DESCRIPTOR,DWORD);
 BOOL        WINAPI InitializeSid(PSID,PSID_IDENTIFIER_AUTHORITY,BYTE);
+BOOL        WINAPI IsBadCodePtr(FARPROC);
+BOOL        WINAPI IsBadHugeReadPtr(LPCVOID,UINT);
+BOOL        WINAPI IsBadHugeWritePtr(LPVOID,UINT);
+BOOL        WINAPI IsBadReadPtr(LPCVOID,UINT);
+BOOL        WINAPI IsBadStringPtrA(LPCSTR,UINT);
+BOOL        WINAPI IsBadStringPtrW(LPCWSTR,UINT);
+#define     IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
+BOOL        WINAPI IsBadWritePtr(LPVOID,UINT);
+BOOL        WINAPI IsDebuggerPresent(void);
 BOOL        WINAPI IsSystemResumeAutomatic(void);
 BOOL        WINAPI IsTextUnicode(LPCVOID,INT,LPINT);
 BOOL        WINAPI IsTokenRestricted(HANDLE);
@@ -1543,6 +1716,26 @@ BOOL        WINAPI ImpersonateNamedPipeClient(HANDLE);
 BOOL        WINAPI ImpersonateSelf(SECURITY_IMPERSONATION_LEVEL);
 BOOL        WINAPI IsProcessorFeaturePresent(DWORD);
 void        WINAPI LeaveCriticalSection(CRITICAL_SECTION *lpCrit);
+HMODULE     WINAPI LoadLibraryA(LPCSTR);
+HMODULE     WINAPI LoadLibraryW(LPCWSTR);
+#define     LoadLibrary WINELIB_NAME_AW(LoadLibrary)
+HMODULE     WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
+HMODULE     WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
+#define     LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
+HINSTANCE   WINAPI LoadModule(LPCSTR,LPVOID);
+HGLOBAL     WINAPI LoadResource(HMODULE,HRSRC);
+HLOCAL      WINAPI LocalAlloc(UINT,SIZE_T);
+SIZE_T      WINAPI LocalCompact(UINT);
+UINT        WINAPI LocalFlags(HLOCAL);
+HLOCAL      WINAPI LocalFree(HLOCAL);
+HLOCAL      WINAPI LocalHandle(LPCVOID);
+LPVOID      WINAPI LocalLock(HLOCAL);
+HLOCAL      WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT);
+SIZE_T      WINAPI LocalShrink(HGLOBAL,UINT);
+SIZE_T      WINAPI LocalSize(HLOCAL);
+BOOL        WINAPI LocalUnlock(HLOCAL);
+LPVOID      WINAPI LockResource(HGLOBAL);
+#define     LockSegment(handle) GlobalFix((HANDLE)(handle))
 BOOL        WINAPI LookupAccountNameA(LPCSTR,LPCSTR,PSID,LPDWORD,LPSTR,LPDWORD,PSID_NAME_USE);
 BOOL        WINAPI LookupAccountNameW(LPCWSTR,LPCWSTR,PSID,LPDWORD,LPWSTR,LPDWORD,PSID_NAME_USE);
 #define     LookupAccountName WINELIB_NAME_AW(LookupAccountName)
@@ -1567,6 +1760,7 @@ BOOL        WINAPI LookupPrivilegeValueW(LPCWSTR,LPCWSTR,PLUID);
 BOOL        WINAPI MakeAbsoluteSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD,
                                   PACL,LPDWORD,PACL,LPDWORD,PSID,LPDWORD,PSID,LPDWORD);
 void        WINAPI MakeCriticalSectionGlobal(CRITICAL_SECTION *lpCrit);
+#define     MakeProcInstance(proc,inst) (proc)
 BOOL        WINAPI MakeSelfRelativeSD(PSECURITY_DESCRIPTOR,PSECURITY_DESCRIPTOR,LPDWORD);
 VOID        WINAPI MapGenericMask(PDWORD,PGENERIC_MAPPING);
 HMODULE     WINAPI MapHModuleSL(WORD);
@@ -1601,6 +1795,7 @@ HANDLE      WINAPI OpenEventW(DWORD,BOOL,LPCWSTR);
 HANDLE      WINAPI OpenEventLogA(LPCSTR,LPCSTR);
 HANDLE      WINAPI OpenEventLogW(LPCWSTR,LPCWSTR);
 #define     OpenEventLog WINELIB_NAME_AW(OpenEventLog)
+HFILE       WINAPI OpenFile(LPCSTR,OFSTRUCT*,UINT);
 HANDLE      WINAPI OpenFileMappingA(DWORD,BOOL,LPCSTR);
 HANDLE      WINAPI OpenFileMappingW(DWORD,BOOL,LPCWSTR);
 #define     OpenFileMapping WINELIB_NAME_AW(OpenFileMapping)
@@ -1617,8 +1812,13 @@ BOOL        WINAPI OpenThreadToken(HANDLE,DWORD,BOOL,PHANDLE);
 HANDLE      WINAPI OpenWaitableTimerA(DWORD,BOOL,LPCSTR);
 HANDLE      WINAPI OpenWaitableTimerW(DWORD,BOOL,LPCWSTR);
 #define     OpenWaitableTimer WINELIB_NAME_AW(OpenWaitableTimer)
+VOID        WINAPI OutputDebugStringA(LPCSTR);
+VOID        WINAPI OutputDebugStringW(LPCWSTR);
+#define     OutputDebugString WINELIB_NAME_AW(OutputDebugString)
 BOOL        WINAPI PeekNamedPipe(HANDLE,PVOID,DWORD,PDWORD,PDWORD,PDWORD);
+BOOL        WINAPI PostQueuedCompletionStatus(HANDLE,DWORD,ULONG_PTR,LPOVERLAPPED);
 DWORD       WINAPI PrepareTape(HANDLE,DWORD,BOOL);
+BOOL        WINAPI ProcessIdToSessionId(DWORD,DWORD*);
 BOOL        WINAPI PrivilegeCheck(HANDLE,PPRIVILEGE_SET,LPBOOL);
 BOOL        WINAPI PrivilegedServiceAuditAlarmA(LPCSTR,LPCSTR,HANDLE,PPRIVILEGE_SET,BOOL);
 BOOL        WINAPI PrivilegedServiceAuditAlarmW(LPCWSTR,LPCWSTR,HANDLE,PPRIVILEGE_SET,BOOL);
@@ -1632,6 +1832,7 @@ DWORD       WINAPI QueryDosDeviceW(LPCWSTR,LPWSTR,DWORD);
 BOOL        WINAPI QueryPerformanceCounter(LARGE_INTEGER*);
 BOOL        WINAPI QueryPerformanceFrequency(LARGE_INTEGER*);
 DWORD       WINAPI QueueUserAPC(PAPCFUNC,HANDLE,ULONG_PTR);
+BOOL        WINAPI QueueUserWorkItem(LPTHREAD_START_ROUTINE,PVOID,ULONG);
 void        WINAPI RaiseException(DWORD,DWORD,DWORD,const ULONG_PTR *);
 BOOL        WINAPI ReadEventLogA(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
 BOOL        WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *);
@@ -1639,6 +1840,7 @@ BOOL        WINAPI ReadEventLogW(HANDLE,DWORD,DWORD,LPVOID,DWORD,DWORD *,DWORD *
 BOOL        WINAPI ReadDirectoryChangesW(HANDLE,LPVOID,DWORD,BOOL,DWORD,LPDWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
 BOOL        WINAPI ReadFile(HANDLE,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
 BOOL        WINAPI ReadFileEx(HANDLE,LPVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
+BOOL        WINAPI ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,SIZE_T*);
 HANDLE      WINAPI RegisterEventSourceA(LPCSTR,LPCSTR);
 HANDLE      WINAPI RegisterEventSourceW(LPCWSTR,LPCWSTR);
 #define     RegisterEventSource WINELIB_NAME_AW(RegisterEventSource)
@@ -1648,6 +1850,12 @@ VOID        WINAPI ReleaseActCtx(HANDLE);
 BOOL        WINAPI ReleaseMutex(HANDLE);
 BOOL        WINAPI ReleaseSemaphore(HANDLE,LONG,LPLONG);
 ULONG       WINAPI RemoveVectoredExceptionHandler(PVOID);
+BOOL        WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
+BOOL        WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
+#define     ReplaceFile WINELIB_NAME_AW(ReplaceFile)
+BOOL        WINAPI RemoveDirectoryA(LPCSTR);
+BOOL        WINAPI RemoveDirectoryW(LPCWSTR);
+#define     RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
 BOOL        WINAPI ReportEventA(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCSTR *,LPVOID);
 BOOL        WINAPI ReportEventW(HANDLE,WORD,WORD,DWORD,PSID,WORD,DWORD,LPCWSTR *,LPVOID);
 BOOL        WINAPI RequestWakeupLatency(LATENCY_TIME latency);
@@ -1671,22 +1879,33 @@ BOOL        WINAPI SetComputerNameExA(COMPUTER_NAME_FORMAT,LPCSTR);
 BOOL        WINAPI SetComputerNameExW(COMPUTER_NAME_FORMAT,LPCWSTR);
 #define     SetComputerNameEx WINELIB_NAME_AW(SetComputerNameEx)
 DWORD       WINAPI SetCriticalSectionSpinCount(LPCRITICAL_SECTION,DWORD);
+BOOL        WINAPI SetCurrentDirectoryA(LPCSTR);
+BOOL        WINAPI SetCurrentDirectoryW(LPCWSTR);
+#define     SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
 BOOL        WINAPI SetDefaultCommConfigA(LPCSTR,LPCOMMCONFIG,DWORD);
 BOOL        WINAPI SetDefaultCommConfigW(LPCWSTR,LPCOMMCONFIG,DWORD);
 #define     SetDefaultCommConfig WINELIB_NAME_AW(SetDefaultCommConfig)
+BOOL        WINAPI SetDllDirectoryA(LPCSTR);
+BOOL        WINAPI SetDllDirectoryW(LPCWSTR);
+#define     SetDllDirectory WINELIB_NAME_AW(SetDllDirectory)
 BOOL        WINAPI SetEndOfFile(HANDLE);
 BOOL        WINAPI SetEnvironmentVariableA(LPCSTR,LPCSTR);
 BOOL        WINAPI SetEnvironmentVariableW(LPCWSTR,LPCWSTR);
 #define     SetEnvironmentVariable WINELIB_NAME_AW(SetEnvironmentVariable)
+UINT        WINAPI SetErrorMode(UINT);
 BOOL        WINAPI SetEvent(HANDLE);
 VOID        WINAPI SetFileApisToANSI(void);
 VOID        WINAPI SetFileApisToOEM(void);
+BOOL        WINAPI SetFileAttributesA(LPCSTR,DWORD);
+BOOL        WINAPI SetFileAttributesW(LPCWSTR,DWORD);
+#define     SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
 DWORD       WINAPI SetFilePointer(HANDLE,LONG,LPLONG,DWORD);
 BOOL        WINAPI SetFilePointerEx(HANDLE,LARGE_INTEGER,LARGE_INTEGER*,DWORD);
 BOOL        WINAPI SetFileSecurityA(LPCSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
 BOOL        WINAPI SetFileSecurityW(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
 #define     SetFileSecurity WINELIB_NAME_AW(SetFileSecurity)
 BOOL        WINAPI SetFileTime(HANDLE,const FILETIME*,const FILETIME*,const FILETIME*);
+UINT        WINAPI SetHandleCount(UINT);
 BOOL        WINAPI SetHandleInformation(HANDLE,DWORD,DWORD);
 BOOL        WINAPI SetKernelObjectSecurity(HANDLE,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
 BOOL        WINAPI SetLocalTime(const SYSTEMTIME*);
@@ -1706,6 +1925,7 @@ BOOL        WINAPI SetSecurityDescriptorGroup(PSECURITY_DESCRIPTOR,PSID,BOOL);
 BOOL        WINAPI SetSecurityDescriptorOwner(PSECURITY_DESCRIPTOR,PSID,BOOL);
 BOOL        WINAPI SetSecurityDescriptorSacl(PSECURITY_DESCRIPTOR,BOOL,PACL,BOOL);
 BOOL        WINAPI SetStdHandle(DWORD,HANDLE);
+#define     SetSwapAreaSize(w) (w)
 BOOL        WINAPI SetSystemPowerState(BOOL,BOOL);
 BOOL        WINAPI SetSystemTime(const SYSTEMTIME*);
 BOOL        WINAPI SetSystemTimeAdjustment(DWORD,BOOL);
@@ -1720,12 +1940,16 @@ BOOL        WINAPI SetThreadPriorityBoost(HANDLE,BOOL);
 BOOL        WINAPI SetThreadToken(PHANDLE,HANDLE);
 BOOL        WINAPI SetTimeZoneInformation(const TIME_ZONE_INFORMATION *);
 BOOL        WINAPI SetTokenInformation(HANDLE,TOKEN_INFORMATION_CLASS,LPVOID,DWORD);
+BOOL        WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
+BOOL        WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
+#define     SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
 BOOL        WINAPI SetVolumeMountPointA(LPCSTR,LPCSTR);
 BOOL        WINAPI SetVolumeMountPointW(LPCSTR,LPCSTR);
 #define     SetVolumeMountPoint WINELIB_NAME_AW(SetVolumeMountPoint)
 BOOL        WINAPI SetWaitableTimer(HANDLE,const LARGE_INTEGER*,LONG,PTIMERAPCROUTINE,LPVOID,BOOL);
 BOOL        WINAPI SetupComm(HANDLE,DWORD,DWORD);
 DWORD       WINAPI SignalObjectAndWait(HANDLE,HANDLE,DWORD,BOOL);
+DWORD       WINAPI SizeofResource(HMODULE,HRSRC);
 VOID        WINAPI Sleep(DWORD);
 DWORD       WINAPI SleepEx(DWORD,BOOL);
 DWORD       WINAPI SuspendThread(HANDLE);
@@ -1742,8 +1966,10 @@ BOOL        WINAPI TlsSetValue(DWORD,LPVOID);
 BOOL        WINAPI TransactNamedPipe(HANDLE,LPVOID,DWORD,LPVOID,DWORD,LPDWORD,LPOVERLAPPED);
 BOOL        WINAPI TransmitCommChar(HANDLE,CHAR);
 BOOL        WINAPI TryEnterCriticalSection(CRITICAL_SECTION *lpCrit);
+BOOL        WINAPI TzSpecificLocalTimeToSystemTime(LPTIME_ZONE_INFORMATION,LPSYSTEMTIME,LPSYSTEMTIME);
 BOOL        WINAPI UnlockFile(HANDLE,DWORD,DWORD,DWORD,DWORD);
 BOOL        WINAPI UnlockFileEx(HANDLE,DWORD,DWORD,DWORD,LPOVERLAPPED);
+#define     UnlockSegment(handle) GlobalUnfix((HANDLE)(handle))
 BOOL        WINAPI UnmapViewOfFile(LPVOID);
 BOOL        WINAPI UnregisterWait(HANDLE);
 BOOL        WINAPI UnregisterWaitEx(HANDLE,HANDLE);
@@ -1772,241 +1998,28 @@ DWORD       WINAPI WaitForSingleObjectEx(HANDLE,DWORD,BOOL);
 BOOL        WINAPI WaitNamedPipeA(LPCSTR,DWORD);
 BOOL        WINAPI WaitNamedPipeW(LPCWSTR,DWORD);
 #define     WaitNamedPipe WINELIB_NAME_AW(WaitNamedPipe)
+UINT        WINAPI WinExec(LPCSTR,UINT);
 BOOL        WINAPI WriteFile(HANDLE,LPCVOID,DWORD,LPDWORD,LPOVERLAPPED);
 BOOL        WINAPI WriteFileEx(HANDLE,LPCVOID,DWORD,LPOVERLAPPED,LPOVERLAPPED_COMPLETION_ROUTINE);
-DWORD       WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
-BOOL        WINAPI ZombifyActCtx(HANDLE);
-
-ATOM        WINAPI AddAtomA(LPCSTR);
-ATOM        WINAPI AddAtomW(LPCWSTR);
-#define     AddAtom WINELIB_NAME_AW(AddAtom)
-BOOL        WINAPI CreateDirectoryA(LPCSTR,LPSECURITY_ATTRIBUTES);
-BOOL        WINAPI CreateDirectoryW(LPCWSTR,LPSECURITY_ATTRIBUTES);
-#define     CreateDirectory WINELIB_NAME_AW(CreateDirectory)
-BOOL        WINAPI CreateDirectoryExA(LPCSTR,LPCSTR,LPSECURITY_ATTRIBUTES);
-BOOL        WINAPI CreateDirectoryExW(LPCWSTR,LPCWSTR,LPSECURITY_ATTRIBUTES);
-#define     CreateDirectoryEx WINELIB_NAME_AW(CreateDirectoryEx)
-BOOL        WINAPI DecryptFileA(LPCSTR,DWORD);
-BOOL        WINAPI DecryptFileW(LPCWSTR,DWORD);
-#define     DecryptFile WINELIB_NAME_AW(DecryptFile)
-BOOL        WINAPI DefineDosDeviceA(DWORD,LPCSTR,LPCSTR);
-#define     DefineHandleTable(w) ((w),TRUE)
-ATOM        WINAPI DeleteAtom(ATOM);
-BOOL        WINAPI DeleteFileA(LPCSTR);
-BOOL        WINAPI DeleteFileW(LPCWSTR);
-#define     DeleteFile WINELIB_NAME_AW(DeleteFile)
-BOOL        WINAPI EncryptFileA(LPCSTR);
-BOOL        WINAPI EncryptFileW(LPCWSTR);
-#define     EncryptFile WINELIB_NAME_AW(EncryptFile)
-void        WINAPI FatalAppExitA(UINT,LPCSTR);
-void        WINAPI FatalAppExitW(UINT,LPCWSTR);
-void        WINAPI FatalExit(int);
-#define     FatalAppExit WINELIB_NAME_AW(FatalAppExit)
-ATOM        WINAPI FindAtomA(LPCSTR);
-ATOM        WINAPI FindAtomW(LPCWSTR);
-#define     FindAtom WINELIB_NAME_AW(FindAtom)
-BOOL        WINAPI FindClose(HANDLE);
-HANDLE      WINAPI FindFirstFileA(LPCSTR,LPWIN32_FIND_DATAA);
-HANDLE      WINAPI FindFirstFileW(LPCWSTR,LPWIN32_FIND_DATAW);
-#define     FindFirstFile WINELIB_NAME_AW(FindFirstFile)
-HANDLE      WINAPI FindFirstFileExA(LPCSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
-HANDLE      WINAPI FindFirstFileExW(LPCWSTR,FINDEX_INFO_LEVELS,LPVOID,FINDEX_SEARCH_OPS,LPVOID,DWORD);
-#define     FindFirstFileEx WINELIB_NAME_AW(FindFirstFileEx)
-BOOL        WINAPI FindNextFileA(HANDLE,LPWIN32_FIND_DATAA);
-BOOL        WINAPI FindNextFileW(HANDLE,LPWIN32_FIND_DATAW);
-#define     FindNextFile WINELIB_NAME_AW(FindNextFile)
-HRSRC       WINAPI FindResourceA(HMODULE,LPCSTR,LPCSTR);
-HRSRC       WINAPI FindResourceW(HMODULE,LPCWSTR,LPCWSTR);
-#define     FindResource WINELIB_NAME_AW(FindResource)
-BOOL        WINAPI FlushInstructionCache(HANDLE,LPCVOID,SIZE_T);
-BOOL        WINAPI FreeLibrary(HMODULE);
-#define     FreeModule(handle) FreeLibrary(handle)
-#define     FreeProcInstance(proc) /*nothing*/
-BOOL        WINAPI FreeResource(HGLOBAL);
-UINT        WINAPI GetAtomNameA(ATOM,LPSTR,INT);
-UINT        WINAPI GetAtomNameW(ATOM,LPWSTR,INT);
-#define     GetAtomName WINELIB_NAME_AW(GetAtomName)
-UINT        WINAPI GetCurrentDirectoryA(UINT,LPSTR);
-UINT        WINAPI GetCurrentDirectoryW(UINT,LPWSTR);
-#define     GetCurrentDirectory WINELIB_NAME_AW(GetCurrentDirectory)
-BOOL        WINAPI GetCurrentHwProfileA(LPHW_PROFILE_INFOA);
-BOOL        WINAPI GetCurrentHwProfileW(LPHW_PROFILE_INFOW);
-#define     GetCurrentHwProfile WINELIB_NAME_AW(GetCurrentHwProfile)
-#define     GetCurrentTime() GetTickCount()
-BOOL        WINAPI GetDiskFreeSpaceA(LPCSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
-BOOL        WINAPI GetDiskFreeSpaceW(LPCWSTR,LPDWORD,LPDWORD,LPDWORD,LPDWORD);
-#define     GetDiskFreeSpace WINELIB_NAME_AW(GetDiskFreeSpace)
-BOOL        WINAPI GetDiskFreeSpaceExA(LPCSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-BOOL        WINAPI GetDiskFreeSpaceExW(LPCWSTR,PULARGE_INTEGER,PULARGE_INTEGER,PULARGE_INTEGER);
-#define     GetDiskFreeSpaceEx WINELIB_NAME_AW(GetDiskFreeSpaceEx)
-UINT        WINAPI GetDriveTypeA(LPCSTR);
-UINT        WINAPI GetDriveTypeW(LPCWSTR);
-#define     GetDriveType WINELIB_NAME_AW(GetDriveType)
-BOOL        WINAPI GetExitCodeProcess(HANDLE,LPDWORD);
-DWORD       WINAPI GetFileAttributesA(LPCSTR);
-DWORD       WINAPI GetFileAttributesW(LPCWSTR);
-#define     GetFileAttributes WINELIB_NAME_AW(GetFileAttributes)
-#define     GetFreeSpace(w) (0x100000L)
-UINT        WINAPI GetLogicalDriveStringsA(UINT,LPSTR);
-UINT        WINAPI GetLogicalDriveStringsW(UINT,LPWSTR);
-#define     GetLogicalDriveStrings WINELIB_NAME_AW(GetLogicalDriveStrings)
-DWORD       WINAPI GetModuleFileNameA(HMODULE,LPSTR,DWORD);
-DWORD       WINAPI GetModuleFileNameW(HMODULE,LPWSTR,DWORD);
-#define     GetModuleFileName WINELIB_NAME_AW(GetModuleFileName)
-HMODULE     WINAPI GetModuleHandleA(LPCSTR);
-HMODULE     WINAPI GetModuleHandleW(LPCWSTR);
-#define     GetModuleHandle WINELIB_NAME_AW(GetModuleHandle)
-BOOL        WINAPI GetOverlappedResult(HANDLE,LPOVERLAPPED,LPDWORD,BOOL);
-UINT        WINAPI GetPrivateProfileIntA(LPCSTR,LPCSTR,INT,LPCSTR);
-UINT        WINAPI GetPrivateProfileIntW(LPCWSTR,LPCWSTR,INT,LPCWSTR);
-#define     GetPrivateProfileInt WINELIB_NAME_AW(GetPrivateProfileInt)
-INT         WINAPI GetPrivateProfileSectionA(LPCSTR,LPSTR,DWORD,LPCSTR);
-INT         WINAPI GetPrivateProfileSectionW(LPCWSTR,LPWSTR,DWORD,LPCWSTR);
-#define     GetPrivateProfileSection WINELIB_NAME_AW(GetPrivateProfileSection)
-DWORD       WINAPI GetPrivateProfileSectionNamesA(LPSTR,DWORD,LPCSTR);
-DWORD       WINAPI GetPrivateProfileSectionNamesW(LPWSTR,DWORD,LPCWSTR);
-#define     GetPrivateProfileSectionNames WINELIB_NAME_AW(GetPrivateProfileSectionNames)
-INT         WINAPI GetPrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT,LPCSTR);
-INT         WINAPI GetPrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT,LPCWSTR);
-#define     GetPrivateProfileString WINELIB_NAME_AW(GetPrivateProfileString)
-BOOL        WINAPI GetPrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
-BOOL        WINAPI GetPrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
-#define     GetPrivateProfileStruct WINELIB_NAME_AW(GetPrivateProfileStruct)
-FARPROC     WINAPI GetProcAddress(HMODULE,LPCSTR);
-DWORD       WINAPI GetProcessHeaps(DWORD,PHANDLE);
-UINT        WINAPI GetProfileIntA(LPCSTR,LPCSTR,INT);
-UINT        WINAPI GetProfileIntW(LPCWSTR,LPCWSTR,INT);
-#define     GetProfileInt WINELIB_NAME_AW(GetProfileInt)
-INT         WINAPI GetProfileSectionA(LPCSTR,LPSTR,DWORD);
-INT         WINAPI GetProfileSectionW(LPCWSTR,LPWSTR,DWORD);
-#define     GetProfileSection WINELIB_NAME_AW(GetProfileSection)
-INT         WINAPI GetProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPSTR,UINT);
-INT         WINAPI GetProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPWSTR,UINT);
-#define     GetProfileString WINELIB_NAME_AW(GetProfileString)
-VOID        WINAPI GetStartupInfoA(LPSTARTUPINFOA);
-VOID        WINAPI GetStartupInfoW(LPSTARTUPINFOW);
-#define     GetStartupInfo WINELIB_NAME_AW(GetStartupInfo)
-UINT        WINAPI GetSystemDirectoryA(LPSTR,UINT);
-UINT        WINAPI GetSystemDirectoryW(LPWSTR,UINT);
-#define     GetSystemDirectory WINELIB_NAME_AW(GetSystemDirectory)
-UINT        WINAPI GetSystemWindowsDirectoryA(LPSTR,UINT);
-UINT        WINAPI GetSystemWindowsDirectoryW(LPWSTR,UINT);
-#define     GetSystemWindowsDirectory WINELIB_NAME_AW(GetSystemWindowsDirectory)
-DWORD       WINAPI GetTickCount(void);
-UINT        WINAPI GetTempFileNameA(LPCSTR,LPCSTR,UINT,LPSTR);
-UINT        WINAPI GetTempFileNameW(LPCWSTR,LPCWSTR,UINT,LPWSTR);
-#define     GetTempFileName WINELIB_NAME_AW(GetTempFileName)
-DWORD       WINAPI GetTempPathA(DWORD,LPSTR);
-DWORD       WINAPI GetTempPathW(DWORD,LPWSTR);
-#define     GetTempPath WINELIB_NAME_AW(GetTempPath)
-DWORD       WINAPI GetVersion(void);
-BOOL        WINAPI GetVersionExA(OSVERSIONINFOA*);
-BOOL        WINAPI GetVersionExW(OSVERSIONINFOW*);
-#define     GetVersionEx WINELIB_NAME_AW(GetVersionEx)
-BOOL        WINAPI GetVolumeInformationA(LPCSTR,LPSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPSTR,DWORD);
-BOOL        WINAPI GetVolumeInformationW(LPCWSTR,LPWSTR,DWORD,LPDWORD,LPDWORD,LPDWORD,LPWSTR,DWORD);
-#define     GetVolumeInformation WINELIB_NAME_AW(GetVolumeInformation)
-UINT        WINAPI GetWindowsDirectoryA(LPSTR,UINT);
-UINT        WINAPI GetWindowsDirectoryW(LPWSTR,UINT);
-#define     GetWindowsDirectory WINELIB_NAME_AW(GetWindowsDirectory)
-ATOM        WINAPI GlobalAddAtomA(LPCSTR);
-ATOM        WINAPI GlobalAddAtomW(LPCWSTR);
-#define     GlobalAddAtom WINELIB_NAME_AW(GlobalAddAtom)
-HGLOBAL     WINAPI GlobalAlloc(UINT,SIZE_T);
-SIZE_T      WINAPI GlobalCompact(DWORD);
-ATOM        WINAPI GlobalDeleteAtom(ATOM);
-ATOM        WINAPI GlobalFindAtomA(LPCSTR);
-ATOM        WINAPI GlobalFindAtomW(LPCWSTR);
-#define     GlobalFindAtom WINELIB_NAME_AW(GlobalFindAtom)
-UINT        WINAPI GlobalFlags(HGLOBAL);
-HGLOBAL     WINAPI GlobalFree(HGLOBAL);
-UINT        WINAPI GlobalGetAtomNameA(ATOM,LPSTR,INT);
-UINT        WINAPI GlobalGetAtomNameW(ATOM,LPWSTR,INT);
-#define     GlobalGetAtomName WINELIB_NAME_AW(GlobalGetAtomName)
-HGLOBAL     WINAPI GlobalHandle(LPCVOID);
-VOID        WINAPI GlobalFix(HGLOBAL);
-LPVOID      WINAPI GlobalLock(HGLOBAL);
-HGLOBAL     WINAPI GlobalReAlloc(HGLOBAL,SIZE_T,UINT);
-SIZE_T      WINAPI GlobalSize(HGLOBAL);
-VOID        WINAPI GlobalUnfix(HGLOBAL);
-BOOL        WINAPI GlobalUnlock(HGLOBAL);
-BOOL        WINAPI GlobalUnWire(HGLOBAL);
-LPVOID      WINAPI GlobalWire(HGLOBAL);
-#define     HasOverlappedCompleted(lpOverlapped) ((lpOverlapped)->Internal != STATUS_PENDING)
-BOOL        WINAPI InitAtomTable(DWORD);
-BOOL        WINAPI IsBadCodePtr(FARPROC);
-BOOL        WINAPI IsBadHugeReadPtr(LPCVOID,UINT);
-BOOL        WINAPI IsBadHugeWritePtr(LPVOID,UINT);
-BOOL        WINAPI IsBadReadPtr(LPCVOID,UINT);
-BOOL        WINAPI IsBadStringPtrA(LPCSTR,UINT);
-BOOL        WINAPI IsBadStringPtrW(LPCWSTR,UINT);
-#define     IsBadStringPtr WINELIB_NAME_AW(IsBadStringPtr)
-BOOL        WINAPI IsBadWritePtr(LPVOID,UINT);
-BOOL        WINAPI IsDebuggerPresent(void);
-HMODULE     WINAPI LoadLibraryA(LPCSTR);
-HMODULE     WINAPI LoadLibraryW(LPCWSTR);
-#define     LoadLibrary WINELIB_NAME_AW(LoadLibrary)
-HMODULE     WINAPI LoadLibraryExA(LPCSTR,HANDLE,DWORD);
-HMODULE     WINAPI LoadLibraryExW(LPCWSTR,HANDLE,DWORD);
-#define     LoadLibraryEx WINELIB_NAME_AW(LoadLibraryEx)
-HINSTANCE   WINAPI LoadModule(LPCSTR,LPVOID);
-HGLOBAL     WINAPI LoadResource(HMODULE,HRSRC);
-HLOCAL      WINAPI LocalAlloc(UINT,SIZE_T);
-SIZE_T      WINAPI LocalCompact(UINT);
-UINT        WINAPI LocalFlags(HLOCAL);
-HLOCAL      WINAPI LocalFree(HLOCAL);
-HLOCAL      WINAPI LocalHandle(LPCVOID);
-LPVOID      WINAPI LocalLock(HLOCAL);
-HLOCAL      WINAPI LocalReAlloc(HLOCAL,SIZE_T,UINT);
-SIZE_T      WINAPI LocalShrink(HGLOBAL,UINT);
-SIZE_T      WINAPI LocalSize(HLOCAL);
-BOOL        WINAPI LocalUnlock(HLOCAL);
-LPVOID      WINAPI LockResource(HGLOBAL);
-#define     LockSegment(handle) GlobalFix((HANDLE)(handle))
-#define     MakeProcInstance(proc,inst) (proc)
-HFILE       WINAPI OpenFile(LPCSTR,OFSTRUCT*,UINT);
-VOID        WINAPI OutputDebugStringA(LPCSTR);
-VOID        WINAPI OutputDebugStringW(LPCWSTR);
-#define     OutputDebugString WINELIB_NAME_AW(OutputDebugString)
-BOOL        WINAPI ReadProcessMemory(HANDLE,LPCVOID,LPVOID,SIZE_T,SIZE_T*);
-BOOL        WINAPI ReplaceFileA(LPCSTR,LPCSTR,LPCSTR,DWORD,LPVOID,LPVOID);
-BOOL        WINAPI ReplaceFileW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,LPVOID,LPVOID);
-#define     ReplaceFile WINELIB_NAME_AW(ReplaceFile)
-BOOL        WINAPI RemoveDirectoryA(LPCSTR);
-BOOL        WINAPI RemoveDirectoryW(LPCWSTR);
-#define     RemoveDirectory WINELIB_NAME_AW(RemoveDirectory)
-BOOL        WINAPI SetCurrentDirectoryA(LPCSTR);
-BOOL        WINAPI SetCurrentDirectoryW(LPCWSTR);
-#define     SetCurrentDirectory WINELIB_NAME_AW(SetCurrentDirectory)
-UINT        WINAPI SetErrorMode(UINT);
-BOOL        WINAPI SetFileAttributesA(LPCSTR,DWORD);
-BOOL        WINAPI SetFileAttributesW(LPCWSTR,DWORD);
-#define     SetFileAttributes WINELIB_NAME_AW(SetFileAttributes)
-UINT        WINAPI SetHandleCount(UINT);
-#define     SetSwapAreaSize(w) (w)
-BOOL        WINAPI SetVolumeLabelA(LPCSTR,LPCSTR);
-BOOL        WINAPI SetVolumeLabelW(LPCWSTR,LPCWSTR);
-#define     SetVolumeLabel WINELIB_NAME_AW(SetVolumeLabel)
-DWORD       WINAPI SizeofResource(HMODULE,HRSRC);
-#define     UnlockSegment(handle) GlobalUnfix((HANDLE)(handle))
-UINT        WINAPI WinExec(LPCSTR,UINT);
 BOOL        WINAPI WritePrivateProfileSectionA(LPCSTR,LPCSTR,LPCSTR);
 BOOL        WINAPI WritePrivateProfileSectionW(LPCWSTR,LPCWSTR,LPCWSTR);
 #define     WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
 BOOL        WINAPI WritePrivateProfileStringA(LPCSTR,LPCSTR,LPCSTR,LPCSTR);
 BOOL        WINAPI WritePrivateProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
 #define     WritePrivateProfileString WINELIB_NAME_AW(WritePrivateProfileString)
-BOOL        WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
-BOOL        WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
-#define     WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
 BOOL        WINAPI WritePrivateProfileStructA(LPCSTR,LPCSTR,LPVOID,UINT,LPCSTR);
 BOOL        WINAPI WritePrivateProfileStructW(LPCWSTR,LPCWSTR,LPVOID,UINT,LPCWSTR);
 #define     WritePrivateProfileStruct WINELIB_NAME_AW(WritePrivateProfileStruct)
 BOOL        WINAPI WriteProcessMemory(HANDLE,LPVOID,LPCVOID,SIZE_T,SIZE_T*);
+BOOL        WINAPI WriteProfileSectionA(LPCSTR,LPCSTR);
+BOOL        WINAPI WriteProfileSectionW(LPCWSTR,LPCWSTR);
+#define     WritePrivateProfileSection WINELIB_NAME_AW(WritePrivateProfileSection)
 BOOL        WINAPI WriteProfileStringA(LPCSTR,LPCSTR,LPCSTR);
 BOOL        WINAPI WriteProfileStringW(LPCWSTR,LPCWSTR,LPCWSTR);
 #define     WriteProfileString WINELIB_NAME_AW(WriteProfileString)
+DWORD       WINAPI WriteTapemark(HANDLE,DWORD,DWORD,BOOL);
 #define     Yield()
+BOOL        WINAPI ZombifyActCtx(HANDLE);
 
 LPSTR       WINAPI lstrcatA(LPSTR,LPCSTR);
 LPWSTR      WINAPI lstrcatW(LPWSTR,LPCWSTR);
@@ -2153,7 +2166,6 @@ DWORD       WINAPI MapLS(LPCVOID);
 LPVOID      WINAPI MapSL(DWORD);
 VOID        WINAPI ReleaseThunkLock(DWORD*);
 VOID        WINAPI RestoreThunkLock(DWORD);
-void        WINAPI SetProcessDword(DWORD,INT,DWORD);
 VOID        WINAPI UnMapLS(DWORD);
 HFILE       WINAPI Win32HandleToDosFileHandle(HANDLE);
 VOID        WINAPI _CheckNotSysLevel(SYSLEVEL *lock);
@@ -2166,14 +2178,15 @@ VOID        WINAPI _LeaveSysLevel(SYSLEVEL*);
 /* Wine internal functions */
 
 extern char *wine_get_unix_file_name( LPCWSTR dos );
+extern WCHAR *wine_get_dos_file_name( LPCSTR str );
 
 
 /* a few optimizations for i386/gcc */
 
 #if defined(__i386__) && defined(__GNUC__) && defined(__WINESRC__) && !defined(_NTSYSTEM_)
 
-extern inline LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare );
-extern inline LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LONG compare )
+extern inline LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare );
+extern inline LONG WINAPI InterlockedCompareExchange( LONG volatile *dest, LONG xchg, LONG compare )
 {
     LONG ret;
     __asm__ __volatile__( "lock; cmpxchgl %2,(%1)"
@@ -2181,8 +2194,8 @@ extern inline LONG WINAPI InterlockedCompareExchange( PLONG dest, LONG xchg, LON
     return ret;
 }
 
-extern inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val );
-extern inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val )
+extern inline LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val );
+extern inline LONG WINAPI InterlockedExchange( LONG volatile *dest, LONG val )
 {
     LONG ret;
     __asm__ __volatile__( "lock; xchgl %0,(%1)"
@@ -2190,8 +2203,8 @@ extern inline LONG WINAPI InterlockedExchange( PLONG dest, LONG val )
     return ret;
 }
 
-extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr );
-extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr )
+extern inline LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr );
+extern inline LONG WINAPI InterlockedExchangeAdd( LONG volatile *dest, LONG incr )
 {
     LONG ret;
     __asm__ __volatile__( "lock; xaddl %0,(%1)"
@@ -2199,14 +2212,14 @@ extern inline LONG WINAPI InterlockedExchangeAdd( PLONG dest, LONG incr )
     return ret;
 }
 
-extern inline LONG WINAPI InterlockedIncrement( PLONG dest );
-extern inline LONG WINAPI InterlockedIncrement( PLONG dest )
+extern inline LONG WINAPI InterlockedIncrement( LONG volatile *dest );
+extern inline LONG WINAPI InterlockedIncrement( LONG volatile *dest )
 {
     return InterlockedExchangeAdd( dest, 1 ) + 1;
 }
 
-extern inline LONG WINAPI InterlockedDecrement( PLONG dest );
-extern inline LONG WINAPI InterlockedDecrement( PLONG dest )
+extern inline LONG WINAPI InterlockedDecrement( LONG volatile *dest );
+extern inline LONG WINAPI InterlockedDecrement( LONG volatile *dest )
 {
     return InterlockedExchangeAdd( dest, -1 ) - 1;
 }
@@ -2255,24 +2268,37 @@ DWORD       WINAPI GetCurrentProcessId(void);
 DWORD       WINAPI GetCurrentThreadId(void);
 DWORD       WINAPI GetLastError(void);
 HANDLE      WINAPI GetProcessHeap(void);
-LONG        WINAPI InterlockedCompareExchange(LONG*,LONG,LONG);
-LONG        WINAPI InterlockedDecrement(PLONG);
-LONG        WINAPI InterlockedExchange(PLONG,LONG);
-LONG        WINAPI InterlockedExchangeAdd(PLONG,LONG);
-LONG        WINAPI InterlockedIncrement(PLONG);
+LONG        WINAPI InterlockedCompareExchange(LONG volatile*,LONG,LONG);
+LONG        WINAPI InterlockedDecrement(LONG volatile*);
+LONG        WINAPI InterlockedExchange(LONG volatile*,LONG);
+LONG        WINAPI InterlockedExchangeAdd(LONG volatile*,LONG);
+LONG        WINAPI InterlockedIncrement(LONG volatile*);
 VOID        WINAPI SetLastError(DWORD);
 
 #endif  /* __i386__ && __GNUC__ && __WINESRC__ && !_NTSYSTEM_ */
 
-/* FIXME: should handle platforms where sizeof(void*) != sizeof(long) */
-static inline PVOID WINAPI InterlockedCompareExchangePointer( PVOID *dest, PVOID xchg, PVOID compare )
+static inline PVOID WINAPI InterlockedCompareExchangePointer( PVOID volatile *dest, PVOID xchg, PVOID compare )
 {
-    return (PVOID)InterlockedCompareExchange( (PLONG)dest, (LONG)xchg, (LONG)compare );
+#if defined(__x86_64__) && defined(__GNUC__)
+    PVOID ret;
+    __asm__ __volatile__( "lock; cmpxchgq %2,(%1)"
+                          : "=a" (ret) : "r" (dest), "r" (xchg), "0" (compare) : "memory" );
+    return ret;
+#else
+    return (PVOID)InterlockedCompareExchange( (LONG volatile*)dest, (LONG)xchg, (LONG)compare );
+#endif
 }
 
-static inline PVOID WINAPI InterlockedExchangePointer( PVOID *dest, PVOID val )
+static inline PVOID WINAPI InterlockedExchangePointer( PVOID volatile *dest, PVOID val )
 {
-    return (PVOID)InterlockedExchange( (PLONG)dest, (LONG)val );
+#if defined(__x86_64__) && defined(__GNUC__)
+    PVOID ret;
+    __asm__ __volatile__( "lock; xchgq %0,(%1)"
+                          : "=r" (ret) :"r" (dest), "0" (val) : "memory" );
+    return ret;
+#else
+    return (PVOID)InterlockedExchange( (LONG volatile*)dest, (LONG)val );
+#endif
 }
 
 #ifdef __WINESRC__