gdi32: Move the object refcount handling to the SelectObject backend functions.
[wine.git] / include / winhttp.h
blobf971d7615268330e6c53cc6f23b57615fd125270
1 /*
2 * Copyright (C) 2007 Francois Gouget
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.
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.
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
19 #ifndef __WINE_WINHTTP_H
20 #define __WINE_WINHTTP_H
22 #define WINHTTPAPI
23 #define BOOLAPI WINHTTPAPI BOOL WINAPI
26 typedef LPVOID HINTERNET;
27 typedef HINTERNET *LPHINTERNET;
29 #define INTERNET_DEFAULT_PORT 0
30 #define INTERNET_DEFAULT_HTTP_PORT 80
31 #define INTERNET_DEFAULT_HTTPS_PORT 443
32 typedef WORD INTERNET_PORT;
33 typedef INTERNET_PORT *LPINTERNET_PORT;
35 #define INTERNET_SCHEME_HTTP 1
36 #define INTERNET_SCHEME_HTTPS 2
37 typedef int INTERNET_SCHEME, *LPINTERNET_SCHEME;
39 typedef struct
41 DWORD dwStructSize;
42 LPWSTR lpszScheme;
43 DWORD dwSchemeLength;
44 INTERNET_SCHEME nScheme;
45 LPWSTR lpszHostName;
46 DWORD dwHostNameLength;
47 INTERNET_PORT nPort;
48 LPWSTR lpszUserName;
49 DWORD dwUserNameLength;
50 LPWSTR lpszPassword;
51 DWORD dwPasswordLength;
52 LPWSTR lpszUrlPath;
53 DWORD dwUrlPathLength;
54 LPWSTR lpszExtraInfo;
55 DWORD dwExtraInfoLength;
56 } URL_COMPONENTS, *LPURL_COMPONENTS;
57 typedef URL_COMPONENTS URL_COMPONENTSW;
58 typedef LPURL_COMPONENTS LPURL_COMPONENTSW;
60 typedef struct
62 DWORD_PTR dwResult;
63 DWORD dwError;
64 } WINHTTP_ASYNC_RESULT, *LPWINHTTP_ASYNC_RESULT;
66 typedef struct
68 FILETIME ftExpiry;
69 FILETIME ftStart;
70 LPWSTR lpszSubjectInfo;
71 LPWSTR lpszIssuerInfo;
72 LPWSTR lpszProtocolName;
73 LPWSTR lpszSignatureAlgName;
74 LPWSTR lpszEncryptionAlgName;
75 DWORD dwKeySize;
76 } WINHTTP_CERTIFICATE_INFO;
78 typedef struct
80 DWORD dwAccessType;
81 LPCWSTR lpszProxy;
82 LPCWSTR lpszProxyBypass;
83 } WINHTTP_PROXY_INFO, *LPWINHTTP_PROXY_INFO;
84 typedef WINHTTP_PROXY_INFO WINHTTP_PROXY_INFOW;
85 typedef LPWINHTTP_PROXY_INFO LPWINHTTP_PROXY_INFOW;
87 typedef struct
89 BOOL fAutoDetect;
90 LPWSTR lpszAutoConfigUrl;
91 LPWSTR lpszProxy;
92 LPWSTR lpszProxyBypass;
93 } WINHTTP_CURRENT_USER_IE_PROXY_CONFIG;
96 #ifdef __cplusplus
97 extern "C" {
98 #endif
100 BOOL WINAPI WinHttpCheckPlatform(void);
101 BOOL WINAPI WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG* config);
103 #ifdef __cplusplus
105 #endif
107 #endif /* __WINE_WINHTTP_H */