Data Structures |
| struct | CACHEFILE_ENTRY |
| struct | URL_CACHEFILE_ENTRY |
| struct | _HASH_ENTRY |
| struct | HASH_CACHEFILE_ENTRY |
| struct | DIRECTORY_DATA |
| struct | LPURLCACHE_HEADER |
| struct | STREAM_HANDLE |
| struct | URLCACHECONTAINER |
| struct | URLCacheFindEntryHandle |
Defines |
| #define | NONAMELESSUNION |
| #define | NONAMELESSSTRUCT |
| #define | ENTRY_START_OFFSET 0x4000 |
| #define | DIR_LENGTH 8 |
| #define | BLOCKSIZE 128 |
| #define | HASHTABLE_SIZE 448 |
| #define | HASHTABLE_BLOCKSIZE 7 |
| #define | HASHTABLE_FREE 3 |
| #define | ALLOCATION_TABLE_OFFSET 0x250 |
| #define | ALLOCATION_TABLE_SIZE (0x1000 - ALLOCATION_TABLE_OFFSET) |
| #define | HASHTABLE_NUM_ENTRIES (HASHTABLE_SIZE / HASHTABLE_BLOCKSIZE) |
| #define | NEWFILE_NUM_BLOCKS 0xd80 |
| #define | NEWFILE_SIZE (NEWFILE_NUM_BLOCKS * BLOCKSIZE + ENTRY_START_OFFSET) |
| #define | DWORD_SIG(a, b, c, d) (a | (b << 8) | (c << 16) | (d << 24)) |
| #define | URL_SIGNATURE DWORD_SIG('U','R','L',' ') |
| #define | REDR_SIGNATURE DWORD_SIG('R','E','D','R') |
| #define | LEAK_SIGNATURE DWORD_SIG('L','E','A','K') |
| #define | HASH_SIGNATURE DWORD_SIG('H','A','S','H') |
| #define | DWORD_ALIGN(x) ( (DWORD)(((DWORD)(x)+sizeof(DWORD)-1)/sizeof(DWORD))*sizeof(DWORD) ) |
| #define | CHAR_BIT (8 * sizeof(CHAR)) |
| #define | URLCACHE_FIND_ENTRY_HANDLE_MAGIC 0xF389ABCD |
Typedefs |
| typedef const URLCACHE_HEADER * | LPCURLCACHE_HEADER |
Functions |
| | WINE_DEFAULT_DEBUG_CHANNEL (wininet) |
| static DWORD | URLCache_CreateHashTable (LPURLCACHE_HEADER pHeader, HASH_CACHEFILE_ENTRY *pPrevHash, HASH_CACHEFILE_ENTRY **ppHash) |
| static void | URLCache_PathToObjectName (LPWSTR lpszPath, WCHAR replace) |
| static DWORD | URLCacheContainer_OpenIndex (URLCACHECONTAINER *pContainer) |
| static void | URLCacheContainer_CloseIndex (URLCACHECONTAINER *pContainer) |
| static BOOL | URLCacheContainers_AddContainer (LPCWSTR cache_prefix, LPCWSTR path, LPWSTR mutex_name) |
| static void | URLCacheContainer_DeleteContainer (URLCACHECONTAINER *pContainer) |
| void | URLCacheContainers_CreateDefaults (void) |
| void | URLCacheContainers_DeleteAll (void) |
| static DWORD | URLCacheContainers_FindContainerW (LPCWSTR lpwszUrl, URLCACHECONTAINER **ppContainer) |
| static DWORD | URLCacheContainers_FindContainerA (LPCSTR lpszUrl, URLCACHECONTAINER **ppContainer) |
| static BOOL | URLCacheContainers_Enum (LPCWSTR lpwszSearchPattern, DWORD dwIndex, URLCACHECONTAINER **ppContainer) |
| static LPURLCACHE_HEADER | URLCacheContainer_LockIndex (URLCACHECONTAINER *pContainer) |
| static BOOL | URLCacheContainer_UnlockIndex (URLCACHECONTAINER *pContainer, LPURLCACHE_HEADER pHeader) |
| static BYTE | URLCache_Allocation_BlockIsFree (BYTE *AllocationTable, DWORD dwBlockNumber) |
| static void | URLCache_Allocation_BlockFree (BYTE *AllocationTable, DWORD dwBlockNumber) |
| static void | URLCache_Allocation_BlockAllocate (BYTE *AllocationTable, DWORD dwBlockNumber) |
| static BOOL | URLCache_FindFirstFreeEntry (URLCACHE_HEADER *pHeader, DWORD dwBlocksNeeded, CACHEFILE_ENTRY **ppEntry) |
| static BOOL | URLCache_DeleteEntry (LPURLCACHE_HEADER pHeader, CACHEFILE_ENTRY *pEntry) |
| static BOOL | URLCache_LocalFileNameToPathW (const URLCACHECONTAINER *pContainer, LPCURLCACHE_HEADER pHeader, LPCSTR szLocalFileName, BYTE Directory, LPWSTR wszPath, LPLONG lpBufferSize) |
| static BOOL | URLCache_LocalFileNameToPathA (const URLCACHECONTAINER *pContainer, LPCURLCACHE_HEADER pHeader, LPCSTR szLocalFileName, BYTE Directory, LPSTR szPath, LPLONG lpBufferSize) |
| static void | URLCache_DosDateTimeToFileTime (WORD fatdate, WORD fattime, FILETIME *ft) |
| static DWORD | URLCache_CopyEntry (URLCACHECONTAINER *pContainer, LPCURLCACHE_HEADER pHeader, LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo, LPDWORD lpdwBufferSize, const URL_CACHEFILE_ENTRY *pUrlEntry, BOOL bUnicode) |
| static void | URLCache_FileTimeToDosDateTime (const FILETIME *ft, WORD *fatdate, WORD *fattime) |
| static DWORD | URLCache_SetEntryInfo (URL_CACHEFILE_ENTRY *pUrlEntry, const INTERNET_CACHE_ENTRY_INFOW *lpCacheEntryInfo, DWORD dwFieldControl) |
| static DWORD | URLCache_HashKey (LPCSTR lpszKey) |
| static HASH_CACHEFILE_ENTRY * | URLCache_HashEntryFromOffset (LPCURLCACHE_HEADER pHeader, DWORD dwOffset) |
| static BOOL | URLCache_IsHashEntryValid (LPCURLCACHE_HEADER pHeader, const HASH_CACHEFILE_ENTRY *pHashEntry) |
| static BOOL | URLCache_FindHash (LPCURLCACHE_HEADER pHeader, LPCSTR lpszUrl, struct _HASH_ENTRY **ppHashEntry) |
| static BOOL | URLCache_FindHashW (LPCURLCACHE_HEADER pHeader, LPCWSTR lpszUrl, struct _HASH_ENTRY **ppHashEntry) |
| static BOOL | URLCache_HashEntrySetUse (struct _HASH_ENTRY *pHashEntry, DWORD dwUseCount) |
| static BOOL | URLCache_DeleteEntryFromHash (struct _HASH_ENTRY *pHashEntry) |
| static DWORD | URLCache_AddEntryToHash (LPURLCACHE_HEADER pHeader, LPCSTR lpszUrl, DWORD dwOffsetEntry) |
| static BOOL | URLCache_EnumHashTables (LPCURLCACHE_HEADER pHeader, DWORD *pdwHashTableNumber, HASH_CACHEFILE_ENTRY **ppHashEntry) |
| static BOOL | URLCache_EnumHashTableEntries (LPCURLCACHE_HEADER pHeader, const HASH_CACHEFILE_ENTRY *pHashEntry, DWORD *index, const struct _HASH_ENTRY **ppHashEntry) |
| static BOOL | URLCache_DeleteCacheDirectory (LPCWSTR lpszPath) |
| BOOL WINAPI | FreeUrlCacheSpaceW (LPCWSTR lpszCachePath, DWORD dwSize, DWORD dwSizeType) |
| BOOL WINAPI | FreeUrlCacheSpaceA (LPCSTR lpszCachePath, DWORD dwSize, DWORD dwSizeType) |
| BOOL WINAPI | GetUrlCacheEntryInfoExA (LPCSTR lpszUrl, LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo, LPDWORD lpdwCacheEntryInfoBufSize, LPSTR lpszReserved, LPDWORD lpdwReserved, LPVOID lpReserved, DWORD dwFlags) |
| BOOL WINAPI | GetUrlCacheEntryInfoA (IN LPCSTR lpszUrlName, IN LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo, IN OUT LPDWORD lpdwCacheEntryInfoBufferSize) |
| BOOL WINAPI | GetUrlCacheEntryInfoW (LPCWSTR lpszUrl, LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo, LPDWORD lpdwCacheEntryInfoBufferSize) |
| BOOL WINAPI | GetUrlCacheEntryInfoExW (LPCWSTR lpszUrl, LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo, LPDWORD lpdwCacheEntryInfoBufSize, LPWSTR lpszReserved, LPDWORD lpdwReserved, LPVOID lpReserved, DWORD dwFlags) |
| BOOL WINAPI | SetUrlCacheEntryInfoA (LPCSTR lpszUrlName, LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo, DWORD dwFieldControl) |
| BOOL WINAPI | SetUrlCacheEntryInfoW (LPCWSTR lpszUrl, LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo, DWORD dwFieldControl) |
| BOOL WINAPI | RetrieveUrlCacheEntryFileA (IN LPCSTR lpszUrlName, OUT LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo, IN OUT LPDWORD lpdwCacheEntryInfoBufferSize, IN DWORD dwReserved) |
| BOOL WINAPI | RetrieveUrlCacheEntryFileW (IN LPCWSTR lpszUrlName, OUT LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo, IN OUT LPDWORD lpdwCacheEntryInfoBufferSize, IN DWORD dwReserved) |
| static BOOL | DeleteUrlCacheEntryInternal (LPURLCACHE_HEADER pHeader, struct _HASH_ENTRY *pHashEntry) |
| BOOL WINAPI | UnlockUrlCacheEntryFileA (IN LPCSTR lpszUrlName, IN DWORD dwReserved) |
| BOOL WINAPI | UnlockUrlCacheEntryFileW (LPCWSTR lpszUrlName, DWORD dwReserved) |
| BOOL WINAPI | CreateUrlCacheEntryA (IN LPCSTR lpszUrlName, IN DWORD dwExpectedFileSize, IN LPCSTR lpszFileExtension, OUT LPSTR lpszFileName, IN DWORD dwReserved) |
| BOOL WINAPI | CreateUrlCacheEntryW (IN LPCWSTR lpszUrlName, IN DWORD dwExpectedFileSize, IN LPCWSTR lpszFileExtension, OUT LPWSTR lpszFileName, IN DWORD dwReserved) |
| static BOOL | CommitUrlCacheEntryInternal (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 lpszOriginalUrl) |
| BOOL WINAPI | CommitUrlCacheEntryA (IN LPCSTR lpszUrlName, IN LPCSTR lpszLocalFileName, IN FILETIME ExpireTime, IN FILETIME LastModifiedTime, IN DWORD CacheEntryType, IN LPBYTE lpHeaderInfo, IN DWORD dwHeaderSize, IN LPCSTR lpszFileExtension, IN LPCSTR lpszOriginalUrl) |
| BOOL WINAPI | CommitUrlCacheEntryW (IN LPCWSTR lpszUrlName, IN LPCWSTR lpszLocalFileName, IN FILETIME ExpireTime, IN FILETIME LastModifiedTime, IN DWORD CacheEntryType, IN LPWSTR lpHeaderInfo, IN DWORD dwHeaderSize, IN LPCWSTR lpszFileExtension, IN LPCWSTR lpszOriginalUrl) |
| BOOL WINAPI | ReadUrlCacheEntryStream (IN HANDLE hUrlCacheStream, IN DWORD dwLocation, IN OUT LPVOID lpBuffer, IN OUT LPDWORD lpdwLen, IN DWORD dwReserved) |
| HANDLE WINAPI | RetrieveUrlCacheEntryStreamA (IN LPCSTR lpszUrlName, OUT LPINTERNET_CACHE_ENTRY_INFOA lpCacheEntryInfo, IN OUT LPDWORD lpdwCacheEntryInfoBufferSize, IN BOOL fRandomRead, IN DWORD dwReserved) |
| HANDLE WINAPI | RetrieveUrlCacheEntryStreamW (IN LPCWSTR lpszUrlName, OUT LPINTERNET_CACHE_ENTRY_INFOW lpCacheEntryInfo, IN OUT LPDWORD lpdwCacheEntryInfoBufferSize, IN BOOL fRandomRead, IN DWORD dwReserved) |
| BOOL WINAPI | UnlockUrlCacheEntryStream (IN HANDLE hUrlCacheStream, IN DWORD dwReserved) |
| BOOL WINAPI | DeleteUrlCacheEntryA (LPCSTR lpszUrlName) |
| BOOL WINAPI | DeleteUrlCacheEntryW (LPCWSTR lpszUrlName) |
| BOOL WINAPI | DeleteUrlCacheContainerA (DWORD d1, DWORD d2) |
| BOOL WINAPI | DeleteUrlCacheContainerW (DWORD d1, DWORD d2) |
| BOOL WINAPI | CreateUrlCacheContainerA (DWORD d1, DWORD d2, DWORD d3, DWORD d4, DWORD d5, DWORD d6, DWORD d7, DWORD d8) |
| BOOL WINAPI | CreateUrlCacheContainerW (DWORD d1, DWORD d2, DWORD d3, DWORD d4, DWORD d5, DWORD d6, DWORD d7, DWORD d8) |
| HANDLE WINAPI | FindFirstUrlCacheContainerA (LPVOID p1, LPVOID p2, LPVOID p3, DWORD d1) |
| HANDLE WINAPI | FindFirstUrlCacheContainerW (LPVOID p1, LPVOID p2, LPVOID p3, DWORD d1) |
| BOOL WINAPI | FindNextUrlCacheContainerA (HANDLE handle, LPVOID p1, LPVOID p2) |
| BOOL WINAPI | FindNextUrlCacheContainerW (HANDLE handle, LPVOID p1, LPVOID p2) |
| HANDLE WINAPI | FindFirstUrlCacheEntryExA (LPCSTR lpszUrlSearchPattern, DWORD dwFlags, DWORD dwFilter, GROUPID GroupId, LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo, LPDWORD lpdwFirstCacheEntryInfoBufferSize, LPVOID lpReserved, LPDWORD pcbReserved2, LPVOID lpReserved3) |
| HANDLE WINAPI | FindFirstUrlCacheEntryExW (LPCWSTR lpszUrlSearchPattern, DWORD dwFlags, DWORD dwFilter, GROUPID GroupId, LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo, LPDWORD lpdwFirstCacheEntryInfoBufferSize, LPVOID lpReserved, LPDWORD pcbReserved2, LPVOID lpReserved3) |
| INTERNETAPI HANDLE WINAPI | FindFirstUrlCacheEntryA (LPCSTR lpszUrlSearchPattern, LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo, LPDWORD lpdwFirstCacheEntryInfoBufferSize) |
| INTERNETAPI HANDLE WINAPI | FindFirstUrlCacheEntryW (LPCWSTR lpszUrlSearchPattern, LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo, LPDWORD lpdwFirstCacheEntryInfoBufferSize) |
| static BOOL | FindNextUrlCacheEntryInternal (HANDLE hEnumHandle, LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo, LPDWORD lpdwNextCacheEntryInfoBufferSize, BOOL unicode) |
| BOOL WINAPI | FindNextUrlCacheEntryA (HANDLE hEnumHandle, LPINTERNET_CACHE_ENTRY_INFOA lpNextCacheEntryInfo, LPDWORD lpdwNextCacheEntryInfoBufferSize) |
| BOOL WINAPI | FindNextUrlCacheEntryW (HANDLE hEnumHandle, LPINTERNET_CACHE_ENTRY_INFOW lpNextCacheEntryInfo, LPDWORD lpdwNextCacheEntryInfoBufferSize) |
| BOOL WINAPI | FindCloseUrlCache (HANDLE hEnumHandle) |
| HANDLE WINAPI | FindFirstUrlCacheGroup (DWORD dwFlags, DWORD dwFilter, LPVOID lpSearchCondition, DWORD dwSearchCondition, GROUPID *lpGroupId, LPVOID lpReserved) |
| BOOL WINAPI | FindNextUrlCacheEntryExA (HANDLE hEnumHandle, LPINTERNET_CACHE_ENTRY_INFOA lpFirstCacheEntryInfo, LPDWORD lpdwFirstCacheEntryInfoBufferSize, LPVOID lpReserved, LPDWORD pcbReserved2, LPVOID lpReserved3) |
| BOOL WINAPI | FindNextUrlCacheEntryExW (HANDLE hEnumHandle, LPINTERNET_CACHE_ENTRY_INFOW lpFirstCacheEntryInfo, LPDWORD lpdwFirstCacheEntryInfoBufferSize, LPVOID lpReserved, LPDWORD pcbReserved2, LPVOID lpReserved3) |
| BOOL WINAPI | FindNextUrlCacheGroup (HANDLE hFind, GROUPID *lpGroupId, LPVOID lpReserved) |
| INTERNETAPI GROUPID WINAPI | CreateUrlCacheGroup (DWORD dwFlags, LPVOID lpReserved) |
| BOOL WINAPI | DeleteUrlCacheGroup (GROUPID GroupId, DWORD dwFlags, LPVOID lpReserved) |
| BOOL WINAPI | SetUrlCacheEntryGroupA (LPCSTR lpszUrlName, DWORD dwFlags, GROUPID GroupId, LPBYTE pbGroupAttributes, DWORD cbGroupAttributes, LPVOID lpReserved) |
| BOOL WINAPI | SetUrlCacheEntryGroupW (LPCWSTR lpszUrlName, DWORD dwFlags, GROUPID GroupId, LPBYTE pbGroupAttributes, DWORD cbGroupAttributes, LPVOID lpReserved) |
| BOOL WINAPI | GetUrlCacheConfigInfoW (LPINTERNET_CACHE_CONFIG_INFOW CacheInfo, LPDWORD size, DWORD bitmask) |
| BOOL WINAPI | GetUrlCacheConfigInfoA (LPINTERNET_CACHE_CONFIG_INFOA CacheInfo, LPDWORD size, DWORD bitmask) |
| BOOL WINAPI | GetUrlCacheGroupAttributeA (GROUPID gid, DWORD dwFlags, DWORD dwAttributes, LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo, LPDWORD lpdwGroupInfo, LPVOID lpReserved) |
| BOOL WINAPI | GetUrlCacheGroupAttributeW (GROUPID gid, DWORD dwFlags, DWORD dwAttributes, LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo, LPDWORD lpdwGroupInfo, LPVOID lpReserved) |
| BOOL WINAPI | SetUrlCacheGroupAttributeA (GROUPID gid, DWORD dwFlags, DWORD dwAttributes, LPINTERNET_CACHE_GROUP_INFOA lpGroupInfo, LPVOID lpReserved) |
| BOOL WINAPI | SetUrlCacheGroupAttributeW (GROUPID gid, DWORD dwFlags, DWORD dwAttributes, LPINTERNET_CACHE_GROUP_INFOW lpGroupInfo, LPVOID lpReserved) |
| BOOL WINAPI | SetUrlCacheConfigInfoA (LPINTERNET_CACHE_CONFIG_INFOA lpCacheConfigInfo, DWORD dwFieldControl) |
| BOOL WINAPI | SetUrlCacheConfigInfoW (LPINTERNET_CACHE_CONFIG_INFOW lpCacheConfigInfo, DWORD dwFieldControl) |
| DWORD WINAPI | DeleteIE3Cache (HWND hWnd, HINSTANCE hInst, LPSTR lpszCmdLine, int nCmdShow) |
| static BOOL | IsUrlCacheEntryExpiredInternal (const URL_CACHEFILE_ENTRY *pUrlEntry, FILETIME *pftLastModified) |
| BOOL WINAPI | IsUrlCacheEntryExpiredA (LPCSTR url, DWORD dwFlags, FILETIME *pftLastModified) |
| BOOL WINAPI | IsUrlCacheEntryExpiredW (LPCWSTR url, DWORD dwFlags, FILETIME *pftLastModified) |
| BOOL WINAPI | GetDiskInfoA (PCSTR path, PDWORD cluster_size, PDWORDLONG free, PDWORDLONG total) |
| DWORD WINAPI | RegisterUrlCacheNotification (LPVOID a, DWORD b, DWORD c, DWORD d, DWORD e, DWORD f) |
| BOOL WINAPI | IncrementUrlCacheHeaderData (DWORD index, LPDWORD data) |
Variables |
| static struct list | UrlContainers = LIST_INIT(UrlContainers) |
| BOOL | bDefaultContainersAdded = FALSE |