Home | History | Annotate | Download | only in include
      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 
     27 typedef 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 
     33 typedef 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 
     42 typedef 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 
     64 typedef 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 
     89 typedef 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 #ifdef __cplusplus
    111 extern "C" {
    112 #endif
    113 
    114 DWORD       WINAPI DeleteIE3Cache(HWND,HINSTANCE,LPSTR,int);
    115 WINBOOL     WINAPI GetDiskInfoA(PCSTR,PDWORD,PDWORDLONG,PDWORDLONG);
    116 WINBOOL     WINAPI GetUrlCacheConfigInfoA(LPINTERNET_CACHE_CONFIG_INFOA,LPDWORD,DWORD);
    117 WINBOOL     WINAPI GetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,LPDWORD,DWORD);
    118 #define     GetUrlCacheConfigInfo __MINGW_NAME_AW(GetUrlCacheConfigInfo)
    119 WINBOOL     WINAPI IncrementUrlCacheHeaderData(DWORD,LPDWORD);
    120 WINBOOL     WINAPI InternetQueryFortezzaStatus(DWORD*,DWORD_PTR);
    121 WINBOOL     WINAPI IsUrlCacheEntryExpiredA(LPCSTR,DWORD,FILETIME*);
    122 WINBOOL     WINAPI IsUrlCacheEntryExpiredW(LPCWSTR,DWORD,FILETIME*);
    123 #define     IsUrlCacheEntryExpired __MINGW_NAME_AW(IsUrlCacheEntryExpired)
    124 WINBOOL     WINAPI SetUrlCacheConfigInfoA(LPINTERNET_CACHE_CONFIG_INFOA,DWORD);
    125 WINBOOL     WINAPI SetUrlCacheConfigInfoW(LPINTERNET_CACHE_CONFIG_INFOW,DWORD);
    126 #define     SetUrlCacheConfigInfo __MINGW_NAME_AW(SetUrlCacheConfigInfo)
    127 WINBOOL     WINAPI InternetGetSecurityInfoByURLA(LPSTR,PCCERT_CHAIN_CONTEXT*,DWORD*);
    128 WINBOOL     WINAPI InternetGetSecurityInfoByURLW(LPCWSTR,PCCERT_CHAIN_CONTEXT*,DWORD*);
    129 #define     InternetGetSecurityInfoByURL __MINGW_NAME_AW(InternetGetSecurityInfoByURL)
    130 
    131 #ifdef __cplusplus
    132 }
    133 #endif
    134 
    135 #endif /* _WINE_WININETI_H_ */
    136