2020-12-08 17:00:24 +00:00
|
|
|
#ifdef __REACTOS__
|
|
|
|
#include "precomp.h"
|
|
|
|
#else/*
|
2006-01-15 22:25:16 +00:00
|
|
|
* WININET - Gopher implementation
|
|
|
|
*
|
|
|
|
* Copyright 2003 Kirill Smelkov
|
|
|
|
*
|
|
|
|
* This library is free software; you can redistribute it and/or
|
|
|
|
* modify it under the terms of the GNU Lesser General Public
|
|
|
|
* License as published by the Free Software Foundation; either
|
|
|
|
* version 2.1 of the License, or (at your option) any later version.
|
|
|
|
*
|
|
|
|
* This library is distributed in the hope that it will be useful,
|
|
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
|
|
* Lesser General Public License for more details.
|
|
|
|
*
|
|
|
|
* You should have received a copy of the GNU Lesser General Public
|
|
|
|
* License along with this library; if not, write to the Free Software
|
2007-11-29 12:52:01 +00:00
|
|
|
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
|
2006-01-15 22:25:16 +00:00
|
|
|
*/
|
|
|
|
|
2018-03-24 12:17:01 +00:00
|
|
|
#include <stdarg.h>
|
|
|
|
|
|
|
|
#include "windef.h"
|
|
|
|
#include "winbase.h"
|
|
|
|
#include "wininet.h"
|
|
|
|
|
|
|
|
#include "wine/debug.h"
|
2020-12-08 17:00:24 +00:00
|
|
|
#endif /* defined(__REACTOS__) */
|
2018-03-24 12:17:01 +00:00
|
|
|
|
|
|
|
WINE_DEFAULT_DEBUG_CHANNEL(wininet);
|
2006-01-15 22:25:16 +00:00
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherCreateLocatorA (WININET.@)
|
|
|
|
*
|
|
|
|
* Create a Gopher locator string from its component parts
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* lpszHost [I] host name
|
|
|
|
* nServerPort [I] port in host byteorder or INTERNET_INVALID_PORT_NUMBER for default
|
|
|
|
* lpszDisplayString [I] document/directory to display (NULL - default directory)
|
|
|
|
* lpszSelectorString [I] selector string for server (NULL - none)
|
|
|
|
* dwGopherType [I] selector type (see GOPHER_TYPE_xxx)
|
|
|
|
* lpszLocator [O] buffer for locator string
|
|
|
|
* lpdwBufferLength [I] locator buffer length
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
* TRUE on success
|
|
|
|
* FALSE on failure
|
|
|
|
*
|
|
|
|
*/
|
|
|
|
BOOL WINAPI GopherCreateLocatorA(
|
|
|
|
LPCSTR lpszHost,
|
|
|
|
INTERNET_PORT nServerPort,
|
|
|
|
LPCSTR lpszDisplayString,
|
|
|
|
LPCSTR lpszSelectorString,
|
|
|
|
DWORD dwGopherType,
|
|
|
|
LPSTR lpszLocator,
|
|
|
|
LPDWORD lpdwBufferLength
|
|
|
|
)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherCreateLocatorW (WININET.@)
|
2020-12-08 17:00:24 +00:00
|
|
|
*
|
2006-04-16 20:07:09 +00:00
|
|
|
* See GopherCreateLocatorA.
|
2006-01-15 22:25:16 +00:00
|
|
|
*/
|
|
|
|
BOOL WINAPI GopherCreateLocatorW(
|
|
|
|
LPCWSTR lpszHost,
|
|
|
|
INTERNET_PORT nServerPort,
|
|
|
|
LPCWSTR lpszDisplayString,
|
|
|
|
LPCWSTR lpszSelectorString,
|
|
|
|
DWORD dwHopherType,
|
|
|
|
LPWSTR lpszLocator,
|
|
|
|
LPDWORD lpdwBufferLength
|
|
|
|
)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherFindFirstFileA (WININET.@)
|
|
|
|
*
|
|
|
|
* Create a session and locate the requested documents
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* hConnect [I] Handle to a Gopher session returned by InternetConnect
|
|
|
|
* lpszLocator [I] - address of a string containing the name of the item to locate.
|
|
|
|
* - Locator created by the GopherCreateLocator function.
|
|
|
|
* lpszSearchString [I] what to search for if this request is to an index server.
|
|
|
|
* Otherwise, this parameter should be NULL.
|
2007-11-29 12:52:01 +00:00
|
|
|
* lpFindData [O] retrieved information
|
2006-01-15 22:25:16 +00:00
|
|
|
* dwFlags [I] INTERNET_FLAG_{HYPERLINK, NEED_FILE, NO_CACHE_WRITE, RELOAD, RESYNCHRONIZE}
|
|
|
|
* dwContext [I] application private value
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
* HINTERNET handle on success
|
|
|
|
* NULL on error
|
|
|
|
*/
|
|
|
|
HINTERNET WINAPI GopherFindFirstFileA(
|
|
|
|
HINTERNET hConnect,
|
|
|
|
LPCSTR lpszLocator,
|
|
|
|
LPCSTR lpszSearchString,
|
|
|
|
LPGOPHER_FIND_DATAA
|
|
|
|
lpFindData,
|
|
|
|
DWORD dwFlags,
|
2007-11-29 12:52:01 +00:00
|
|
|
DWORD_PTR dwContext
|
2006-01-15 22:25:16 +00:00
|
|
|
)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherFindFirstFileW (WININET.@)
|
|
|
|
*
|
2006-04-16 20:07:09 +00:00
|
|
|
* See GopherFindFirstFileA.
|
2006-01-15 22:25:16 +00:00
|
|
|
*/
|
|
|
|
HINTERNET WINAPI GopherFindFirstFileW(
|
|
|
|
HINTERNET hConnect,
|
|
|
|
LPCWSTR lpszLocator,
|
|
|
|
LPCWSTR lpszSearchString,
|
|
|
|
LPGOPHER_FIND_DATAW
|
|
|
|
lpFindData,
|
|
|
|
DWORD dwFlags,
|
2007-11-29 12:52:01 +00:00
|
|
|
DWORD_PTR dwContext
|
2006-01-15 22:25:16 +00:00
|
|
|
)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherGetAttributeA (WININET.@)
|
|
|
|
*
|
|
|
|
* Retrieves the specific attribute information from the server.
|
2020-12-08 17:00:24 +00:00
|
|
|
*
|
2006-01-15 22:25:16 +00:00
|
|
|
* RETURNS
|
|
|
|
* TRUE on success
|
|
|
|
* FALSE on failure
|
|
|
|
*/
|
|
|
|
BOOL WINAPI GopherGetAttributeA(
|
|
|
|
HINTERNET hConnect,
|
|
|
|
LPCSTR lpszLocator,
|
|
|
|
LPCSTR lpszAttributeName,
|
|
|
|
LPBYTE lpBuffer,
|
|
|
|
DWORD dwBufferLength,
|
|
|
|
LPDWORD lpdwCharactersReturned,
|
|
|
|
GOPHER_ATTRIBUTE_ENUMERATORA
|
|
|
|
lpfnEnumerator,
|
2007-11-29 12:52:01 +00:00
|
|
|
DWORD_PTR dwContext
|
2006-01-15 22:25:16 +00:00
|
|
|
)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherGetAttributeW (WININET.@)
|
|
|
|
*
|
2006-04-16 20:07:09 +00:00
|
|
|
* See GopherGetAttributeA.
|
2006-01-15 22:25:16 +00:00
|
|
|
*/
|
|
|
|
BOOL WINAPI GopherGetAttributeW(
|
|
|
|
HINTERNET hConnect,
|
|
|
|
LPCWSTR lpszLocator,
|
|
|
|
LPCWSTR lpszAttributeName,
|
|
|
|
LPBYTE lpBuffer,
|
|
|
|
DWORD dwBufferLength,
|
|
|
|
LPDWORD lpdwCharactersReturned,
|
|
|
|
GOPHER_ATTRIBUTE_ENUMERATORW
|
|
|
|
lpfnEnumerator,
|
2007-11-29 12:52:01 +00:00
|
|
|
DWORD_PTR dwContext
|
2006-01-15 22:25:16 +00:00
|
|
|
)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherGetLocatorTypeA (WININET.@)
|
|
|
|
*
|
|
|
|
* Parses a Gopher locator and determines its attributes.
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* lpszLocator [I] Address of the Gopher locator string to parse
|
|
|
|
* lpdwGopherType [O] destination for bitmasked type of locator
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
* TRUE on success
|
|
|
|
* FALSE on failure
|
|
|
|
*/
|
|
|
|
BOOL WINAPI GopherGetLocatorTypeA(LPCSTR lpszLocator, LPDWORD lpdwGopherType)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherGetLocatorTypeW (WININET.@)
|
|
|
|
*
|
2006-04-16 20:07:09 +00:00
|
|
|
* See GopherGetLocatorTypeA.
|
2006-01-15 22:25:16 +00:00
|
|
|
*/
|
|
|
|
BOOL WINAPI GopherGetLocatorTypeW(LPCWSTR lpszLocator, LPDWORD lpdwGopherType)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return FALSE;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherOpenFileA (WININET.@)
|
|
|
|
*
|
|
|
|
* Begins reading a Gopher data file from a Gopher server.
|
|
|
|
*
|
|
|
|
* PARAMS
|
|
|
|
* hConnect [I] handle to a Gopher session
|
|
|
|
* lpszLocator [I] file locator
|
|
|
|
* lpszView [I] file view (or default if NULL)
|
|
|
|
* dwFlags [I] INTERNET_FLAG_{HYPERLINK, NEED_FILE, NO_CACHE_WRITE, RELOAD, RESYNCHRONIZE}
|
|
|
|
* dwContext [I] application private value
|
|
|
|
*
|
|
|
|
* RETURNS
|
|
|
|
* handle on success
|
|
|
|
* NULL on error
|
|
|
|
*/
|
|
|
|
HINTERNET WINAPI GopherOpenFileA(
|
|
|
|
HINTERNET hConnect,
|
|
|
|
LPCSTR lpszLocator,
|
|
|
|
LPCSTR lpszView,
|
|
|
|
DWORD dwFlags,
|
2007-11-29 12:52:01 +00:00
|
|
|
DWORD_PTR dwContext
|
2006-01-15 22:25:16 +00:00
|
|
|
)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return NULL;
|
|
|
|
}
|
|
|
|
|
|
|
|
/***********************************************************************
|
|
|
|
* GopherOpenFileW (WININET.@)
|
|
|
|
*
|
2006-04-16 20:07:09 +00:00
|
|
|
* See GopherOpenFileA.
|
2006-01-15 22:25:16 +00:00
|
|
|
*/
|
|
|
|
HINTERNET WINAPI GopherOpenFileW(
|
|
|
|
HINTERNET hConnect,
|
|
|
|
LPCWSTR lpszLocator,
|
|
|
|
LPCWSTR lpszView,
|
|
|
|
DWORD dwFlags,
|
2007-11-29 12:52:01 +00:00
|
|
|
DWORD_PTR dwContext
|
2006-01-15 22:25:16 +00:00
|
|
|
)
|
|
|
|
{
|
|
|
|
FIXME("stub\n");
|
|
|
|
return NULL;
|
|
|
|
}
|