ReactOS 0.4.17-dev-1190-g4c812f4
winineti.h File Reference
#include <schannel.h>
#include <sspi.h>
Include dependency graph for winineti.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _INTERNET_CACHE_CONFIG_PATH_ENTRYA
 
struct  _INTERNET_CACHE_CONFIG_PATH_ENTRYW
 
struct  _INTERNET_CACHE_CONFIG_INFOA
 
struct  _INTERNET_CACHE_CONFIG_INFOW
 

Macros

#define CACHE_CONFIG_FORCE_CLEANUP_FC   0x00000020
 
#define CACHE_CONFIG_DISK_CACHE_PATHS_FC   0x00000040
 
#define CACHE_CONFIG_SYNC_MODE_FC   0x00000080
 
#define CACHE_CONFIG_CONTENT_PATHS_FC   0x00000100
 
#define CACHE_CONFIG_COOKIES_PATHS_FC   0x00000200
 
#define CACHE_CONFIG_HISTORY_PATHS_FC   0x00000400
 
#define CACHE_CONFIG_QUOTA_FC   0x00000800
 
#define CACHE_CONFIG_USER_MODE_FC   0x00001000
 
#define CACHE_CONFIG_CONTENT_USAGE_FC   0x00002000
 
#define CACHE_CONFIG_STICKY_CONTENT_USAGE_FC   0x00004000
 
#define ERROR_INTERNET_NO_NEW_CONTAINERS   (INTERNET_ERROR_BASE + 51)
 
#define ERROR_INTERNET_SOURCE_PORT_IN_USE   (INTERNET_ERROR_BASE + 58)
 
#define ERROR_INTERNET_INSECURE_FALLBACK_REQUIRED   (INTERNET_ERROR_BASE + 59)
 
#define ERROR_INTERNET_PROXY_ALERT   (INTERNET_ERROR_BASE + 61)
 
#define ERROR_INTERNET_NO_CM_CONNECTION   (INTERNET_ERROR_BASE + 80)
 
#define ERROR_HTTP_PUSH_STATUS_CODE_NOT_SUPPORTED   (INTERNET_ERROR_BASE + 147)
 
#define ERROR_HTTP_PUSH_RETRY_NOT_SUPPORTED   (INTERNET_ERROR_BASE + 148)
 
#define ERROR_HTTP_PUSH_ENABLE_FAILED   (INTERNET_ERROR_BASE + 149)
 
#define ERROR_INTERNET_OFFLINE   ERROR_INTERNET_DISCONNECTED
 
#define GetUrlCacheConfigInfo   WINELIB_NAME_AW(GetUrlCacheConfigInfo)
 
#define IsUrlCacheEntryExpired   WINELIB_NAME_AW(IsUrlCacheEntryExpired)
 
#define SetUrlCacheConfigInfo   WINELIB_NAME_AW(SetUrlCacheConfigInfo)
 
#define InternetGetSecurityInfoByURL   WINELIB_NAME_AW(InternetGetSecurityInfoByURL)
 

Typedefs

typedef struct _INTERNET_CACHE_CONFIG_PATH_ENTRYA INTERNET_CACHE_CONFIG_PATH_ENTRYA
 
typedef struct _INTERNET_CACHE_CONFIG_PATH_ENTRYA * LPINTERNET_CACHE_CONFIG_PATH_ENTRYA
 
typedef struct _INTERNET_CACHE_CONFIG_PATH_ENTRYW INTERNET_CACHE_CONFIG_PATH_ENTRYW
 
typedef struct _INTERNET_CACHE_CONFIG_PATH_ENTRYW * LPINTERNET_CACHE_CONFIG_PATH_ENTRYW
 
typedef struct _INTERNET_CACHE_CONFIG_INFOA INTERNET_CACHE_CONFIG_INFOA
 
typedef struct _INTERNET_CACHE_CONFIG_INFOA * LPINTERNET_CACHE_CONFIG_INFOA
 
typedef struct _INTERNET_CACHE_CONFIG_INFOW INTERNET_CACHE_CONFIG_INFOW
 
typedef struct _INTERNET_CACHE_CONFIG_INFOW * LPINTERNET_CACHE_CONFIG_INFOW
 

Enumerations

enum  WININET_SYNC_MODE {
  WININET_SYNC_MODE_NEVER = 0 , WININET_SYNC_MODE_ON_EXPIRY , WININET_SYNC_MODE_ONCE_PER_SESSION , WININET_SYNC_MODE_ALWAYS ,
  WININET_SYNC_MODE_AUTOMATIC , WININET_SYNC_MODE_DEFAULT = WININET_SYNC_MODE_AUTOMATIC
}
 

Functions

DWORD WINAPI DeleteIE3Cache (HWND, HINSTANCE, LPSTR, int)
 
BOOL WINAPI GetDiskInfoA (PCSTR, PDWORD, PDWORDLONG, PDWORDLONG)
 
BOOL WINAPI GetUrlCacheConfigInfoA (LPINTERNET_CACHE_CONFIG_INFOA, LPDWORD, DWORD)
 
BOOL WINAPI GetUrlCacheConfigInfoW (LPINTERNET_CACHE_CONFIG_INFOW, LPDWORD, DWORD)
 
BOOL WINAPI IncrementUrlCacheHeaderData (DWORD, LPDWORD)
 
BOOL WINAPI InternetQueryFortezzaStatus (DWORD *, DWORD_PTR)
 
BOOL WINAPI IsUrlCacheEntryExpiredA (LPCSTR, DWORD, FILETIME *)
 
BOOL WINAPI IsUrlCacheEntryExpiredW (LPCWSTR, DWORD, FILETIME *)
 
BOOL WINAPI SetUrlCacheConfigInfoA (LPINTERNET_CACHE_CONFIG_INFOA, DWORD)
 
BOOL WINAPI SetUrlCacheConfigInfoW (LPINTERNET_CACHE_CONFIG_INFOW, DWORD)
 
BOOL WINAPI InternetGetSecurityInfoByURLA (LPSTR, PCCERT_CHAIN_CONTEXT *, DWORD *)
 
BOOL WINAPI InternetGetSecurityInfoByURLW (LPCWSTR, PCCERT_CHAIN_CONTEXT *, DWORD *)
 

Macro Definition Documentation

◆ CACHE_CONFIG_CONTENT_PATHS_FC

#define CACHE_CONFIG_CONTENT_PATHS_FC   0x00000100

Definition at line 101 of file winineti.h.

◆ CACHE_CONFIG_CONTENT_USAGE_FC

#define CACHE_CONFIG_CONTENT_USAGE_FC   0x00002000

Definition at line 106 of file winineti.h.

◆ CACHE_CONFIG_COOKIES_PATHS_FC

#define CACHE_CONFIG_COOKIES_PATHS_FC   0x00000200

Definition at line 102 of file winineti.h.

◆ CACHE_CONFIG_DISK_CACHE_PATHS_FC

#define CACHE_CONFIG_DISK_CACHE_PATHS_FC   0x00000040

Definition at line 99 of file winineti.h.

◆ CACHE_CONFIG_FORCE_CLEANUP_FC

#define CACHE_CONFIG_FORCE_CLEANUP_FC   0x00000020

Definition at line 98 of file winineti.h.

◆ CACHE_CONFIG_HISTORY_PATHS_FC

#define CACHE_CONFIG_HISTORY_PATHS_FC   0x00000400

Definition at line 103 of file winineti.h.

◆ CACHE_CONFIG_QUOTA_FC

#define CACHE_CONFIG_QUOTA_FC   0x00000800

Definition at line 104 of file winineti.h.

◆ CACHE_CONFIG_STICKY_CONTENT_USAGE_FC

#define CACHE_CONFIG_STICKY_CONTENT_USAGE_FC   0x00004000

Definition at line 107 of file winineti.h.

◆ CACHE_CONFIG_SYNC_MODE_FC

#define CACHE_CONFIG_SYNC_MODE_FC   0x00000080

Definition at line 100 of file winineti.h.

◆ CACHE_CONFIG_USER_MODE_FC

#define CACHE_CONFIG_USER_MODE_FC   0x00001000

Definition at line 105 of file winineti.h.

◆ ERROR_HTTP_PUSH_ENABLE_FAILED

#define ERROR_HTTP_PUSH_ENABLE_FAILED   (INTERNET_ERROR_BASE + 149)

Definition at line 116 of file winineti.h.

◆ ERROR_HTTP_PUSH_RETRY_NOT_SUPPORTED

#define ERROR_HTTP_PUSH_RETRY_NOT_SUPPORTED   (INTERNET_ERROR_BASE + 148)

Definition at line 115 of file winineti.h.

◆ ERROR_HTTP_PUSH_STATUS_CODE_NOT_SUPPORTED

#define ERROR_HTTP_PUSH_STATUS_CODE_NOT_SUPPORTED   (INTERNET_ERROR_BASE + 147)

Definition at line 114 of file winineti.h.

◆ ERROR_INTERNET_INSECURE_FALLBACK_REQUIRED

#define ERROR_INTERNET_INSECURE_FALLBACK_REQUIRED   (INTERNET_ERROR_BASE + 59)

Definition at line 111 of file winineti.h.

◆ ERROR_INTERNET_NO_CM_CONNECTION

#define ERROR_INTERNET_NO_CM_CONNECTION   (INTERNET_ERROR_BASE + 80)

Definition at line 113 of file winineti.h.

◆ ERROR_INTERNET_NO_NEW_CONTAINERS

#define ERROR_INTERNET_NO_NEW_CONTAINERS   (INTERNET_ERROR_BASE + 51)

Definition at line 109 of file winineti.h.

◆ ERROR_INTERNET_OFFLINE

#define ERROR_INTERNET_OFFLINE   ERROR_INTERNET_DISCONNECTED

Definition at line 118 of file winineti.h.

◆ ERROR_INTERNET_PROXY_ALERT

#define ERROR_INTERNET_PROXY_ALERT   (INTERNET_ERROR_BASE + 61)

Definition at line 112 of file winineti.h.

◆ ERROR_INTERNET_SOURCE_PORT_IN_USE

#define ERROR_INTERNET_SOURCE_PORT_IN_USE   (INTERNET_ERROR_BASE + 58)

Definition at line 110 of file winineti.h.

◆ GetUrlCacheConfigInfo

#define GetUrlCacheConfigInfo   WINELIB_NAME_AW(GetUrlCacheConfigInfo)

Definition at line 128 of file winineti.h.

◆ InternetGetSecurityInfoByURL

#define InternetGetSecurityInfoByURL   WINELIB_NAME_AW(InternetGetSecurityInfoByURL)

Definition at line 139 of file winineti.h.

◆ IsUrlCacheEntryExpired

#define IsUrlCacheEntryExpired   WINELIB_NAME_AW(IsUrlCacheEntryExpired)

Definition at line 133 of file winineti.h.

◆ SetUrlCacheConfigInfo

#define SetUrlCacheConfigInfo   WINELIB_NAME_AW(SetUrlCacheConfigInfo)

Definition at line 136 of file winineti.h.

Typedef Documentation

◆ INTERNET_CACHE_CONFIG_INFOA

◆ INTERNET_CACHE_CONFIG_INFOW

◆ INTERNET_CACHE_CONFIG_PATH_ENTRYA

◆ INTERNET_CACHE_CONFIG_PATH_ENTRYW

◆ LPINTERNET_CACHE_CONFIG_INFOA

◆ LPINTERNET_CACHE_CONFIG_INFOW

◆ LPINTERNET_CACHE_CONFIG_PATH_ENTRYA

◆ LPINTERNET_CACHE_CONFIG_PATH_ENTRYW

Enumeration Type Documentation

◆ WININET_SYNC_MODE

Enumerator
WININET_SYNC_MODE_NEVER 
WININET_SYNC_MODE_ON_EXPIRY 
WININET_SYNC_MODE_ONCE_PER_SESSION 
WININET_SYNC_MODE_ALWAYS 
WININET_SYNC_MODE_AUTOMATIC 
WININET_SYNC_MODE_DEFAULT 

Definition at line 88 of file winineti.h.

88 {
WININET_SYNC_MODE
Definition: winineti.h:88
@ WININET_SYNC_MODE_ON_EXPIRY
Definition: winineti.h:90
@ WININET_SYNC_MODE_NEVER
Definition: winineti.h:89
@ WININET_SYNC_MODE_ONCE_PER_SESSION
Definition: winineti.h:91
@ WININET_SYNC_MODE_ALWAYS
Definition: winineti.h:92
@ WININET_SYNC_MODE_AUTOMATIC
Definition: winineti.h:93
@ WININET_SYNC_MODE_DEFAULT
Definition: winineti.h:94

Function Documentation

◆ DeleteIE3Cache()

DWORD WINAPI DeleteIE3Cache ( HWND  hWnd,
HINSTANCE  hInst,
LPSTR  lpszCmdLine,
int  nCmdShow 
)

Definition at line 3940 of file urlcache.c.

3941{
3942 FIXME("(%p, %p, %s, %d)\n", hWnd, hInst, debugstr_a(lpszCmdLine), nCmdShow);
3943 return 0;
3944}
HWND hWnd
Definition: settings.c:17
#define FIXME(fmt,...)
Definition: precomp.h:53
HINSTANCE hInst
Definition: dxdiag.c:13
#define debugstr_a
Definition: kernel32.h:31

◆ GetDiskInfoA()

BOOL WINAPI GetDiskInfoA ( PCSTR  path,
PDWORD  cluster_size,
PDWORDLONG  free,
PDWORDLONG  total 
)

Definition at line 4056 of file urlcache.c.

4057{
4058 BOOL ret;
4059 ULARGE_INTEGER bytes_free, bytes_total;
4060
4061 TRACE("(%s, %p, %p, %p)\n", debugstr_a(path), cluster_size, free, total);
4062
4063 if (!path)
4064 {
4066 return FALSE;
4067 }
4068
4069 if ((ret = GetDiskFreeSpaceExA(path, NULL, &bytes_total, &bytes_free)))
4070 {
4071 if (cluster_size) *cluster_size = 1;
4072 if (free) *free = bytes_free.QuadPart;
4073 if (total) *total = bytes_total.QuadPart;
4074 }
4075 return ret;
4076}
#define free
Definition: debug_ros.c:5
#define NULL
Definition: types.h:112
#define FALSE
Definition: types.h:117
#define ERROR_INVALID_PARAMETER
Definition: compat.h:101
#define SetLastError(x)
Definition: compat.h:752
BOOL WINAPI GetDiskFreeSpaceExA(IN LPCSTR lpDirectoryName OPTIONAL, OUT PULARGE_INTEGER lpFreeBytesAvailableToCaller, OUT PULARGE_INTEGER lpTotalNumberOfBytes, OUT PULARGE_INTEGER lpTotalNumberOfFreeBytes)
Definition: disk.c:313
return ret
Definition: mutex.c:147
unsigned int BOOL
Definition: ntddk_ex.h:94
size_t total
__u8 cluster_size
Definition: mkdosfs.c:4
#define TRACE(s)
Definition: solgame.cpp:4
ULONGLONG QuadPart
Definition: ms-dtyp.idl:185

Referenced by test_GetDiskInfoA().

◆ GetUrlCacheConfigInfoA()

BOOL WINAPI GetUrlCacheConfigInfoA ( LPINTERNET_CACHE_CONFIG_INFOA  info,
LPDWORD  size,
DWORD  flags 
)

Definition at line 3851 of file urlcache.c.

3852{
3854
3855 TRACE("(%p, %p, %lx)\n", info, size, flags);
3856
3857 if (!info)
3858 {
3860 return FALSE;
3861 }
3862
3863 infoW.dwStructSize = sizeof(infoW);
3865 return FALSE;
3866
3867 info->dwContainer = infoW.dwContainer;
3868 info->dwQuota = infoW.dwQuota;
3869 info->dwReserved4 = infoW.dwReserved4;
3870 info->fPerUser = infoW.fPerUser;
3871 info->dwSyncMode = infoW.dwSyncMode;
3872 info->dwNumCachePaths = infoW.dwNumCachePaths;
3873 info->dwNormalUsage = infoW.dwNormalUsage;
3874 info->dwExemptUsage = infoW.dwExemptUsage;
3875 info->dwCacheSize = infoW.dwCacheSize;
3876 WideCharToMultiByte(CP_ACP, 0, infoW.CachePath, -1, info->CachePath, MAX_PATH, NULL, NULL);
3877
3878 return TRUE;
3879}
#define TRUE
Definition: types.h:120
#define CP_ACP
Definition: compat.h:109
#define MAX_PATH
Definition: compat.h:34
#define WideCharToMultiByte
Definition: compat.h:111
void INTERNET_SetLastError(DWORD dwError)
Definition: internet.c:4456
BOOL WINAPI GetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW info, LPDWORD size, DWORD flags)
Definition: urlcache.c:3810
GLsizeiptr size
Definition: glext.h:5919
GLbitfield flags
Definition: glext.h:7161
static const SecPkgInfoW infoW
Definition: kerberos.c:293

Referenced by test_GetUrlCacheConfigInfo().

◆ GetUrlCacheConfigInfoW()

BOOL WINAPI GetUrlCacheConfigInfoW ( LPINTERNET_CACHE_CONFIG_INFOW  info,
LPDWORD  size,
DWORD  flags 
)

Definition at line 3810 of file urlcache.c.

3811{
3813 DWORD error;
3814
3815 FIXME("(%p, %p, %lx): semi-stub\n", info, size, flags);
3816
3817 if (!info || !(container = find_container(flags)))
3818 {
3820 return FALSE;
3821 }
3822
3824 if (error != ERROR_SUCCESS)
3825 {
3827 return FALSE;
3828 }
3829
3830 info->dwContainer = 0;
3831 info->dwQuota = FILE_SIZE(MAX_BLOCK_NO) / 1024;
3832 info->dwReserved4 = 0;
3833 info->fPerUser = TRUE;
3834 info->dwSyncMode = 0;
3835 info->dwNumCachePaths = 1;
3836 info->dwNormalUsage = 0;
3837 info->dwExemptUsage = 0;
3838 info->dwCacheSize = container->file_size / 1024;
3839 lstrcpynW(info->CachePath, container->path, MAX_PATH);
3840
3842
3843 TRACE("CachePath %s\n", debugstr_w(info->CachePath));
3844
3845 return TRUE;
3846}
#define ERROR_SUCCESS
Definition: deptool.c:10
#define lstrcpynW
Definition: compat.h:738
#define MAX_BLOCK_NO
Definition: urlcache.c:67
static void cache_container_close_index(cache_container *pContainer)
Definition: urlcache.c:674
static cache_container * find_container(DWORD flags)
Definition: urlcache.c:3774
#define FILE_SIZE(blocks)
Definition: urlcache.c:68
#define MIN_BLOCK_NO
Definition: urlcache.c:66
static DWORD cache_container_open_index(cache_container *container, DWORD blocks_no)
Definition: urlcache.c:588
unsigned long DWORD
Definition: ntddk_ex.h:95
#define debugstr_w
Definition: kernel32.h:32
#define error(str)
Definition: mkdosfs.c:1605

Referenced by GetUrlCacheConfigInfoA().

◆ IncrementUrlCacheHeaderData()

BOOL WINAPI IncrementUrlCacheHeaderData ( DWORD  index,
LPDWORD  data 
)

Definition at line 4090 of file urlcache.c.

4091{
4092 FIXME("(%lu, %p)\n", index, data);
4093 return FALSE;
4094}
GLint GLenum GLsizei GLsizei GLsizei GLint GLsizei const GLvoid * data
Definition: gl.h:1950
GLuint index
Definition: glext.h:6031

◆ InternetGetSecurityInfoByURLA()

BOOL WINAPI InternetGetSecurityInfoByURLA ( LPSTR  lpszURL,
PCCERT_CHAIN_CONTEXT *  ppCertChain,
DWORD *  pdwSecureFlags 
)

Definition at line 5221 of file internet.c.

5222{
5223 WCHAR *url;
5224 BOOL res;
5225
5226 TRACE("(%s %p %p)\n", debugstr_a(lpszURL), ppCertChain, pdwSecureFlags);
5227
5228 url = strdupAtoW(lpszURL);
5229 if(!url)
5230 return FALSE;
5231
5232 res = InternetGetSecurityInfoByURLW(url, ppCertChain, pdwSecureFlags);
5233 free(url);
5234 return res;
5235}
static WCHAR * strdupAtoW(const char *str)
Definition: main.c:61
BOOL WINAPI InternetGetSecurityInfoByURLW(LPCWSTR lpszURL, PCCERT_CHAIN_CONTEXT *ppCertChain, DWORD *pdwSecureFlags)
Definition: internet.c:5240
GLuint res
Definition: glext.h:9613
static const WCHAR url[]
Definition: encode.c:1384
short WCHAR
Definition: pedump.c:58

◆ InternetGetSecurityInfoByURLW()

BOOL WINAPI InternetGetSecurityInfoByURLW ( LPCWSTR  lpszURL,
PCCERT_CHAIN_CONTEXT *  ppCertChain,
DWORD *  pdwSecureFlags 
)

Definition at line 5240 of file internet.c.

5241{
5242 URL_COMPONENTSW url = {sizeof(url)};
5244 BOOL res;
5245
5246 TRACE("(%s %p %p)\n", debugstr_w(lpszURL), ppCertChain, pdwSecureFlags);
5247
5248 if (!ppCertChain && !pdwSecureFlags) {
5250 return FALSE;
5251 }
5252
5253 url.dwHostNameLength = 1;
5254 res = InternetCrackUrlW(lpszURL, 0, 0, &url);
5255 if(!res || url.nScheme != INTERNET_SCHEME_HTTPS) {
5257 return FALSE;
5258 }
5259
5260 server = get_server(substr(url.lpszHostName, url.dwHostNameLength), url.nPort, TRUE, FALSE);
5261 if(!server) {
5263 return FALSE;
5264 }
5265
5266 if(server->cert_chain) {
5267 if(pdwSecureFlags)
5268 *pdwSecureFlags = server->security_flags & _SECURITY_ERROR_FLAGS_MASK;
5269
5270 if(ppCertChain && !(*ppCertChain = CertDuplicateCertificateChain(server->cert_chain)))
5271 res = FALSE;
5272 }else {
5274 res = FALSE;
5275 }
5276
5278 return res;
5279}
static nis_server * get_server(struct sockaddr_in *sin, char *host, nis_server *srv, eps, int maxep)
Definition: auth_time.c:143
PCCERT_CHAIN_CONTEXT WINAPI CertDuplicateCertificateChain(PCCERT_CHAIN_CONTEXT pChainContext)
Definition: chain.c:2944
void server_release(server_t *server)
Definition: http.c:148
BOOL WINAPI InternetCrackUrlW(const WCHAR *lpszUrl, DWORD dwUrlLength, DWORD dwFlags, URL_COMPONENTSW *lpUC)
Definition: internet.c:2052
static substr_t substr(const WCHAR *str, size_t len)
Definition: internet.h:169
#define _SECURITY_ERROR_FLAGS_MASK
Definition: internet.h:445
static rfbScreenInfoPtr server
Definition: vnc.c:74
#define INTERNET_SCHEME_HTTPS
Definition: winhttp.h:48
#define ERROR_INTERNET_ITEM_NOT_FOUND
Definition: wininet.h:2017

Referenced by InternetGetSecurityInfoByURLA().

◆ InternetQueryFortezzaStatus()

BOOL WINAPI InternetQueryFortezzaStatus ( DWORD *  a,
DWORD_PTR  b 
)

Definition at line 5329 of file internet.c.

5330{
5331 FIXME("(%p, %08Ix) stub\n", a, b);
5332 return FALSE;
5333}
GLboolean GLboolean GLboolean b
Definition: glext.h:6204
GLboolean GLboolean GLboolean GLboolean a
Definition: glext.h:6204

◆ IsUrlCacheEntryExpiredA()

BOOL WINAPI IsUrlCacheEntryExpiredA ( LPCSTR  url,
DWORD  dwFlags,
FILETIME *  pftLastModified 
)

Definition at line 3972 of file urlcache.c.

3973{
3975 struct hash_entry *pHashEntry;
3976 const entry_header *pEntry;
3977 const entry_url * pUrlEntry;
3978 cache_container *pContainer;
3979 BOOL expired;
3980
3981 TRACE("(%s, %08lx, %p)\n", debugstr_a(url), dwFlags, pftLastModified);
3982
3983 if (!url || !pftLastModified)
3984 return TRUE;
3985 if (dwFlags)
3986 FIXME("unknown flags 0x%08lx\n", dwFlags);
3987
3988 /* Any error implies that the URL is expired, i.e. not in the cache */
3989 if (cache_containers_find(url, &pContainer))
3990 {
3991 memset(pftLastModified, 0, sizeof(*pftLastModified));
3992 return TRUE;
3993 }
3994
3996 {
3997 memset(pftLastModified, 0, sizeof(*pftLastModified));
3998 return TRUE;
3999 }
4000
4001 if (!(pHeader = cache_container_lock_index(pContainer)))
4002 {
4003 memset(pftLastModified, 0, sizeof(*pftLastModified));
4004 return TRUE;
4005 }
4006
4007 if (!urlcache_find_hash_entry(pHeader, url, &pHashEntry))
4008 {
4010 memset(pftLastModified, 0, sizeof(*pftLastModified));
4011 TRACE("entry %s not found!\n", url);
4012 return TRUE;
4013 }
4014
4015 pEntry = (const entry_header*)((LPBYTE)pHeader + pHashEntry->offset);
4016 if (pEntry->signature != URL_SIGNATURE)
4017 {
4018 FIXME("Trying to retrieve entry of unknown format %s\n", debugstr_an((LPCSTR)&pEntry->signature, sizeof(DWORD)));
4020 memset(pftLastModified, 0, sizeof(*pftLastModified));
4021 return TRUE;
4022 }
4023
4024 pUrlEntry = (const entry_url *)pEntry;
4025 expired = urlcache_entry_is_expired(pUrlEntry, pftLastModified);
4026
4028
4029 return expired;
4030}
static __inline const char * debugstr_an(const char *s, int n)
Definition: compat.h:55
static BOOL urlcache_entry_is_expired(const entry_url *pUrlEntry, FILETIME *pftLastModified)
Definition: urlcache.c:3946
#define URL_SIGNATURE
Definition: urlcache.c:87
static BOOL cache_container_unlock_index(cache_container *pContainer, urlcache_header *pHeader)
Definition: urlcache.c:968
static urlcache_header * cache_container_lock_index(cache_container *pContainer)
Definition: urlcache.c:909
static BOOL urlcache_find_hash_entry(const urlcache_header *pHeader, LPCSTR lpszUrl, struct hash_entry **ppHashEntry)
Definition: urlcache.c:1511
static DWORD cache_containers_find(const char *url, cache_container **ret)
Definition: urlcache.c:828
PLIST_ENTRY pEntry
Definition: fxioqueue.cpp:4484
FxContextHeader * pHeader
Definition: handleapi.cpp:604
_In_ LPWSTR _In_ DWORD _In_ DWORD _In_ DWORD dwFlags
Definition: netsh.h:141
#define memset(x, y, z)
Definition: compat.h:39
Definition: urlcache.c:140
DWORD offset
Definition: urlcache.c:142
const char * LPCSTR
Definition: typedefs.h:52
unsigned char * LPBYTE
Definition: typedefs.h:53

Referenced by IsUrlCacheEntryExpiredW(), and test_IsUrlCacheEntryExpiredA().

◆ IsUrlCacheEntryExpiredW()

BOOL WINAPI IsUrlCacheEntryExpiredW ( LPCWSTR  url,
DWORD  dwFlags,
FILETIME *  pftLastModified 
)

Definition at line 4040 of file urlcache.c.

4041{
4042 char *encoded_url;
4043 BOOL ret;
4044
4045 if(!urlcache_encode_url_alloc(url, &encoded_url))
4046 return FALSE;
4047
4048 ret = IsUrlCacheEntryExpiredA(encoded_url, dwFlags, pftLastModified);
4049 free(encoded_url);
4050 return ret;
4051}
static BOOL urlcache_encode_url_alloc(const WCHAR *url, char **encoded_url)
Definition: urlcache.c:1948
BOOL WINAPI IsUrlCacheEntryExpiredA(LPCSTR url, DWORD dwFlags, FILETIME *pftLastModified)
Definition: urlcache.c:3972

◆ SetUrlCacheConfigInfoA()

BOOL WINAPI SetUrlCacheConfigInfoA ( LPINTERNET_CACHE_CONFIG_INFOA  lpCacheConfigInfo,
DWORD  dwFieldControl 
)

Definition at line 3917 of file urlcache.c.

3918{
3919 FIXME("(%p, 0x%08lx) stub\n", lpCacheConfigInfo, dwFieldControl);
3920 return TRUE;
3921}

◆ SetUrlCacheConfigInfoW()

BOOL WINAPI SetUrlCacheConfigInfoW ( LPINTERNET_CACHE_CONFIG_INFOW  lpCacheConfigInfo,
DWORD  dwFieldControl 
)

Definition at line 3923 of file urlcache.c.

3924{
3925 FIXME("(%p, 0x%08lx) stub\n", lpCacheConfigInfo, dwFieldControl);
3926 return TRUE;
3927}