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