1 /**
2  * WinPR: Windows Portable Runtime
3  * Windows HTTP (WinHTTP)
4  *
5  * Copyright 2012 Marc-Andre Moreau <marcandre.moreau@gmail.com>
6  *
7  * Licensed under the Apache License, Version 2.0 (the "License");
8  * you may not use this file except in compliance with the License.
9  * You may obtain a copy of the License at
10  *
11  *     http://www.apache.org/licenses/LICENSE-2.0
12  *
13  * Unless required by applicable law or agreed to in writing, software
14  * distributed under the License is distributed on an "AS IS" BASIS,
15  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
16  * See the License for the specific language governing permissions and
17  * limitations under the License.
18  */
19 
20 #ifdef HAVE_CONFIG_H
21 #include "config.h"
22 #endif
23 
24 #include <winpr/winhttp.h>
25 
26 /**
27  * winhttp.dll:
28  *
29  * WinHttpAddRequestHeaders
30  * WinHttpAutoProxySvcMain
31  * WinHttpCheckPlatform
32  * WinHttpCloseHandle
33  * WinHttpConnect
34  * WinHttpCrackUrl
35  * WinHttpCreateProxyResolver
36  * WinHttpCreateUrl
37  * WinHttpDetectAutoProxyConfigUrl
38  * WinHttpFreeProxyResult
39  * WinHttpGetDefaultProxyConfiguration
40  * WinHttpGetIEProxyConfigForCurrentUser
41  * WinHttpGetProxyForUrl
42  * WinHttpGetProxyForUrlEx
43  * WinHttpGetProxyResult
44  * WinHttpOpen
45  * WinHttpOpenRequest
46  * WinHttpQueryAuthSchemes
47  * WinHttpQueryDataAvailable
48  * WinHttpQueryHeaders
49  * WinHttpQueryOption
50  * WinHttpReadData
51  * WinHttpReceiveResponse
52  * WinHttpResetAutoProxy
53  * WinHttpSendRequest
54  * WinHttpSetCredentials
55  * WinHttpSetDefaultProxyConfiguration
56  * WinHttpSetOption
57  * WinHttpSetStatusCallback
58  * WinHttpSetTimeouts
59  * WinHttpTimeFromSystemTime
60  * WinHttpTimeToSystemTime
61  * WinHttpWebSocketClose
62  * WinHttpWebSocketCompleteUpgrade
63  * WinHttpWebSocketQueryCloseStatus
64  * WinHttpWebSocketReceive
65  * WinHttpWebSocketSend
66  * WinHttpWebSocketShutdown
67  * WinHttpWriteData
68  */
69 
70 #ifndef _WIN32
71 
WinHttpTimeFromSystemTime(const SYSTEMTIME * pst,LPWSTR pwszTime)72 BOOL WinHttpTimeFromSystemTime(const SYSTEMTIME* pst, LPWSTR pwszTime)
73 {
74 	return TRUE;
75 }
76 
WinHttpTimeToSystemTime(LPCWSTR pwszTime,SYSTEMTIME * pst)77 BOOL WinHttpTimeToSystemTime(LPCWSTR pwszTime, SYSTEMTIME* pst)
78 {
79 	return TRUE;
80 }
81 
WinHttpCrackUrl(LPCWSTR pwszUrl,DWORD dwUrlLength,DWORD dwFlags,LPURL_COMPONENTS lpUrlComponents)82 BOOL WinHttpCrackUrl(LPCWSTR pwszUrl, DWORD dwUrlLength, DWORD dwFlags,
83                      LPURL_COMPONENTS lpUrlComponents)
84 {
85 	return TRUE;
86 }
87 
WinHttpCreateUrl(LPURL_COMPONENTS lpUrlComponents,DWORD dwFlags,LPWSTR pwszUrl,LPDWORD pdwUrlLength)88 BOOL WinHttpCreateUrl(LPURL_COMPONENTS lpUrlComponents, DWORD dwFlags, LPWSTR pwszUrl,
89                       LPDWORD pdwUrlLength)
90 {
91 	return TRUE;
92 }
93 
WinHttpCheckPlatform(void)94 BOOL WinHttpCheckPlatform(void)
95 {
96 	return TRUE;
97 }
98 
WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO * pProxyInfo)99 BOOL WinHttpGetDefaultProxyConfiguration(WINHTTP_PROXY_INFO* pProxyInfo)
100 {
101 	return TRUE;
102 }
103 
WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO * pProxyInfo)104 BOOL WinHttpSetDefaultProxyConfiguration(WINHTTP_PROXY_INFO* pProxyInfo)
105 {
106 	return TRUE;
107 }
108 
WinHttpOpen(LPCWSTR pszAgentW,DWORD dwAccessType,LPCWSTR pszProxyW,LPCWSTR pszProxyBypassW,DWORD dwFlags)109 HINTERNET WinHttpOpen(LPCWSTR pszAgentW, DWORD dwAccessType, LPCWSTR pszProxyW,
110                       LPCWSTR pszProxyBypassW, DWORD dwFlags)
111 {
112 	return NULL;
113 }
114 
WinHttpCloseHandle(HINTERNET hInternet)115 BOOL WinHttpCloseHandle(HINTERNET hInternet)
116 {
117 	return TRUE;
118 }
119 
WinHttpConnect(HINTERNET hSession,LPCWSTR pswzServerName,INTERNET_PORT nServerPort,DWORD dwReserved)120 HINTERNET WinHttpConnect(HINTERNET hSession, LPCWSTR pswzServerName, INTERNET_PORT nServerPort,
121                          DWORD dwReserved)
122 {
123 	return NULL;
124 }
125 
WinHttpReadData(HINTERNET hRequest,LPVOID lpBuffer,DWORD dwNumberOfBytesToRead,LPDWORD lpdwNumberOfBytesRead)126 BOOL WinHttpReadData(HINTERNET hRequest, LPVOID lpBuffer, DWORD dwNumberOfBytesToRead,
127                      LPDWORD lpdwNumberOfBytesRead)
128 {
129 	return TRUE;
130 }
131 
WinHttpWriteData(HINTERNET hRequest,LPCVOID lpBuffer,DWORD dwNumberOfBytesToWrite,LPDWORD lpdwNumberOfBytesWritten)132 BOOL WinHttpWriteData(HINTERNET hRequest, LPCVOID lpBuffer, DWORD dwNumberOfBytesToWrite,
133                       LPDWORD lpdwNumberOfBytesWritten)
134 {
135 	return TRUE;
136 }
137 
WinHttpQueryDataAvailable(HINTERNET hRequest,LPDWORD lpdwNumberOfBytesAvailable)138 BOOL WinHttpQueryDataAvailable(HINTERNET hRequest, LPDWORD lpdwNumberOfBytesAvailable)
139 {
140 	return TRUE;
141 }
142 
WinHttpQueryOption(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,LPDWORD lpdwBufferLength)143 BOOL WinHttpQueryOption(HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer,
144                         LPDWORD lpdwBufferLength)
145 {
146 	return TRUE;
147 }
148 
WinHttpSetOption(HINTERNET hInternet,DWORD dwOption,LPVOID lpBuffer,DWORD dwBufferLength)149 BOOL WinHttpSetOption(HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, DWORD dwBufferLength)
150 {
151 	return TRUE;
152 }
153 
WinHttpSetTimeouts(HINTERNET hInternet,int nResolveTimeout,int nConnectTimeout,int nSendTimeout,int nReceiveTimeout)154 BOOL WinHttpSetTimeouts(HINTERNET hInternet, int nResolveTimeout, int nConnectTimeout,
155                         int nSendTimeout, int nReceiveTimeout)
156 {
157 	return TRUE;
158 }
159 
WinHttpIsHostInProxyBypassList(const WINHTTP_PROXY_INFO * pProxyInfo,PCWSTR pwszHost,INTERNET_SCHEME tScheme,INTERNET_PORT nPort,BOOL * pfIsInBypassList)160 DWORD WinHttpIsHostInProxyBypassList(const WINHTTP_PROXY_INFO* pProxyInfo, PCWSTR pwszHost,
161                                      INTERNET_SCHEME tScheme, INTERNET_PORT nPort,
162                                      BOOL* pfIsInBypassList)
163 {
164 	return 0;
165 }
166 
WinHttpSetStatusCallback(HINTERNET hInternet,WINHTTP_STATUS_CALLBACK lpfnInternetCallback,DWORD dwNotificationFlags,DWORD_PTR dwReserved)167 WINHTTP_STATUS_CALLBACK WinHttpSetStatusCallback(HINTERNET hInternet,
168                                                  WINHTTP_STATUS_CALLBACK lpfnInternetCallback,
169                                                  DWORD dwNotificationFlags, DWORD_PTR dwReserved)
170 {
171 	return NULL;
172 }
173 
WinHttpOpenRequest(HINTERNET hConnect,LPCWSTR pwszVerb,LPCWSTR pwszObjectName,LPCWSTR pwszVersion,LPCWSTR pwszReferrer,LPCWSTR * ppwszAcceptTypes,DWORD dwFlags)174 HINTERNET WinHttpOpenRequest(HINTERNET hConnect, LPCWSTR pwszVerb, LPCWSTR pwszObjectName,
175                              LPCWSTR pwszVersion, LPCWSTR pwszReferrer, LPCWSTR* ppwszAcceptTypes,
176                              DWORD dwFlags)
177 {
178 	return NULL;
179 }
180 
WinHttpAddRequestHeaders(HINTERNET hRequest,LPCWSTR pwszHeaders,DWORD dwHeadersLength,DWORD dwModifiers)181 BOOL WinHttpAddRequestHeaders(HINTERNET hRequest, LPCWSTR pwszHeaders, DWORD dwHeadersLength,
182                               DWORD dwModifiers)
183 {
184 	return TRUE;
185 }
186 
WinHttpSendRequest(HINTERNET hRequest,LPCWSTR lpszHeaders,DWORD dwHeadersLength,LPVOID lpOptional,DWORD dwOptionalLength,DWORD dwTotalLength,DWORD_PTR dwContext)187 BOOL WinHttpSendRequest(HINTERNET hRequest, LPCWSTR lpszHeaders, DWORD dwHeadersLength,
188                         LPVOID lpOptional, DWORD dwOptionalLength, DWORD dwTotalLength,
189                         DWORD_PTR dwContext)
190 {
191 	return TRUE;
192 }
193 
WinHttpSetCredentials(HINTERNET hRequest,DWORD AuthTargets,DWORD AuthScheme,LPCWSTR pwszUserName,LPCWSTR pwszPassword,LPVOID pAuthParams)194 BOOL WinHttpSetCredentials(HINTERNET hRequest, DWORD AuthTargets, DWORD AuthScheme,
195                            LPCWSTR pwszUserName, LPCWSTR pwszPassword, LPVOID pAuthParams)
196 {
197 	return TRUE;
198 }
199 
WinHttpQueryAuthSchemes(HINTERNET hRequest,LPDWORD lpdwSupportedSchemes,LPDWORD lpdwFirstScheme,LPDWORD pdwAuthTarget)200 BOOL WinHttpQueryAuthSchemes(HINTERNET hRequest, LPDWORD lpdwSupportedSchemes,
201                              LPDWORD lpdwFirstScheme, LPDWORD pdwAuthTarget)
202 {
203 	return TRUE;
204 }
205 
WinHttpQueryAuthParams(HINTERNET hRequest,DWORD AuthScheme,LPVOID * pAuthParams)206 BOOL WinHttpQueryAuthParams(HINTERNET hRequest, DWORD AuthScheme, LPVOID* pAuthParams)
207 {
208 	return TRUE;
209 }
210 
WinHttpReceiveResponse(HINTERNET hRequest,LPVOID lpReserved)211 BOOL WinHttpReceiveResponse(HINTERNET hRequest, LPVOID lpReserved)
212 {
213 	return TRUE;
214 }
215 
WinHttpQueryHeaders(HINTERNET hRequest,DWORD dwInfoLevel,LPCWSTR pwszName,LPVOID lpBuffer,LPDWORD lpdwBufferLength,LPDWORD lpdwIndex)216 BOOL WinHttpQueryHeaders(HINTERNET hRequest, DWORD dwInfoLevel, LPCWSTR pwszName, LPVOID lpBuffer,
217                          LPDWORD lpdwBufferLength, LPDWORD lpdwIndex)
218 {
219 	return TRUE;
220 }
221 
WinHttpDetectAutoProxyConfigUrl(DWORD dwAutoDetectFlags,LPWSTR * ppwstrAutoConfigUrl)222 BOOL WinHttpDetectAutoProxyConfigUrl(DWORD dwAutoDetectFlags, LPWSTR* ppwstrAutoConfigUrl)
223 {
224 	return TRUE;
225 }
226 
WinHttpGetProxyForUrl(HINTERNET hSession,LPCWSTR lpcwszUrl,WINHTTP_AUTOPROXY_OPTIONS * pAutoProxyOptions,WINHTTP_PROXY_INFO * pProxyInfo)227 BOOL WinHttpGetProxyForUrl(HINTERNET hSession, LPCWSTR lpcwszUrl,
228                            WINHTTP_AUTOPROXY_OPTIONS* pAutoProxyOptions,
229                            WINHTTP_PROXY_INFO* pProxyInfo)
230 {
231 	return TRUE;
232 }
233 
WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG * pProxyConfig)234 BOOL WinHttpGetIEProxyConfigForCurrentUser(WINHTTP_CURRENT_USER_IE_PROXY_CONFIG* pProxyConfig)
235 {
236 	return TRUE;
237 }
238 
239 #endif
240