sync with trunk r46493
[reactos.git] / dll / win32 / wininet / gopher.c
1 /*
2 * WININET - Gopher implementation
3 *
4 * Copyright 2003 Kirill Smelkov
5 *
6 * This library is free software; you can redistribute it and/or
7 * modify it under the terms of the GNU Lesser General Public
8 * License as published by the Free Software Foundation; either
9 * version 2.1 of the License, or (at your option) any later version.
10 *
11 * This library is distributed in the hope that it will be useful,
12 * but WITHOUT ANY WARRANTY; without even the implied warranty of
13 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
14 * Lesser General Public License for more details.
15 *
16 * You should have received a copy of the GNU Lesser General Public
17 * License along with this library; if not, write to the Free Software
18 * Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
19 */
20
21 #include "config.h"
22
23 #include <stdarg.h>
24
25 #include "windef.h"
26 #include "winbase.h"
27 #include "wininet.h"
28
29 #include "wine/debug.h"
30
31 WINE_DEFAULT_DEBUG_CHANNEL(wininet);
32
33 /***********************************************************************
34 * GopherCreateLocatorA (WININET.@)
35 *
36 * Create a Gopher locator string from its component parts
37 *
38 * PARAMS
39 * lpszHost [I] host name
40 * nServerPort [I] port in host byteorder or INTERNET_INVALID_PORT_NUMBER for default
41 * lpszDisplayString [I] document/directory to display (NULL - default directory)
42 * lpszSelectorString [I] selector string for server (NULL - none)
43 * dwGopherType [I] selector type (see GOPHER_TYPE_xxx)
44 * lpszLocator [O] buffer for locator string
45 * lpdwBufferLength [I] locator buffer length
46 *
47 * RETURNS
48 * TRUE on success
49 * FALSE on failure
50 *
51 */
52 BOOL WINAPI GopherCreateLocatorA(
53 LPCSTR lpszHost,
54 INTERNET_PORT nServerPort,
55 LPCSTR lpszDisplayString,
56 LPCSTR lpszSelectorString,
57 DWORD dwGopherType,
58 LPSTR lpszLocator,
59 LPDWORD lpdwBufferLength
60 )
61 {
62 FIXME("stub\n");
63 return FALSE;
64 }
65
66 /***********************************************************************
67 * GopherCreateLocatorW (WININET.@)
68 *
69 * See GopherCreateLocatorA.
70 */
71 BOOL WINAPI GopherCreateLocatorW(
72 LPCWSTR lpszHost,
73 INTERNET_PORT nServerPort,
74 LPCWSTR lpszDisplayString,
75 LPCWSTR lpszSelectorString,
76 DWORD dwHopherType,
77 LPWSTR lpszLocator,
78 LPDWORD lpdwBufferLength
79 )
80 {
81 FIXME("stub\n");
82 return FALSE;
83 }
84
85 /***********************************************************************
86 * GopherFindFirstFileA (WININET.@)
87 *
88 * Create a session and locate the requested documents
89 *
90 * PARAMS
91 * hConnect [I] Handle to a Gopher session returned by InternetConnect
92 * lpszLocator [I] - address of a string containing the name of the item to locate.
93 * - Locator created by the GopherCreateLocator function.
94 * lpszSearchString [I] what to search for if this request is to an index server.
95 * Otherwise, this parameter should be NULL.
96 * lpFindData [O] retrieved information
97 * dwFlags [I] INTERNET_FLAG_{HYPERLINK, NEED_FILE, NO_CACHE_WRITE, RELOAD, RESYNCHRONIZE}
98 * dwContext [I] application private value
99 *
100 * RETURNS
101 * HINTERNET handle on success
102 * NULL on error
103 */
104 HINTERNET WINAPI GopherFindFirstFileA(
105 HINTERNET hConnect,
106 LPCSTR lpszLocator,
107 LPCSTR lpszSearchString,
108 LPGOPHER_FIND_DATAA
109 lpFindData,
110 DWORD dwFlags,
111 DWORD_PTR dwContext
112 )
113 {
114 FIXME("stub\n");
115 return NULL;
116 }
117
118 /***********************************************************************
119 * GopherFindFirstFileW (WININET.@)
120 *
121 * See GopherFindFirstFileA.
122 */
123 HINTERNET WINAPI GopherFindFirstFileW(
124 HINTERNET hConnect,
125 LPCWSTR lpszLocator,
126 LPCWSTR lpszSearchString,
127 LPGOPHER_FIND_DATAW
128 lpFindData,
129 DWORD dwFlags,
130 DWORD_PTR dwContext
131 )
132 {
133 FIXME("stub\n");
134 return NULL;
135 }
136
137 /***********************************************************************
138 * GopherGetAttributeA (WININET.@)
139 *
140 * Retrieves the specific attribute information from the server.
141 *
142 * RETURNS
143 * TRUE on success
144 * FALSE on failure
145 */
146 BOOL WINAPI GopherGetAttributeA(
147 HINTERNET hConnect,
148 LPCSTR lpszLocator,
149 LPCSTR lpszAttributeName,
150 LPBYTE lpBuffer,
151 DWORD dwBufferLength,
152 LPDWORD lpdwCharactersReturned,
153 GOPHER_ATTRIBUTE_ENUMERATORA
154 lpfnEnumerator,
155 DWORD_PTR dwContext
156 )
157 {
158 FIXME("stub\n");
159 return FALSE;
160 }
161
162 /***********************************************************************
163 * GopherGetAttributeW (WININET.@)
164 *
165 * See GopherGetAttributeA.
166 */
167 BOOL WINAPI GopherGetAttributeW(
168 HINTERNET hConnect,
169 LPCWSTR lpszLocator,
170 LPCWSTR lpszAttributeName,
171 LPBYTE lpBuffer,
172 DWORD dwBufferLength,
173 LPDWORD lpdwCharactersReturned,
174 GOPHER_ATTRIBUTE_ENUMERATORW
175 lpfnEnumerator,
176 DWORD_PTR dwContext
177 )
178 {
179 FIXME("stub\n");
180 return FALSE;
181 }
182
183 /***********************************************************************
184 * GopherGetLocatorTypeA (WININET.@)
185 *
186 * Parses a Gopher locator and determines its attributes.
187 *
188 * PARAMS
189 * lpszLocator [I] Address of the Gopher locator string to parse
190 * lpdwGopherType [O] destination for bitmasked type of locator
191 *
192 * RETURNS
193 * TRUE on success
194 * FALSE on failure
195 */
196 BOOL WINAPI GopherGetLocatorTypeA(LPCSTR lpszLocator, LPDWORD lpdwGopherType)
197 {
198 FIXME("stub\n");
199 return FALSE;
200 }
201
202 /***********************************************************************
203 * GopherGetLocatorTypeW (WININET.@)
204 *
205 * See GopherGetLocatorTypeA.
206 */
207 BOOL WINAPI GopherGetLocatorTypeW(LPCWSTR lpszLocator, LPDWORD lpdwGopherType)
208 {
209 FIXME("stub\n");
210 return FALSE;
211 }
212
213 /***********************************************************************
214 * GopherOpenFileA (WININET.@)
215 *
216 * Begins reading a Gopher data file from a Gopher server.
217 *
218 * PARAMS
219 * hConnect [I] handle to a Gopher session
220 * lpszLocator [I] file locator
221 * lpszView [I] file view (or default if NULL)
222 * dwFlags [I] INTERNET_FLAG_{HYPERLINK, NEED_FILE, NO_CACHE_WRITE, RELOAD, RESYNCHRONIZE}
223 * dwContext [I] application private value
224 *
225 * RETURNS
226 * handle on success
227 * NULL on error
228 */
229 HINTERNET WINAPI GopherOpenFileA(
230 HINTERNET hConnect,
231 LPCSTR lpszLocator,
232 LPCSTR lpszView,
233 DWORD dwFlags,
234 DWORD_PTR dwContext
235 )
236 {
237 FIXME("stub\n");
238 return NULL;
239 }
240
241 /***********************************************************************
242 * GopherOpenFileW (WININET.@)
243 *
244 * See GopherOpenFileA.
245 */
246 HINTERNET WINAPI GopherOpenFileW(
247 HINTERNET hConnect,
248 LPCWSTR lpszLocator,
249 LPCWSTR lpszView,
250 DWORD dwFlags,
251 DWORD_PTR dwContext
252 )
253 {
254 FIXME("stub\n");
255 return NULL;
256 }