[PSDK]
[reactos.git] / reactos / sdk / include / psdk / winineti.h
1 /*
2 * Copyright (C) 2007 Francois Gouget
3 *
4 * This library is free software; you can redistribute it and/or
5 * modify it under the terms of the GNU Lesser General Public
6 * License as published by the Free Software Foundation; either
7 * version 2.1 of the License, or (at your option) any later version.
8 *
9 * This library is distributed in the hope that it will be useful,
10 * but WITHOUT ANY WARRANTY; without even the implied warranty of
11 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
12 * Lesser General Public License for more details.
13 *
14 * You should have received a copy of the GNU Lesser General Public
15 * License along with this library; if not, write to the Free Software
16 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
17 */
18
19 #ifndef _WINE_WININETI_H_
20 #define _WINE_WININETI_H_
21
22 /* FIXME: #include <iedial.h> */
23 #include <schannel.h>
24 #include <sspi.h>
25
26 typedef struct _INTERNET_CACHE_CONFIG_PATH_ENTRYA
27 {
28 CHAR CachePath[MAX_PATH];
29 DWORD dwCacheSize;
30 } INTERNET_CACHE_CONFIG_PATH_ENTRYA, *LPINTERNET_CACHE_CONFIG_PATH_ENTRYA;
31
32 typedef struct _INTERNET_CACHE_CONFIG_PATH_ENTRYW
33 {
34 WCHAR CachePath[MAX_PATH];
35 DWORD dwCacheSize;
36 } INTERNET_CACHE_CONFIG_PATH_ENTRYW, *LPINTERNET_CACHE_CONFIG_PATH_ENTRYW;
37
38 DECL_WINELIB_TYPE_AW(INTERNET_CACHE_CONFIG_PATH_ENTRY)
39 DECL_WINELIB_TYPE_AW(LPINTERNET_CACHE_CONFIG_PATH_ENTRY)
40
41 typedef struct _INTERNET_CACHE_CONFIG_INFOA
42 {
43 DWORD dwStructSize;
44 DWORD dwContainer;
45 DWORD dwQuota;
46 DWORD dwReserved4;
47 BOOL fPerUser;
48 DWORD dwSyncMode;
49 DWORD dwNumCachePaths;
50 __C89_NAMELESS union
51 {
52 __C89_NAMELESS struct
53 {
54 CHAR CachePath[MAX_PATH];
55 DWORD dwCacheSize;
56 } __C89_NAMELESSSTRUCTNAME;
57 INTERNET_CACHE_CONFIG_PATH_ENTRYA CachePaths[ANYSIZE_ARRAY];
58 } __C89_NAMELESSUNIONNAME;
59 DWORD dwNormalUsage;
60 DWORD dwExemptUsage;
61 } INTERNET_CACHE_CONFIG_INFOA, *LPINTERNET_CACHE_CONFIG_INFOA;
62
63 typedef struct _INTERNET_CACHE_CONFIG_INFOW
64 {
65 DWORD dwStructSize;
66 DWORD dwContainer;
67 DWORD dwQuota;
68 DWORD dwReserved4;
69 BOOL fPerUser;
70 DWORD dwSyncMode;
71 DWORD dwNumCachePaths;
72 __C89_NAMELESS union
73 {
74 __C89_NAMELESS struct
75 {
76 WCHAR CachePath[MAX_PATH];
77 DWORD dwCacheSize;
78 } __C89_NAMELESSSTRUCTNAME;
79 INTERNET_CACHE_CONFIG_PATH_ENTRYW CachePaths[ANYSIZE_ARRAY];
80 } __C89_NAMELESSUNIONNAME;
81 DWORD dwNormalUsage;
82 DWORD dwExemptUsage;
83 } INTERNET_CACHE_CONFIG_INFOW, *LPINTERNET_CACHE_CONFIG_INFOW;
84
85 DECL_WINELIB_TYPE_AW(INTERNET_CACHE_CONFIG_INFO)
86 DECL_WINELIB_TYPE_AW(LPINTERNET_CACHE_CONFIG_INFO)
87
88 typedef enum {
89 WININET_SYNC_MODE_NEVER = 0,
90 WININET_SYNC_MODE_ON_EXPIRY,
91 WININET_SYNC_MODE_ONCE_PER_SESSION,
92 WININET_SYNC_MODE_ALWAYS,
93 WININET_SYNC_MODE_AUTOMATIC,
94 WININET_SYNC_MODE_DEFAULT = WININET_SYNC_MODE_AUTOMATIC
95 } WININET_SYNC_MODE;
96
97 /* Flags for GetUrlCacheConfigInfoA/W and SetUrlCacheConfigInfoA/W */
98 #define CACHE_CONFIG_FORCE_CLEANUP_FC 0x00000020
99 #define CACHE_CONFIG_DISK_CACHE_PATHS_FC 0x00000040
100 #define CACHE_CONFIG_SYNC_MODE_FC 0x00000080
101 #define CACHE_CONFIG_CONTENT_PATHS_FC 0x00000100
102 #define CACHE_CONFIG_COOKIES_PATHS_FC 0x00000200
103 #define CACHE_CONFIG_HISTORY_PATHS_FC 0x00000400
104 #define CACHE_CONFIG_QUOTA_FC 0x00000800
105 #define CACHE_CONFIG_USER_MODE_FC 0x00001000
106 #define CACHE_CONFIG_CONTENT_USAGE_FC 0x00002000
107 #define CACHE_CONFIG_STICKY_CONTENT_USAGE_FC 0x00004000
108
109 #ifdef __cplusplus
110 extern "C" {
111 #endif
112
113 DWORD WINAPI DeleteIE3Cache(HWND,HINSTANCE,LPSTR,int);
114 BOOL WINAPI GetDiskInfoA(PCSTR,PDWORD,PDWORDLONG,PDWORDLONG);
115 BOOL WINAPI GetUrlCacheConfigInfoA(LPINTERNET_CACHE_CONFIG_INFOA,LPDWORD,DWORD);
116 BOOL WINAPI GetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,LPDWORD,DWORD);
117 #define GetUrlCacheConfigInfo WINELIB_NAME_AW(GetUrlCacheConfigInfo)
118 BOOL WINAPI IncrementUrlCacheHeaderData(DWORD,LPDWORD);
119 BOOL WINAPI InternetQueryFortezzaStatus(DWORD*,DWORD_PTR);
120 BOOL WINAPI IsUrlCacheEntryExpiredA(LPCSTR,DWORD,FILETIME*);
121 BOOL WINAPI IsUrlCacheEntryExpiredW(LPCWSTR,DWORD,FILETIME*);
122 #define IsUrlCacheEntryExpired WINELIB_NAME_AW(IsUrlCacheEntryExpired)
123 BOOL WINAPI SetUrlCacheConfigInfoA(LPINTERNET_CACHE_CONFIG_INFOA,DWORD);
124 BOOL WINAPI SetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,DWORD);
125 #define SetUrlCacheConfigInfo WINELIB_NAME_AW(SetUrlCacheConfigInfo)
126 BOOL WINAPI InternetGetSecurityInfoByURLA(LPSTR,PCCERT_CHAIN_CONTEXT*,DWORD*);
127 BOOL WINAPI InternetGetSecurityInfoByURLW(LPCWSTR,PCCERT_CHAIN_CONTEXT*,DWORD*);
128 #define InternetGetSecurityInfoByURL WINELIB_NAME_AW(InternetGetSecurityInfoByURL)
129
130 #ifdef __cplusplus
131 }
132 #endif
133
134 #endif /* _WINE_WININETI_H_ */