diff --git a/dlls/wininet/ftp.c b/dlls/wininet/ftp.c index 8161f01be36..6f84a717a9e 100644 --- a/dlls/wininet/ftp.c +++ b/dlls/wininet/ftp.c @@ -1233,6 +1233,15 @@ lend: return bSuccess; } +DWORD WINAPI FtpGetFileSize( HINTERNET hFile, LPDWORD lpdwFileSizeHigh ) +{ + FIXME("(%p, %p)\n", hFile, lpdwFileSizeHigh); + + if (lpdwFileSizeHigh) + *lpdwFileSizeHigh = 0; + + return 0; +} /*********************************************************************** * FtpDeleteFileA (WININET.@) @@ -1602,6 +1611,23 @@ lend: return bSuccess; } +BOOL WINAPI FtpCommandA( HINTERNET hConnect, BOOL fExpectResponse, DWORD dwFlags, + LPCSTR lpszCommand, DWORD_PTR dwContext, HINTERNET* phFtpCommand ) +{ + FIXME("%p %d 0x%08lx %s 0x%08lx %p\n", hConnect, fExpectResponse, dwFlags, + debugstr_a(lpszCommand), dwContext, phFtpCommand); + + return TRUE; +} + +BOOL WINAPI FtpCommandW( HINTERNET hConnect, BOOL fExpectResponse, DWORD dwFlags, + LPCWSTR lpszCommand, DWORD_PTR dwContext, HINTERNET* phFtpCommand ) +{ + FIXME("%p %d 0x%08lx %s 0x%08lx %p\n", hConnect, fExpectResponse, dwFlags, + debugstr_w(lpszCommand), dwContext, phFtpCommand); + + return TRUE; +} /*********************************************************************** * FTP_Connect (internal) @@ -1623,7 +1649,8 @@ HINTERNET FTP_Connect(LPWININETAPPINFOW hIC, LPCWSTR lpszServerName, static const WCHAR szDefaultPassword[] = {'u','s','e','r','@','s','e','r','v','e','r','\0'}; struct sockaddr_in socketAddr; struct hostent *phe = NULL; - INT nsocket = -1, sock_namelen; + INT nsocket = -1; + UINT sock_namelen; BOOL bSuccess = FALSE; LPWININETFTPSESSIONW lpwfs = NULL; HINTERNET handle = NULL; diff --git a/dlls/wininet/http.c b/dlls/wininet/http.c index 4369d4fbc60..294e29a588c 100644 --- a/dlls/wininet/http.c +++ b/dlls/wininet/http.c @@ -1204,6 +1204,22 @@ BOOL WINAPI HttpSendRequestExA(HINTERNET hRequest, return FALSE; } +/*********************************************************************** + * HttpSendRequestExW (WININET.@) + * + * Sends the specified request to the HTTP server and allows chunked + * transfers + */ +BOOL WINAPI HttpSendRequestExW(HINTERNET hRequest, + LPINTERNET_BUFFERSW lpBuffersIn, + LPINTERNET_BUFFERSW lpBuffersOut, + DWORD dwFlags, DWORD dwContext) +{ + FIXME("(%p, %p, %p, %08lx, %08lx): stub\n", hRequest, lpBuffersIn, + lpBuffersOut, dwFlags, dwContext); + return FALSE; +} + /*********************************************************************** * HttpSendRequestW (WININET.@) * diff --git a/dlls/wininet/internet.c b/dlls/wininet/internet.c index c6318263923..662de3c7422 100644 --- a/dlls/wininet/internet.c +++ b/dlls/wininet/internet.c @@ -600,8 +600,8 @@ BOOL WINAPI InternetGetLastResponseInfoA(LPDWORD lpdwError, *lpdwError = lpwite->dwError; if (lpwite->dwError) { - strncpy(lpszBuffer, lpwite->response, *lpdwBufferLength); - *lpdwBufferLength = strlen(lpszBuffer); + memcpy(lpszBuffer, lpwite->response, *lpdwBufferLength); + *lpdwBufferLength = strlen(lpszBuffer); } else *lpdwBufferLength = 0; @@ -609,6 +609,34 @@ BOOL WINAPI InternetGetLastResponseInfoA(LPDWORD lpdwError, return TRUE; } +/*********************************************************************** + * InternetGetLastResponseInfoW (WININET.@) + * + * Return last wininet error description on the calling thread + * + * RETURNS + * TRUE on success of writing to buffer + * FALSE on failure + * + */ +BOOL WINAPI InternetGetLastResponseInfoW(LPDWORD lpdwError, + LPWSTR lpszBuffer, LPDWORD lpdwBufferLength) +{ + LPWITHREADERROR lpwite = (LPWITHREADERROR)TlsGetValue(g_dwTlsErrIndex); + + TRACE("\n"); + + *lpdwError = lpwite->dwError; + if (lpwite->dwError) + { + memcpy(lpszBuffer, lpwite->response, *lpdwBufferLength); + *lpdwBufferLength = lstrlenW(lpszBuffer); + } + else + *lpdwBufferLength = 0; + + return TRUE; +} /*********************************************************************** * InternetGetConnectedState (WININET.@) @@ -2127,14 +2155,14 @@ BOOL WINAPI InternetTimeToSystemTimeW( LPCWSTR string, SYSTEMTIME* time, DWORD r */ while (*s && !isalphaW( *s )) s++; - if (*s == '\0' || *(s + 1) == '\0' || *(s + 2) == '\0') return FALSE; + if (s[0] == '\0' || s[1] == '\0' || s[2] == '\0') return FALSE; time->wDayOfWeek = 7; for (i = 0; i < 7; i++) { - if (toupperW( WININET_wkday[i][0] ) == toupperW( *s ) && - toupperW( WININET_wkday[i][1] ) == toupperW( *(s + 1) ) && - toupperW( WININET_wkday[i][2] ) == toupperW( *(s + 2) ) ) + if (toupperW( WININET_wkday[i][0] ) == toupperW( s[0] ) && + toupperW( WININET_wkday[i][1] ) == toupperW( s[1] ) && + toupperW( WININET_wkday[i][2] ) == toupperW( s[2] ) ) { time->wDayOfWeek = i; break; @@ -2146,14 +2174,14 @@ BOOL WINAPI InternetTimeToSystemTimeW( LPCWSTR string, SYSTEMTIME* time, DWORD r time->wDay = strtolW( s, &s, 10 ); while (*s && !isalphaW( *s )) s++; - if (*s == '\0' || *(s + 1) == '\0' || *(s + 2) == '\0') return FALSE; + if (s[0] == '\0' || s[1] == '\0' || s[2] == '\0') return FALSE; time->wMonth = 0; for (i = 0; i < 12; i++) { - if (toupperW( WININET_month[i][0]) == toupperW( *s ) && - toupperW( WININET_month[i][1]) == toupperW( *(s + 1) ) && - toupperW( WININET_month[i][2]) == toupperW( *(s + 2) ) ) + if (toupperW( WININET_month[i][0]) == toupperW( s[0] ) && + toupperW( WININET_month[i][1]) == toupperW( s[1] ) && + toupperW( WININET_month[i][2]) == toupperW( s[2] ) ) { time->wMonth = i + 1; break; @@ -3153,6 +3181,148 @@ BOOL WINAPI InternetCreateUrlA(LPURL_COMPONENTSA lpUrlComponents, DWORD dwFlags, return FALSE; } +DWORD WINAPI InternetConfirmZoneCrossingA( HWND hWnd, LPSTR szUrlPrev, LPSTR szUrlNew, BOOL bPost ) +{ + FIXME("(%p, %s, %s, %x) stub\n", hWnd, debugstr_a(szUrlPrev), debugstr_a(szUrlNew), bPost); + return ERROR_SUCCESS; +} + +DWORD WINAPI InternetConfirmZoneCrossingW( HWND hWnd, LPWSTR szUrlPrev, LPWSTR szUrlNew, BOOL bPost ) +{ + FIXME("(%p, %s, %s, %x) stub\n", hWnd, debugstr_w(szUrlPrev), debugstr_w(szUrlNew), bPost); + return ERROR_SUCCESS; +} + +DWORD WINAPI InternetDialA( HWND hwndParent, LPSTR lpszConnectoid, DWORD dwFlags, + LPDWORD lpdwConnection, DWORD dwReserved ) +{ + FIXME("(%p, %p, 0x%08lx, %p, 0x%08lx) stub\n", hwndParent, lpszConnectoid, dwFlags, + lpdwConnection, dwReserved); + return ERROR_SUCCESS; +} + +DWORD WINAPI InternetDialW( HWND hwndParent, LPWSTR lpszConnectoid, DWORD dwFlags, + LPDWORD lpdwConnection, DWORD dwReserved ) +{ + FIXME("(%p, %p, 0x%08lx, %p, 0x%08lx) stub\n", hwndParent, lpszConnectoid, dwFlags, + lpdwConnection, dwReserved); + return ERROR_SUCCESS; +} + +BOOL WINAPI InternetGoOnlineA( LPSTR lpszURL, HWND hwndParent, DWORD dwReserved ) +{ + FIXME("(%s, %p, 0x%08lx) stub\n", debugstr_a(lpszURL), hwndParent, dwReserved); + return TRUE; +} + +BOOL WINAPI InternetGoOnlineW( LPWSTR lpszURL, HWND hwndParent, DWORD dwReserved ) +{ + FIXME("(%s, %p, 0x%08lx) stub\n", debugstr_w(lpszURL), hwndParent, dwReserved); + return TRUE; +} + +DWORD WINAPI InternetHangUp( DWORD dwConnection, DWORD dwReserved ) +{ + FIXME("(0x%08lx, 0x%08lx) stub\n", dwConnection, dwReserved); + return ERROR_SUCCESS; +} + +BOOL WINAPI CreateMD5SSOHash( PWSTR pszChallengeInfo, PWSTR pwszRealm, PWSTR pwszTarget, + PBYTE pbHexHash ) +{ + FIXME("(%s, %s, %s, %p) stub\n", debugstr_w(pszChallengeInfo), debugstr_w(pwszRealm), + debugstr_w(pwszTarget), pbHexHash); + return FALSE; +} + +BOOL WINAPI InternetClearAllPerSiteCookieDecisions( VOID ) +{ + FIXME("stub\n"); + return TRUE; +} + +BOOL WINAPI InternetEnumPerSiteCookieDecisionA( LPSTR pszSiteName, unsigned long *pcSiteNameSize, + unsigned long *pdwDecision, unsigned long dwIndex ) +{ + FIXME("(%s, %p, %p, 0x%08lx) stub\n", + debugstr_a(pszSiteName), pcSiteNameSize, pdwDecision, dwIndex); + return FALSE; +} + +BOOL WINAPI InternetEnumPerSiteCookieDecisionW( LPWSTR pszSiteName, unsigned long *pcSiteNameSize, + unsigned long *pdwDecision, unsigned long dwIndex ) +{ + FIXME("(%s, %p, %p, 0x%08lx) stub\n", + debugstr_w(pszSiteName), pcSiteNameSize, pdwDecision, dwIndex); + return FALSE; +} + +BOOL WINAPI InternetGetCookieExA( LPCSTR pchURL, LPCSTR pchCookieName, LPSTR pchCookieData, + LPDWORD pcchCookieData, DWORD dwFlags, LPVOID lpReserved) +{ + FIXME("(%s, %s, %s, %p, 0x%08lx, %p) stub\n", + debugstr_a(pchURL), debugstr_a(pchCookieName), debugstr_a(pchCookieData), + pcchCookieData, dwFlags, lpReserved); + return FALSE; +} + +BOOL WINAPI InternetGetCookieExW( LPCWSTR pchURL, LPCWSTR pchCookieName, LPWSTR pchCookieData, + LPDWORD pcchCookieData, DWORD dwFlags, LPVOID lpReserved) +{ + FIXME("(%s, %s, %s, %p, 0x%08lx, %p) stub\n", + debugstr_w(pchURL), debugstr_w(pchCookieName), debugstr_w(pchCookieData), + pcchCookieData, dwFlags, lpReserved); + return FALSE; +} + +BOOL WINAPI InternetGetPerSiteCookieDecisionA( LPCSTR pwchHostName, unsigned long *pResult ) +{ + FIXME("(%s, %p) stub\n", debugstr_a(pwchHostName), pResult); + return FALSE; +} + +BOOL WINAPI InternetGetPerSiteCookieDecisionW( LPCWSTR pwchHostName, unsigned long *pResult ) +{ + FIXME("(%s, %p) stub\n", debugstr_w(pwchHostName), pResult); + return FALSE; +} + +BOOL WINAPI InternetSetPerSiteCookieDecisionA( LPCSTR pchHostName, DWORD dwDecision ) +{ + FIXME("(%s, 0x%08lx) stub\n", debugstr_a(pchHostName), dwDecision); + return FALSE; +} + +BOOL WINAPI InternetSetPerSiteCookieDecisionW( LPCWSTR pchHostName, DWORD dwDecision ) +{ + FIXME("(%s, 0x%08lx) stub\n", debugstr_w(pchHostName), dwDecision); + return FALSE; +} + +DWORD WINAPI InternetSetCookieExA( LPCSTR lpszURL, LPCSTR lpszCookieName, LPCSTR lpszCookieData, + DWORD dwFlags, DWORD_PTR dwReserved) +{ + FIXME("(%s, %s, %s, 0x%08lx, 0x%08lx) stub\n", + debugstr_a(lpszURL), debugstr_a(lpszCookieName), debugstr_a(lpszCookieData), + dwFlags, dwReserved); + return TRUE; +} + +DWORD WINAPI InternetSetCookieExW( LPCWSTR lpszURL, LPCWSTR lpszCookieName, LPCWSTR lpszCookieData, + DWORD dwFlags, DWORD_PTR dwReserved) +{ + FIXME("(%s, %s, %s, 0x%08lx, 0x%08lx) stub\n", + debugstr_w(lpszURL), debugstr_w(lpszCookieName), debugstr_w(lpszCookieData), + dwFlags, dwReserved); + return TRUE; +} + +BOOL WINAPI ResumeSuspendedDownload( HINTERNET hInternet, DWORD dwError ) +{ + FIXME("(%p, 0x%08lx) stub\n", hInternet, dwError); + return FALSE; +} + /*********************************************************************** * * InternetCreateUrlW diff --git a/dlls/wininet/urlcache.c b/dlls/wininet/urlcache.c index 2a110507116..6a6037d7029 100644 --- a/dlls/wininet/urlcache.c +++ b/dlls/wininet/urlcache.c @@ -777,7 +777,7 @@ static BOOL URLCache_CopyEntry( if (*lpdwBufferSize >= dwRequiredSize) { - lpCacheEntryInfo->lpHeaderInfo = (LPSTR)lpCacheEntryInfo + dwRequiredSize - pUrlEntry->dwHeaderInfoSize - 1; + lpCacheEntryInfo->lpHeaderInfo = (LPBYTE)lpCacheEntryInfo + dwRequiredSize - pUrlEntry->dwHeaderInfoSize - 1; memcpy(lpCacheEntryInfo->lpHeaderInfo, (LPSTR)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo, pUrlEntry->dwHeaderInfoSize); ((LPBYTE)lpCacheEntryInfo)[dwRequiredSize - 1] = '\0'; } @@ -1163,7 +1163,7 @@ BOOL WINAPI GetUrlCacheEntryInfoA( pUrlEntry = (URL_CACHEFILE_ENTRY *)pEntry; TRACE("Found URL: %s\n", debugstr_a(pUrlEntry->szSourceUrlName)); if (pUrlEntry->dwOffsetHeaderInfo) - TRACE("Header info: %s\n", debugstr_a((LPBYTE)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo)); + TRACE("Header info: %s\n", debugstr_a((LPSTR)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo)); if (!URLCache_CopyEntry( pContainer, @@ -1247,7 +1247,7 @@ BOOL WINAPI GetUrlCacheEntryInfoW(LPCWSTR lpszUrl, pUrlEntry = (URL_CACHEFILE_ENTRY *)pEntry; TRACE("Found URL: %s\n", debugstr_a(pUrlEntry->szSourceUrlName)); - TRACE("Header info: %s\n", debugstr_a((LPBYTE)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo)); + TRACE("Header info: %s\n", debugstr_a((LPSTR)pUrlEntry + pUrlEntry->dwOffsetHeaderInfo)); if (!URLCache_CopyEntry( pContainer, @@ -1486,6 +1486,26 @@ BOOL WINAPI RetrieveUrlCacheEntryFileA( return TRUE; } +/*********************************************************************** + * RetrieveUrlCacheEntryFileW (WININET.@) + * + */ +BOOL WINAPI RetrieveUrlCacheEntryFileW( + IN LPCWSTR lpszUrlName, + OUT LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo, + IN OUT LPDWORD lpdwCacheEntryInfoBufferSize, + IN DWORD dwReserved + ) +{ + TRACE("(%s, %p, %p, 0x%08lx)\n", + debugstr_w(lpszUrlName), + lpCacheEntryInfo, + lpdwCacheEntryInfoBufferSize, + dwReserved); + + return FALSE; +} + /*********************************************************************** * UnlockUrlCacheEntryFileA (WININET.@) * @@ -1549,6 +1569,16 @@ BOOL WINAPI UnlockUrlCacheEntryFileA( return TRUE; } +/*********************************************************************** + * UnlockUrlCacheEntryFileW (WININET.@) + * + */ +BOOL WINAPI UnlockUrlCacheEntryFileW( LPCWSTR lpszUrlName, DWORD dwReserved ) +{ + FIXME("(%s, 0x%08lx)\n", debugstr_w(lpszUrlName), dwReserved); + return TRUE; +} + /*********************************************************************** * CreateUrlCacheEntryA (WININET.@) * @@ -1674,6 +1704,28 @@ BOOL WINAPI CreateUrlCacheEntryA( return FALSE; } +/*********************************************************************** + * CreateUrlCacheEntryW (WININET.@) + * + */ +BOOL WINAPI CreateUrlCacheEntryW( + IN LPCWSTR lpszUrlName, + IN DWORD dwExpectedFileSize, + IN LPCWSTR lpszFileExtension, + OUT LPWSTR lpszFileName, + IN DWORD dwReserved +) +{ + FIXME("(%s, 0x%08lx, %s, %p, 0x%08lx) stub\n", + debugstr_w(lpszUrlName), + dwExpectedFileSize, + debugstr_w(lpszFileExtension), + lpszFileName, + dwReserved); + + return TRUE; +} + /*********************************************************************** * CommitUrlCacheEntryA (WININET.@) * @@ -1707,7 +1759,7 @@ BOOL WINAPI CommitUrlCacheEntryA( CacheEntryType, lpHeaderInfo, dwHeaderSize, - lpszFileExtension, + debugstr_a(lpszFileExtension), dwReserved); if (dwReserved) @@ -1881,6 +1933,38 @@ BOOL WINAPI CommitUrlCacheEntryA( return TRUE; } +/*********************************************************************** + * CommitUrlCacheEntryW (WININET.@) + * + */ +BOOL WINAPI CommitUrlCacheEntryW( + IN LPCWSTR lpszUrlName, + IN LPCWSTR lpszLocalFileName, + IN FILETIME ExpireTime, + IN FILETIME LastModifiedTime, + IN DWORD CacheEntryType, + IN LPBYTE lpHeaderInfo, + IN DWORD dwHeaderSize, + IN LPCWSTR lpszFileExtension, + IN LPCWSTR dwReserved + ) +{ + FIXME("(%s, %s, ..., ..., %lx, %p, %ld, %s, %p) stub\n", + debugstr_w(lpszUrlName), + debugstr_w(lpszLocalFileName), + CacheEntryType, + lpHeaderInfo, + dwHeaderSize, + debugstr_w(lpszFileExtension), + dwReserved); + + return TRUE; +} + +/*********************************************************************** + * ReadUrlCacheEntryStream (WININET.@) + * + */ BOOL WINAPI ReadUrlCacheEntryStream( IN HANDLE hUrlCacheStream, IN DWORD dwLocation, @@ -1931,14 +2015,17 @@ HANDLE WINAPI RetrieveUrlCacheEntryStreamA( STREAM_HANDLE * pStream; HANDLE hFile; - if (!RetrieveUrlCacheEntryFileA(lpszUrlName, - lpCacheEntryInfo, + TRACE( "(%s, %p, %p, %x, 0x%08lx)\n", debugstr_a(lpszUrlName), lpCacheEntryInfo, + lpdwCacheEntryInfoBufferSize, fRandomRead, dwReserved ); + + if (!RetrieveUrlCacheEntryFileA(lpszUrlName, + lpCacheEntryInfo, lpdwCacheEntryInfoBufferSize, dwReserved)) { return NULL; } - + hFile = CreateFileA(lpCacheEntryInfo->lpszLocalFileName, GENERIC_READ, FILE_SHARE_READ, @@ -1963,6 +2050,23 @@ HANDLE WINAPI RetrieveUrlCacheEntryStreamA( return (HANDLE)pStream; } +/*********************************************************************** + * RetrieveUrlCacheEntryStreamW (WININET.@) + * + */ +HANDLE WINAPI RetrieveUrlCacheEntryStreamW( + IN LPCWSTR lpszUrlName, + OUT LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo, + IN OUT LPDWORD lpdwCacheEntryInfoBufferSize, + IN BOOL fRandomRead, + IN DWORD dwReserved + ) +{ + FIXME( "(%s, %p, %p, %x, 0x%08lx)\n", debugstr_w(lpszUrlName), lpCacheEntryInfo, + lpdwCacheEntryInfoBufferSize, fRandomRead, dwReserved ); + return NULL; +} + /*********************************************************************** * UnlockUrlCacheEntryStream (WININET.@) * @@ -2048,6 +2152,64 @@ BOOL WINAPI DeleteUrlCacheEntryA(LPCSTR lpszUrlName) return TRUE; } +/*********************************************************************** + * DeleteUrlCacheEntryW (WININET.@) + * + */ +BOOL WINAPI DeleteUrlCacheEntryW(LPCWSTR lpszUrlName) +{ + FIXME("(%s) stub\n", debugstr_w(lpszUrlName)); + return TRUE; +} + +/*********************************************************************** + * FindCloseUrlCache (WININET.@) + * + */ +BOOL WINAPI FindCloseUrlCache(HANDLE hEnumHandle) +{ + FIXME("(%p) stub\n", hEnumHandle); + return TRUE; +} + +HANDLE WINAPI FindFirstUrlCacheEntryExA( + LPCSTR lpszUrlSearchPattern, + DWORD dwFlags, + DWORD dwFilter, + GROUPID GroupId, + LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo, + LPDWORD lpdwFirstCacheEntryInfoBufferSize, + LPVOID lpReserved, + LPDWORD pcbReserved2, + LPVOID lpReserved3 +) +{ + FIXME("(%s, 0x%08lx, 0x%08lx, 0x%08lx%08lx, %p, %p, %p, %p, %p) stub\n", debugstr_a(lpszUrlSearchPattern), + dwFlags, dwFilter, (ULONG)(GroupId >> 32), (ULONG)GroupId, lpFirstCacheEntryInfo, + lpdwFirstCacheEntryInfoBufferSize, lpReserved, pcbReserved2,lpReserved3); + SetLastError(ERROR_FILE_NOT_FOUND); + return NULL; +} + +HANDLE WINAPI FindFirstUrlCacheEntryExW( + LPCWSTR lpszUrlSearchPattern, + DWORD dwFlags, + DWORD dwFilter, + GROUPID GroupId, + LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo, + LPDWORD lpdwFirstCacheEntryInfoBufferSize, + LPVOID lpReserved, + LPDWORD pcbReserved2, + LPVOID lpReserved3 +) +{ + FIXME("(%s, 0x%08lx, 0x%08lx, 0x%08lx%08lx, %p, %p, %p, %p, %p) stub\n", debugstr_w(lpszUrlSearchPattern), + dwFlags, dwFilter, (ULONG)(GroupId >> 32), (ULONG)GroupId, lpFirstCacheEntryInfo, + lpdwFirstCacheEntryInfoBufferSize, lpReserved, pcbReserved2,lpReserved3); + SetLastError(ERROR_FILE_NOT_FOUND); + return NULL; +} + /*********************************************************************** * FindFirstUrlCacheEntryA (WININET.@) * @@ -2071,14 +2233,75 @@ INTERNETAPI HANDLE WINAPI FindFirstUrlCacheEntryW(LPCWSTR lpszUrlSearchPattern, return 0; } +HANDLE WINAPI FindFirstUrlCacheGroup( DWORD dwFlags, DWORD dwFilter, LPVOID lpSearchCondition, + DWORD dwSearchCondition, GROUPID* lpGroupId, LPVOID lpReserved ) +{ + FIXME("(0x%08lx, 0x%08lx, %p, 0x%08lx, %p, %p) stub\n", dwFlags, dwFilter, lpSearchCondition, + dwSearchCondition, lpGroupId, lpReserved); + return NULL; +} + +BOOL WINAPI FindNextUrlCacheEntryA( + HANDLE hEnumHandle, + LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo, + LPDWORD lpdwNextCacheEntryInfoBufferSize +) +{ + FIXME("(%p, %p, %p) stub\n", hEnumHandle, lpNextCacheEntryInfo, lpdwNextCacheEntryInfoBufferSize); + return FALSE; +} + +BOOL WINAPI FindNextUrlCacheEntryW( + HANDLE hEnumHandle, + LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo, + LPDWORD lpdwNextCacheEntryInfoBufferSize +) +{ + FIXME("(%p, %p, %p) stub\n", hEnumHandle, lpNextCacheEntryInfo, lpdwNextCacheEntryInfoBufferSize); + return FALSE; +} + +BOOL WINAPI FindNextUrlCacheEntryExA( + HANDLE hEnumHandle, + LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo, + LPDWORD lpdwFirstCacheEntryInfoBufferSize, + LPVOID lpReserved, + LPDWORD pcbReserved2, + LPVOID lpReserved3 +) +{ + FIXME("(%p, %p, %p, %p, %p, %p) stub\n", hEnumHandle, lpFirstCacheEntryInfo, lpdwFirstCacheEntryInfoBufferSize, + lpReserved, pcbReserved2, lpReserved3); + return FALSE; +} + +BOOL WINAPI FindNextUrlCacheEntryExW( + HANDLE hEnumHandle, + LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo, + LPDWORD lpdwFirstCacheEntryInfoBufferSize, + LPVOID lpReserved, + LPDWORD pcbReserved2, + LPVOID lpReserved3 +) +{ + FIXME("(%p, %p, %p, %p, %p, %p) stub\n", hEnumHandle, lpFirstCacheEntryInfo, lpdwFirstCacheEntryInfoBufferSize, + lpReserved, pcbReserved2, lpReserved3); + return FALSE; +} + +BOOL WINAPI FindNextUrlCacheGroup( HANDLE hFind, GROUPID* lpGroupId, LPVOID lpReserved ) +{ + FIXME("(%p, %p, %p) stub\n", hFind, lpGroupId, lpReserved); + return FALSE; +} + /*********************************************************************** * CreateUrlCacheGroup (WININET.@) * */ -INTERNETAPI GROUPID WINAPI CreateUrlCacheGroup(DWORD dwFlags, LPVOID -lpReserved) +INTERNETAPI GROUPID WINAPI CreateUrlCacheGroup(DWORD dwFlags, LPVOID lpReserved) { - FIXME("(%lx, %p): stub\n", dwFlags, lpReserved); + FIXME("(0x%08lx, %p): stub\n", dwFlags, lpReserved); return FALSE; } @@ -2088,19 +2311,37 @@ lpReserved) */ BOOL WINAPI DeleteUrlCacheGroup(GROUPID GroupId, DWORD dwFlags, LPVOID lpReserved) { - FIXME("STUB\n"); + FIXME("(0x%08lx%08lx, 0x%08lx, %p) stub\n", + (ULONG)(GroupId >> 32), (ULONG)GroupId, dwFlags, lpReserved); return FALSE; } /*********************************************************************** - * SetUrlCacheEntryGroup (WININET.@) + * SetUrlCacheEntryGroupA (WININET.@) * */ -BOOL WINAPI SetUrlCacheEntryGroup(LPCSTR lpszUrlName, DWORD dwFlags, +BOOL WINAPI SetUrlCacheEntryGroupA(LPCSTR lpszUrlName, DWORD dwFlags, GROUPID GroupId, LPBYTE pbGroupAttributes, DWORD cbGroupAttributes, LPVOID lpReserved) { - FIXME("STUB\n"); + FIXME("(%s, 0x%08lx, 0x%08lx%08lx, %p, 0x%08lx, %p) stub\n", + debugstr_a(lpszUrlName), dwFlags, (ULONG)(GroupId >> 32), (ULONG)GroupId, + pbGroupAttributes, cbGroupAttributes, lpReserved); + SetLastError(ERROR_FILE_NOT_FOUND); + return FALSE; +} + +/*********************************************************************** + * SetUrlCacheEntryGroupW (WININET.@) + * + */ +BOOL WINAPI SetUrlCacheEntryGroupW(LPCWSTR lpszUrlName, DWORD dwFlags, + GROUPID GroupId, LPBYTE pbGroupAttributes, DWORD cbGroupAttributes, + LPVOID lpReserved) +{ + FIXME("(%s, 0x%08lx, 0x%08lx%08lx, %p, 0x%08lx, %p) stub\n", + debugstr_w(lpszUrlName), dwFlags, (ULONG)(GroupId >> 32), (ULONG)GroupId, + pbGroupAttributes, cbGroupAttributes, lpReserved); SetLastError(ERROR_FILE_NOT_FOUND); return FALSE; } @@ -2127,6 +2368,54 @@ BOOL WINAPI GetUrlCacheConfigInfoA(LPDWORD CacheInfo, LPDWORD size, DWORD bitmas return FALSE; } +BOOL WINAPI GetUrlCacheGroupAttributeA( GROUPID gid, DWORD dwFlags, DWORD dwAttributes, + LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo, + LPDWORD lpdwGroupInfo, LPVOID lpReserved ) +{ + FIXME("(0x%08lx%08lx, 0x%08lx, 0x%08lx, %p, %p, %p) stub\n", + (ULONG)(gid >> 32), (ULONG)gid, dwFlags, dwAttributes, lpGroupInfo, + lpdwGroupInfo, lpReserved); + return FALSE; +} + +BOOL WINAPI GetUrlCacheGroupAttributeW( GROUPID gid, DWORD dwFlags, DWORD dwAttributes, + LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo, + LPDWORD lpdwGroupInfo, LPVOID lpReserved ) +{ + FIXME("(0x%08lx%08lx, 0x%08lx, 0x%08lx, %p, %p, %p) stub\n", + (ULONG)(gid >> 32), (ULONG)gid, dwFlags, dwAttributes, lpGroupInfo, + lpdwGroupInfo, lpReserved); + return FALSE; +} + +BOOL WINAPI SetUrlCacheGroupAttributeA( GROUPID gid, DWORD dwFlags, DWORD dwAttributes, + LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo, LPVOID lpReserved ) +{ + FIXME("(0x%08lx%08lx, 0x%08lx, 0x%08lx, %p, %p) stub\n", + (ULONG)(gid >> 32), (ULONG)gid, dwFlags, dwAttributes, lpGroupInfo, lpReserved); + return TRUE; +} + +BOOL WINAPI SetUrlCacheGroupAttributeW( GROUPID gid, DWORD dwFlags, DWORD dwAttributes, + LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo, LPVOID lpReserved ) +{ + FIXME("(0x%08lx%08lx, 0x%08lx, 0x%08lx, %p, %p) stub\n", + (ULONG)(gid >> 32), (ULONG)gid, dwFlags, dwAttributes, lpGroupInfo, lpReserved); + return TRUE; +} + +BOOL WINAPI SetUrlCacheConfigInfoA( LPDWORD lpCacheConfigInfo, DWORD dwFieldControl ) +{ + FIXME("(%p, 0x%08lx) stub\n", lpCacheConfigInfo, dwFieldControl); + return TRUE; +} + +BOOL WINAPI SetUrlCacheConfigInfoW( LPDWORD lpCacheConfigInfo, DWORD dwFieldControl ) +{ + FIXME("(%p, 0x%08lx) stub\n", lpCacheConfigInfo, dwFieldControl); + return TRUE; +} + /*********************************************************************** * DeleteIE3Cache (WININET.@) * diff --git a/dlls/wininet/wininet.spec b/dlls/wininet/wininet.spec index 7eb91d2f787..dbbec4dd739 100644 --- a/dlls/wininet/wininet.spec +++ b/dlls/wininet/wininet.spec @@ -19,38 +19,43 @@ @ stdcall InternetInitializeAutoProxyDll(long) @ stub ShowCertificate @ stdcall CommitUrlCacheEntryA(str str long long long long long str long str str) -@ stub CommitUrlCacheEntryW +@ stdcall CommitUrlCacheEntryW(wstr wstr long long long long long wstr long wstr wstr) +@ stdcall CreateMD5SSOHash(wstr wstr wstr ptr) @ stub CreateUrlCacheContainerA @ stub CreateUrlCacheContainerW @ stdcall CreateUrlCacheEntryA(str long str ptr long) -@ stub CreateUrlCacheEntryW +@ stdcall CreateUrlCacheEntryW(wstr long wstr ptr long) @ stdcall CreateUrlCacheGroup(long ptr) @ stdcall DeleteIE3Cache(ptr ptr str long) @ stub DeleteUrlCacheContainerA @ stub DeleteUrlCacheContainerW @ stdcall DeleteUrlCacheEntry(str) DeleteUrlCacheEntryA @ stdcall DeleteUrlCacheEntryA(str) -@ stub DeleteUrlCacheEntryW +@ stdcall DeleteUrlCacheEntryW(wstr) @ stdcall DeleteUrlCacheGroup(double long ptr) @ stdcall DetectAutoProxyUrl(str long long) @ stdcall DllInstall(long ptr) WININET_DllInstall -@ stub FindCloseUrlCache +@ stdcall FindCloseUrlCache(long) @ stub FindFirstUrlCacheContainerA @ stub FindFirstUrlCacheContainerW @ stdcall FindFirstUrlCacheEntryA(str ptr ptr) -@ stub FindFirstUrlCacheEntryExA -@ stub FindFirstUrlCacheEntryExW +@ stdcall FindFirstUrlCacheEntryExA(str long long long ptr ptr ptr ptr ptr) +@ stdcall FindFirstUrlCacheEntryExW(wstr long long long ptr ptr ptr ptr ptr) @ stdcall FindFirstUrlCacheEntryW(wstr ptr ptr) +@ stdcall FindFirstUrlCacheGroup(long long ptr long ptr ptr) @ stub FindNextUrlCacheContainerA @ stub FindNextUrlCacheContainerW -@ stub FindNextUrlCacheEntryA -@ stub FindNextUrlCacheEntryExA -@ stub FindNextUrlCacheEntryExW -@ stub FindNextUrlCacheEntryW +@ stdcall FindNextUrlCacheEntryA(long ptr ptr) +@ stdcall FindNextUrlCacheEntryExA(long ptr ptr ptr ptr ptr) +@ stdcall FindNextUrlCacheEntryExW(long ptr ptr ptr ptr ptr) +@ stdcall FindNextUrlCacheEntryW(long ptr ptr) +@ stdcall FindNextUrlCacheGroup(long ptr ptr) +@ stub ForceNexusLookup +@ stub ForceNexusLookupExW @ stub FreeUrlCacheSpaceA @ stub FreeUrlCacheSpaceW -@ stub FtpCommandA -@ stub FtpCommandW +@ stdcall FtpCommandA(long long long str ptr ptr) +@ stdcall FtpCommandW(long long long wstr ptr ptr) @ stdcall FtpCreateDirectoryA(ptr str) @ stdcall FtpCreateDirectoryW(ptr wstr) @ stdcall FtpDeleteFileA(ptr str) @@ -60,10 +65,13 @@ @ stdcall FtpGetCurrentDirectoryA(ptr str ptr) @ stdcall FtpGetCurrentDirectoryW(ptr wstr ptr) @ stdcall FtpGetFileA(ptr str str long long long long) +@ stub FtpGetFileEx +@ stdcall FtpGetFileSize(long ptr) @ stdcall FtpGetFileW(ptr wstr wstr long long long long) @ stdcall FtpOpenFileA(ptr str long long long) @ stdcall FtpOpenFileW(ptr wstr long long long) @ stdcall FtpPutFileA(ptr str str long long) +@ stub FtpPutFileEx @ stdcall FtpPutFileW(ptr wstr wstr long long) @ stdcall FtpRemoveDirectoryA(ptr str) @ stdcall FtpRemoveDirectoryW(ptr wstr) @@ -77,6 +85,8 @@ @ stdcall GetUrlCacheEntryInfoExA(str ptr ptr str ptr ptr long) @ stdcall GetUrlCacheEntryInfoExW(wstr ptr ptr wstr ptr ptr long) @ stdcall GetUrlCacheEntryInfoW(wstr ptr long) +@ stdcall GetUrlCacheGroupAttributeA(double long long ptr ptr ptr) +@ stdcall GetUrlCacheGroupAttributeW(double long long ptr ptr ptr) @ stub GetUrlCacheHeaderData @ stdcall GopherCreateLocatorA(str long str str long str ptr) @ stdcall GopherCreateLocatorW(wstr long wstr wstr long wstr ptr) @@ -90,6 +100,7 @@ @ stdcall GopherOpenFileW(ptr wstr wstr long long) @ stdcall HttpAddRequestHeadersA(ptr str long long) @ stdcall HttpAddRequestHeadersW(ptr wstr long long) +@ stub HttpCheckDavCompliance @ stdcall HttpEndRequestA(ptr ptr long long) @ stdcall HttpEndRequestW(ptr ptr long long) @ stdcall HttpOpenRequestA(ptr str str str str ptr long long) @@ -98,9 +109,11 @@ @ stdcall HttpQueryInfoW(ptr long ptr ptr ptr) @ stdcall HttpSendRequestA(ptr str long ptr long) @ stdcall HttpSendRequestExA(long ptr ptr long long) -@ stub HttpSendRequestExW +@ stdcall HttpSendRequestExW(long ptr ptr long long) @ stdcall HttpSendRequestW(ptr wstr long ptr long) @ stub IncrementUrlCacheHeaderData +@ stub InternetAlgIdToStringA +@ stub InternetAlgIdToStringW @ stdcall InternetAttemptConnect(long) @ stdcall InternetAutodial(long ptr) @ stub InternetAutodialCallback @@ -109,10 +122,13 @@ @ stdcall InternetCanonicalizeUrlW(wstr wstr ptr long) @ stdcall InternetCheckConnectionA(ptr long long) @ stdcall InternetCheckConnectionW(ptr long long) +@ stdcall InternetClearAllPerSiteCookieDecisions() @ stdcall InternetCloseHandle(long) @ stdcall InternetCombineUrlA(str str str ptr long) @ stdcall InternetCombineUrlW(wstr wstr wstr ptr long) -@ stub InternetConfirmZoneCrossing +@ stdcall InternetConfirmZoneCrossing(long str str long) InternetConfirmZoneCrossingA +@ stdcall InternetConfirmZoneCrossingA(long str str long) +@ stdcall InternetConfirmZoneCrossingW(long wstr wstr long) @ stdcall InternetConnectA(ptr str long str str long long long) @ stdcall InternetConnectW(ptr wstr long wstr wstr long long long) @ stdcall InternetCrackUrlA(str long long ptr) @@ -120,45 +136,69 @@ @ stdcall InternetCreateUrlA(ptr long ptr ptr) @ stdcall InternetCreateUrlW(ptr long ptr ptr) @ stub InternetDebugGetLocalTime -@ stub InternetDial +@ stdcall InternetDial(long str long ptr long) InternetDialA +@ stdcall InternetDialA(long str long ptr long) +@ stdcall InternetDialW(long wstr long ptr long) +@ stdcall InternetEnumPerSiteCookieDecisionA(ptr ptr ptr long) +@ stdcall InternetEnumPerSiteCookieDecisionW(ptr ptr ptr long) @ stdcall InternetErrorDlg(long long long long ptr) @ stdcall InternetFindNextFileA(ptr ptr) @ stdcall InternetFindNextFileW(ptr ptr) +@ stub InternetFortezzaCommand @ stub InternetGetCertByURL +@ stub InternetGetCertByURLA @ stdcall InternetGetConnectedState(ptr long) +@ stdcall InternetGetConnectedStateEx(ptr ptr long long) InternetGetConnectedStateExA @ stdcall InternetGetConnectedStateExA(ptr ptr long long) @ stdcall InternetGetConnectedStateExW(ptr ptr long long) @ stdcall InternetGetCookieA(str str ptr long) +@ stdcall InternetGetCookieExA(str str ptr ptr long ptr) +@ stdcall InternetGetCookieExW(wstr wstr ptr ptr long ptr) @ stdcall InternetGetCookieW(wstr wstr ptr long) -@ stdcall InternetGetLastResponseInfoA(ptr str ptr) -@ stub InternetGetLastResponseInfoW -@ stub InternetGoOnline -@ stub InternetHangUp +@ stdcall InternetGetLastResponseInfoA(ptr ptr ptr) +@ stdcall InternetGetLastResponseInfoW(ptr ptr ptr) +@ stdcall InternetGetPerSiteCookieDecisionA(str ptr) +@ stdcall InternetGetPerSiteCookieDecisionW(wstr ptr) +@ stdcall InternetGoOnline(str long long) InternetGoOnlineA +@ stdcall InternetGoOnlineA(str long long) +@ stdcall InternetGoOnlineW(wstr long long) +@ stdcall InternetHangUp(long long) @ stdcall InternetLockRequestFile(ptr ptr) @ stdcall InternetOpenA(str long str str long) -@ stdcall InternetOpenW(wstr long wstr wstr long) @ stub InternetOpenServerPushParse +@ stdcall InternetOpenW(wstr long wstr wstr long) @ stdcall InternetOpenUrlA(ptr str str long long long) @ stdcall InternetOpenUrlW(ptr wstr wstr long long long) @ stdcall InternetQueryDataAvailable(ptr ptr long long) +@ stub InternetQueryFortezzaStatus @ stdcall InternetQueryOptionA(ptr long ptr ptr) @ stdcall InternetQueryOptionW(ptr long ptr ptr) @ stdcall InternetReadFile(ptr ptr long ptr) @ stdcall InternetReadFileExA(ptr ptr long long) @ stdcall InternetReadFileExW(ptr ptr long long) +@ stub InternetSecurityProtocolToStringA +@ stub InternetSecurityProtocolToStringW @ stub InternetServerPushParse @ stdcall InternetSetCookieA(str str str) +@ stdcall InternetSetCookieExA(str str str long ptr) +@ stdcall InternetSetCookieExW(wstr wstr wstr long ptr) @ stdcall InternetSetCookieW(wstr wstr wstr) @ stub InternetSetDialState +@ stub InternetSetDialStateA +@ stub InternetSetDialStateW @ stdcall InternetSetFilePointer(ptr long ptr long long) @ stdcall InternetSetOptionA(ptr long ptr long) -@ stdcall InternetSetOptionW(ptr long ptr long) @ stdcall InternetSetOptionExA(ptr long ptr long long) @ stdcall InternetSetOptionExW(ptr long ptr long long) +@ stdcall InternetSetOptionW(ptr long ptr long) +@ stdcall InternetSetPerSiteCookieDecisionA(str long) +@ stdcall InternetSetPerSiteCookieDecisionW(wstr long) @ stdcall InternetSetStatusCallback(ptr ptr) InternetSetStatusCallbackA @ stdcall InternetSetStatusCallbackA(ptr ptr) @ stdcall InternetSetStatusCallbackW(ptr ptr) @ stub InternetShowSecurityInfoByURL +@ stub InternetShowSecurityInfoByURLA +@ stub InternetShowSecurityInfoByURLW @ stdcall InternetTimeFromSystemTime(ptr long ptr long) InternetTimeFromSystemTimeA @ stdcall InternetTimeFromSystemTimeA(ptr long ptr long) @ stdcall InternetTimeFromSystemTimeW(ptr long ptr long) @@ -170,25 +210,36 @@ @ stub InternetWriteFileExA @ stub InternetWriteFileExW @ stdcall IsHostInProxyBypassList(long str long) +@ stub IsUrlCacheEntryExpiredA +@ stub IsUrlCacheEntryExpiredW @ stub LoadUrlCacheContent @ stub ParseX509EncodedCertificateForListBoxEntry +@ stub PrivacyGetZonePreferenceW # (long long ptr ptr ptr) +@ stub PrivacySetZonePreferenceW # (long long long wstr) @ stdcall ReadUrlCacheEntryStream(ptr long ptr ptr long) +@ stub RegisterUrlCacheNotification +@ stdcall ResumeSuspendedDownload(long long) @ stdcall RetrieveUrlCacheEntryFileA(str ptr ptr long) -@ stub RetrieveUrlCacheEntryFileW +@ stdcall RetrieveUrlCacheEntryFileW(wstr ptr ptr long) @ stdcall RetrieveUrlCacheEntryStreamA(str ptr ptr long long) -@ stub RetrieveUrlCacheEntryStreamW +@ stdcall RetrieveUrlCacheEntryStreamW(wstr ptr ptr long long) @ stub RunOnceUrlCache -@ stub SetUrlCacheConfigInfoA -@ stub SetUrlCacheConfigInfoW -@ stdcall SetUrlCacheEntryGroup(str long double ptr long ptr) +@ stdcall SetUrlCacheConfigInfoA(ptr long) +@ stdcall SetUrlCacheConfigInfoW(ptr long) +@ stdcall SetUrlCacheEntryGroup(str long double ptr long ptr) SetUrlCacheEntryGroupA +@ stdcall SetUrlCacheEntryGroupA(str long double ptr long ptr) +@ stdcall SetUrlCacheEntryGroupW(wstr long double ptr long ptr) @ stdcall SetUrlCacheEntryInfoA(str ptr long) @ stdcall SetUrlCacheEntryInfoW(wstr ptr long) +@ stdcall SetUrlCacheGroupAttributeA(double long long ptr ptr) +@ stdcall SetUrlCacheGroupAttributeW(double long long ptr ptr) @ stub SetUrlCacheHeaderData @ stub ShowClientAuthCerts @ stub ShowSecurityInfo @ stub ShowX509EncodedCertificate @ stdcall UnlockUrlCacheEntryFile(str long) UnlockUrlCacheEntryFileA @ stdcall UnlockUrlCacheEntryFileA(str long) -@ stub UnlockUrlCacheEntryFileW +@ stdcall UnlockUrlCacheEntryFileW(wstr long) @ stdcall UnlockUrlCacheEntryStream(ptr long) @ stub UpdateUrlCacheContentPath +@ stub UrlZonesDetach diff --git a/include/wininet.h b/include/wininet.h index ed5cb5c74a5..8127d4032b6 100644 --- a/include/wininet.h +++ b/include/wininet.h @@ -281,6 +281,32 @@ typedef struct _INTERNET_BUFFERSW { DECL_WINELIB_TYPE_AW(INTERNET_BUFFERS) DECL_WINELIB_TYPE_AW(LPINTERNET_BUFFERS) +#define GROUP_OWNER_STORAGE_SIZE 4 +#define GROUPNAME_MAX_LENGTH 120 + +typedef struct _INTERNET_CACHE_GROUP_INFOA { + DWORD dwGroupSize; + DWORD dwGroupFlags; + DWORD dwGroupType; + DWORD dwDiskUsage; + DWORD dwDiskQuota; + DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE]; + CHAR szGroupName[GROUPNAME_MAX_LENGTH]; +} INTERNET_CACHE_GROUP_INFOA, * LPINTERNET_CACHE_GROUP_INFOA; + +typedef struct _INTERNET_CACHE_GROUP_INFOW { + DWORD dwGroupSize; + DWORD dwGroupFlags; + DWORD dwGroupType; + DWORD dwDiskUsage; + DWORD dwDiskQuota; + DWORD dwOwnerStorage[GROUP_OWNER_STORAGE_SIZE]; + WCHAR szGroupName[GROUPNAME_MAX_LENGTH]; +} INTERNET_CACHE_GROUP_INFOW, *LPINTERNET_CACHE_GROUP_INFOW; + +DECL_WINELIB_TYPE_AW(INTERNET_CACHE_GROUP_INFO) +DECL_WINELIB_TYPE_AW(LPINTERNET_CACHE_GROUP_INFO) + BOOLAPI InternetTimeFromSystemTimeA(CONST SYSTEMTIME *,DWORD ,LPSTR ,DWORD); BOOLAPI InternetTimeFromSystemTimeW(CONST SYSTEMTIME *,DWORD ,LPWSTR ,DWORD); #define InternetTimeFromSystemTime WINELIB_NAME_AW(InternetTimeFromSystemTime) @@ -1153,6 +1179,28 @@ BOOLAPI HttpQueryInfoA(HINTERNET ,DWORD ,LPVOID lpBuffer ,LPDWORD ,LPDWORD lpdwI BOOLAPI HttpQueryInfoW(HINTERNET ,DWORD ,LPVOID lpBuffer ,LPDWORD ,LPDWORD lpdwIndex); #define HttpQueryInfo WINELIB_NAME_AW(HttpQueryInfo) +BOOLAPI InternetClearAllPerSiteCookieDecisions(VOID); + +BOOLAPI InternetEnumPerSiteCookieDecisionA(LPSTR,unsigned long *,unsigned long *,unsigned long); +BOOLAPI InternetEnumPerSiteCookieDecisionW(LPWSTR,unsigned long *,unsigned long *,unsigned long); +#define InternetEnumPerSiteCookieDecision WINELIB_NAME_AW(InternetEnumPerSiteCookieDecision) + +BOOLAPI InternetGetCookieExA(LPCSTR,LPCSTR,LPSTR,LPDWORD,DWORD,LPVOID); +BOOLAPI InternetGetCookieExW(LPCWSTR,LPCWSTR,LPWSTR,LPDWORD,DWORD,LPVOID); +#define InternetGetCookieEx WINELIB_NAME_AW(InternetGetCookieEx) + +DWORD WINAPI InternetSetCookieExA(LPCSTR,LPCSTR,LPCSTR,DWORD,DWORD_PTR); +DWORD WINAPI InternetSetCookieExW(LPCWSTR,LPCWSTR,LPCWSTR,DWORD,DWORD_PTR); +#define InternetSetCookieEx WINELIB_NAME_AW(InternetSetCookieEx) + +BOOLAPI InternetGetPerSiteCookieDecisionA(LPCSTR,unsigned long *); +BOOLAPI InternetGetPerSiteCookieDecisionW(LPCWSTR,unsigned long *); +#define InternetGetPerSiteCookieDecision WINELIB_NAME_AW(InternetGetPerSiteCookieDecision) + +BOOLAPI InternetSetPerSiteCookieDecisionA(LPCSTR,DWORD); +BOOLAPI InternetSetPerSiteCookieDecisionW(LPCWSTR,DWORD); +#define InternetSetPerSiteCookieDecision WINELIB_NAME_AW(InternetSetPerSiteCookieDecision) + BOOLAPI InternetSetCookieA(LPCSTR ,LPCSTR ,LPCSTR); BOOLAPI InternetSetCookieW(LPCWSTR ,LPCWSTR ,LPCWSTR); #define InternetSetCookie WINELIB_NAME_AW(InternetSetCookie) @@ -1352,14 +1400,22 @@ BOOLAPI CreateUrlCacheEntryW(LPCWSTR ,DWORD ,LPCWSTR ,LPWSTR ,DWORD); #define CreateUrlCacheEntry WINELIB_NAME_AW(CreateUrlCacheEntry) BOOLAPI CommitUrlCacheEntryA(LPCSTR,LPCSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCSTR,LPCSTR); -BOOLAPI CommitUrlCacheEntryW(LPCSTR,LPCWSTR,FILETIME,FILETIME,DWORD,LPWSTR,DWORD,LPCWSTR,LPCWSTR); +BOOLAPI CommitUrlCacheEntryW(LPCWSTR,LPCWSTR,FILETIME,FILETIME,DWORD,LPBYTE,DWORD,LPCWSTR,LPCWSTR); #define CommitUrlCacheEntry WINELIB_NAME_AW(CommitUrlCacheEntry) +BOOLAPI ResumeSuspendedDownload(HINTERNET, DWORD); + BOOLAPI RetrieveUrlCacheEntryFileA(LPCSTR ,LPINTERNET_CACHE_ENTRY_INFOA ,LPDWORD ,DWORD); BOOLAPI RetrieveUrlCacheEntryFileW(LPCWSTR ,LPINTERNET_CACHE_ENTRY_INFOW ,LPDWORD ,DWORD); #define RetrieveUrlCacheEntryFile WINELIB_NAME_AW(RetrieveUrlCacheEntryFile) -BOOLAPI UnlockUrlCacheEntryFile(LPCSTR ,DWORD); +BOOLAPI SetUrlCacheConfigInfoA(LPDWORD,DWORD); +BOOLAPI SetUrlCacheConfigInfoW(LPDWORD,DWORD); +#define SetUrlCacheConfigInfo WINELIB_NAME_AW(SetUrlCacheConfigInfo) + +BOOLAPI UnlockUrlCacheEntryFileA(LPCSTR ,DWORD); +BOOLAPI UnlockUrlCacheEntryFileW(LPCWSTR ,DWORD); +#define UnlockUrlCacheEntryFile WINELIB_NAME_AW(UnlockUrlCacheEntryFile) INTERNETAPI HANDLE WINAPI RetrieveUrlCacheEntryStreamA(LPCSTR , LPINTERNET_CACHE_ENTRY_INFOA , LPDWORD ,BOOL ,DWORD); @@ -1394,13 +1450,27 @@ BOOLAPI SetUrlCacheEntryInfoW(LPCWSTR ,LPINTERNET_CACHE_ENTRY_INFOW ,DWORD); #define SetUrlCacheEntryInfo WINELIB_NAME_AW(SetUrlCacheEntryInfo) typedef LONGLONG GROUPID; -INTERNETAPI GROUPID WINAPI CreateUrlCacheGroup(DWORD ,LPVOID); + +INTERNETAPI GROUPID WINAPI CreateUrlCacheGroup(DWORD,LPVOID); BOOLAPI DeleteUrlCacheGroup(GROUPID ,DWORD ,LPVOID); +INTERNETAPI HANDLE WINAPI FindFirstUrlCacheGroup(DWORD,DWORD,LPVOID,DWORD,GROUPID*,LPVOID); +BOOLAPI FindNextUrlCacheGroup(HANDLE,GROUPID*,LPVOID); + +BOOLAPI GetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPDWORD,LPVOID); +BOOLAPI GetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPDWORD,LPVOID); +#define GetUrlCacheGroupAttribute WINELIB_NAME_AW(GetUrlCacheGroupAttribute) + #define INTERNET_CACHE_GROUP_ADD 0 #define INTERNET_CACHE_GROUP_REMOVE 1 -BOOLAPI SetUrlCacheEntryGroup(LPCSTR ,DWORD ,GROUPID ,LPBYTE ,DWORD ,LPVOID); +BOOLAPI SetUrlCacheEntryGroupA(LPCSTR,DWORD,GROUPID,LPBYTE,DWORD,LPVOID); +BOOLAPI SetUrlCacheEntryGroupW(LPCWSTR,DWORD,GROUPID,LPBYTE,DWORD,LPVOID); +#define SetUrlCacheEntryGroup WINELIB_NAME_AW(SetUrlCacheEntryGroup) + +BOOLAPI SetUrlCacheGroupAttributeA(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOA,LPVOID); +BOOLAPI SetUrlCacheGroupAttributeW(GROUPID,DWORD,DWORD,LPINTERNET_CACHE_GROUP_INFOW,LPVOID); +#define SetUrlCacheGroupAttribute WINELIB_NAME_AW(SetUrlCacheGroupAttribute) INTERNETAPI HANDLE WINAPI FindFirstUrlCacheEntryExA( LPCSTR ,DWORD ,DWORD ,GROUPID ,LPINTERNET_CACHE_ENTRY_INFOA ,LPDWORD ,LPVOID ,LPDWORD ,LPVOID ); @@ -1420,9 +1490,11 @@ BOOLAPI FindNextUrlCacheEntryA(HANDLE ,LPINTERNET_CACHE_ENTRY_INFOA ,LPDWORD); BOOLAPI FindNextUrlCacheEntryW(HANDLE ,LPINTERNET_CACHE_ENTRY_INFOW ,LPDWORD); #define FindNextUrlCacheEntry WINELIB_NAME_AW(FindNextUrlCacheEntry) - BOOLAPI FindCloseUrlCache(HANDLE); -BOOLAPI DeleteUrlCacheEntry(LPCSTR); + +BOOLAPI DeleteUrlCacheEntryA(LPCSTR); +BOOLAPI DeleteUrlCacheEntryW(LPCWSTR); +#define DeleteUrlCacheEntry WINELIB_NAME_AW(DeleteUrlCacheEntry) INTERNETAPI DWORD WINAPI InternetDialA(HWND ,LPSTR ,DWORD ,LPDWORD ,DWORD); INTERNETAPI DWORD WINAPI InternetDialW(HWND ,LPWSTR ,DWORD ,LPDWORD ,DWORD); @@ -1432,6 +1504,7 @@ INTERNETAPI DWORD WINAPI InternetDialW(HWND ,LPWSTR ,DWORD ,LPDWORD ,DWORD); #define INTERNET_DIAL_UNATTENDED 0x8000 INTERNETAPI DWORD WINAPI InternetHangUp(DWORD ,DWORD); +BOOLAPI CreateMD5SSOHash(PWSTR,PWSTR,PWSTR,PBYTE); #define INTERENT_GOONLINE_REFRESH 0x00000001 #define INTERENT_GOONLINE_MASK 0x00000001