winhttp: Implement WinHttpAddRequestHeaders.
[wine] / dlls / winhttp / main.c
1 /*
2  * Copyright 2007 Jacek Caban for CodeWeavers
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 #include "config.h"
20
21 #include <stdarg.h>
22
23 #include "windef.h"
24 #include "winbase.h"
25 #include "objbase.h"
26 #include "winhttp.h"
27
28 #include "wine/debug.h"
29
30 WINE_DEFAULT_DEBUG_CHANNEL(winhttp);
31
32 /******************************************************************
33  *              DllMain (winhttp.@)
34  */
35 BOOL WINAPI DllMain(HINSTANCE hInstDLL, DWORD fdwReason, LPVOID lpv)
36 {
37     switch(fdwReason)
38     {
39     case DLL_WINE_PREATTACH:
40         return FALSE;  /* prefer native version */
41     case DLL_PROCESS_ATTACH:
42         DisableThreadLibraryCalls(hInstDLL);
43         break;
44     case DLL_PROCESS_DETACH:
45         break;
46     }
47     return TRUE;
48 }
49
50 /******************************************************************
51  *              DllGetClassObject (winhttp.@)
52  */
53 HRESULT WINAPI DllGetClassObject(REFCLSID rclsid, REFIID riid, LPVOID *ppv)
54 {
55     FIXME("(%s %s %p)\n", debugstr_guid(rclsid), debugstr_guid(riid), ppv);
56     return CLASS_E_CLASSNOTAVAILABLE;
57 }
58
59 /******************************************************************
60  *              DllCanUnloadNow (winhttp.@)
61  */
62 HRESULT WINAPI DllCanUnloadNow(void)
63 {
64     FIXME("()\n");
65     return S_FALSE;
66 }
67
68 /***********************************************************************
69  *          DllRegisterServer (winhttp.@)
70  */
71 HRESULT WINAPI DllRegisterServer(void)
72 {
73     FIXME("()\n");
74     return S_OK;
75 }
76
77 /***********************************************************************
78  *          DllUnregisterServer (winhttp.@)
79  */
80 HRESULT WINAPI DllUnregisterServer(void)
81 {
82     FIXME("()\n");
83     return S_OK;
84 }
85
86 /***********************************************************************
87  *          WinHttpSendRequest (winhttp.@)
88  */
89 BOOL WINAPI WinHttpSendRequest (HINTERNET hRequest, LPCWSTR pwszHeaders, DWORD dwHeadersLength,
90                                 LPVOID lpOptional, DWORD dwOptionalLength, DWORD dwTotalLength,
91                                 DWORD_PTR dwContext)
92 {
93     FIXME("(%s, %d, %d, %d): stub\n", debugstr_w(pwszHeaders), dwHeadersLength, dwOptionalLength, dwTotalLength);
94
95     SetLastError(ERROR_NOT_SUPPORTED);
96     return FALSE;
97 }
98
99 /***********************************************************************
100  *          WinHttpQueryOption (winhttp.@)
101  */
102 BOOL WINAPI WinHttpQueryOption (HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, LPDWORD lpdwBufferLength)
103 {
104     FIXME("(%d): stub\n", dwOption);
105
106     SetLastError(ERROR_NOT_SUPPORTED);
107     return FALSE;
108 }
109
110 /***********************************************************************
111  *          WinHttpQueryDataAvailable (winhttp.@)
112  */
113 BOOL WINAPI WinHttpQueryDataAvailable (HINTERNET hInternet, LPDWORD lpdwNumberOfBytesAvailable)
114 {
115     FIXME("stub\n");
116
117     SetLastError(ERROR_NOT_SUPPORTED);
118     return FALSE;
119 }
120
121 /***********************************************************************
122  *          WinHttpReceiveResponse (winhttp.@)
123  */
124 BOOL WINAPI WinHttpReceiveResponse (HINTERNET hRequest, LPVOID lpReserved)
125 {
126     FIXME("stub\n");
127
128     SetLastError(ERROR_NOT_SUPPORTED);
129     return FALSE;
130 }
131
132 /***********************************************************************
133  *          WinHttpSetOption (winhttp.@)
134  */
135 BOOL WINAPI WinHttpSetOption (HINTERNET hInternet, DWORD dwOption, LPVOID lpBuffer, DWORD dwBufferLength)
136 {
137     FIXME("stub\n");
138
139     SetLastError(ERROR_NOT_SUPPORTED);
140     return FALSE;
141 }
142
143 /***********************************************************************
144  *          WinHttpReadData (winhttp.@)
145  */
146 BOOL WINAPI WinHttpReadData (HINTERNET hInternet, LPVOID lpBuffer, DWORD dwNumberOfBytesToRead,
147                              LPDWORD lpdwNumberOfBytesRead)
148 {
149     FIXME("(%d): stub\n", dwNumberOfBytesToRead);
150
151     SetLastError(ERROR_NOT_SUPPORTED);
152     return FALSE;
153 }
154
155 /***********************************************************************
156  *          WinHttpWriteData (winhttp.@)
157  */
158 BOOL WINAPI WinHttpWriteData (HINTERNET hRequest, LPCVOID lpBuffer,
159                               DWORD dwNumberOfBytesToWrite, LPDWORD lpdwNumberOfBytesWritten)
160 {
161     FIXME("(%p, %d, %p): stub\n", lpBuffer, dwNumberOfBytesToWrite, lpdwNumberOfBytesWritten);
162
163     SetLastError(ERROR_NOT_SUPPORTED);
164     return FALSE;
165 }
166
167 /***********************************************************************
168  *          WinHttpQueryHeaders (winhttp.@)
169  */
170 BOOL WINAPI WinHttpQueryHeaders (HINTERNET hRequest, DWORD dwInfoLevel, LPCWSTR pwszName,
171                                  LPVOID lpBuffer, LPDWORD lpdwBufferLength, LPDWORD lpdwIndex)
172 {
173     FIXME("(%d): stub\n", dwInfoLevel);
174
175     SetLastError(ERROR_NOT_SUPPORTED);
176     return FALSE;
177 }
178
179 BOOL WINAPI InternetCrackUrlW( LPCWSTR, DWORD, DWORD, LPURL_COMPONENTSW );
180 BOOL WINAPI InternetCreateUrlW( LPURL_COMPONENTS, DWORD, LPWSTR, LPDWORD );
181
182 /***********************************************************************
183  *          WinHttpCrackUrl (winhttp.@)
184  */
185 BOOL WINAPI WinHttpCrackUrl( LPCWSTR url, DWORD len, DWORD flags, LPURL_COMPONENTSW components )
186 {
187     TRACE("%s, %d, %x, %p\n", debugstr_w(url), len, flags, components);
188     return InternetCrackUrlW( url, len, flags, components );
189 }
190
191 /***********************************************************************
192  *          WinHttpCreateUrl (winhttp.@)
193  */
194 BOOL WINAPI WinHttpCreateUrl( LPURL_COMPONENTS comps, DWORD flags, LPWSTR url, LPDWORD len )
195 {
196     TRACE("%p, 0x%08x, %p, %p\n", comps, flags, url, len);
197     return InternetCreateUrlW( comps, flags, url, len );
198 }