reactos/dll/win32/wininet/gopher.c
2018-03-24 13:17:01 +01:00

257 lines
6.6 KiB
C

/*
* 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
* Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA
*/
#include "config.h"
#include <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "wininet.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(wininet);
/***********************************************************************
* 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.@)
*
* See GopherCreateLocatorA.
*/
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.
* lpFindData [O] retrieved information
* 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,
DWORD_PTR dwContext
)
{
FIXME("stub\n");
return NULL;
}
/***********************************************************************
* GopherFindFirstFileW (WININET.@)
*
* See GopherFindFirstFileA.
*/
HINTERNET WINAPI GopherFindFirstFileW(
HINTERNET hConnect,
LPCWSTR lpszLocator,
LPCWSTR lpszSearchString,
LPGOPHER_FIND_DATAW
lpFindData,
DWORD dwFlags,
DWORD_PTR dwContext
)
{
FIXME("stub\n");
return NULL;
}
/***********************************************************************
* GopherGetAttributeA (WININET.@)
*
* Retrieves the specific attribute information from the server.
*
* 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,
DWORD_PTR dwContext
)
{
FIXME("stub\n");
return FALSE;
}
/***********************************************************************
* GopherGetAttributeW (WININET.@)
*
* See GopherGetAttributeA.
*/
BOOL WINAPI GopherGetAttributeW(
HINTERNET hConnect,
LPCWSTR lpszLocator,
LPCWSTR lpszAttributeName,
LPBYTE lpBuffer,
DWORD dwBufferLength,
LPDWORD lpdwCharactersReturned,
GOPHER_ATTRIBUTE_ENUMERATORW
lpfnEnumerator,
DWORD_PTR dwContext
)
{
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.@)
*
* See GopherGetLocatorTypeA.
*/
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,
DWORD_PTR dwContext
)
{
FIXME("stub\n");
return NULL;
}
/***********************************************************************
* GopherOpenFileW (WININET.@)
*
* See GopherOpenFileA.
*/
HINTERNET WINAPI GopherOpenFileW(
HINTERNET hConnect,
LPCWSTR lpszLocator,
LPCWSTR lpszView,
DWORD dwFlags,
DWORD_PTR dwContext
)
{
FIXME("stub\n");
return NULL;
}