Sweden-Number/dlls/httpapi/httpapi_main.c

235 lines
8.1 KiB
C

/*
* HTTPAPI implementation
*
* Copyright 2009 Austin English
*
* 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 <stdarg.h>
#include "windef.h"
#include "winbase.h"
#include "http.h"
#include "wine/debug.h"
WINE_DEFAULT_DEBUG_CHANNEL(httpapi);
BOOL WINAPI DllMain( HINSTANCE hinst, DWORD reason, LPVOID lpv )
{
switch(reason)
{
case DLL_WINE_PREATTACH:
return FALSE; /* prefer native version */
case DLL_PROCESS_ATTACH:
DisableThreadLibraryCalls( hinst );
break;
}
return TRUE;
}
/***********************************************************************
* HttpInitialize (HTTPAPI.@)
*
* Initializes HTTP Server API engine
*
* PARAMS
* version [ I] HTTP API version which caller will use
* flags [ I] initialization options which specify parts of API what will be used
* reserved [IO] reserved, must be NULL
*
* RETURNS
* NO_ERROR if function succeeds, or error code if function fails
*
*/
ULONG WINAPI HttpInitialize( HTTPAPI_VERSION version, ULONG flags, PVOID reserved )
{
FIXME( "({%d,%d}, 0x%x, %p): stub!\n", version.HttpApiMajorVersion,
version.HttpApiMinorVersion, flags, reserved );
return NO_ERROR;
}
/***********************************************************************
* HttpTerminate (HTTPAPI.@)
*
* Cleans up HTTP Server API engine resources allocated by HttpInitialize
*
* PARAMS
* flags [ I] options which specify parts of API what should be released
* reserved [IO] reserved, must be NULL
*
* RETURNS
* NO_ERROR if function succeeds, or error code if function fails
*
*/
ULONG WINAPI HttpTerminate( ULONG flags, PVOID reserved )
{
FIXME( "(0x%x, %p): stub!\n", flags, reserved );
return NO_ERROR;
}
/***********************************************************************
* HttpDeleteServiceConfiguration (HTTPAPI.@)
*
* Remove configuration record from HTTP Server API configuration store
*
* PARAMS
* handle [I] reserved, must be 0
* type [I] configuration record type
* config [I] buffer which contains configuration record information
* length [I] length of configuration record buffer
* overlapped [I] reserved, must be NULL
*
* RETURNS
* NO_ERROR if function succeeds, or error code if function fails
*
*/
ULONG WINAPI HttpDeleteServiceConfiguration( HANDLE handle, HTTP_SERVICE_CONFIG_ID type,
PVOID config, ULONG length, LPOVERLAPPED overlapped )
{
FIXME( "(%p, %d, %p, %d, %p): stub!\n", handle, type, config, length, overlapped );
return NO_ERROR;
}
/***********************************************************************
* HttpQueryServiceConfiguration (HTTPAPI.@)
*
* Retrieves configuration records from HTTP Server API configuration store
*
* PARAMS
* handle [ I] reserved, must be 0
* type [ I] configuration records type
* query [ I] buffer which contains query data used to retrieve records
* query_len [ I] length of query buffer
* buffer [IO] buffer to store query results
* buffer_len [ I] length of output buffer
* data_len [ O] optional pointer to a buffer which receives query result length
* overlapped [ I] reserved, must be NULL
*
* RETURNS
* NO_ERROR if function succeeds, or error code if function fails
*
*/
ULONG WINAPI HttpQueryServiceConfiguration( HANDLE handle, HTTP_SERVICE_CONFIG_ID type,
PVOID query, ULONG query_len, PVOID buffer, ULONG buffer_len,
PULONG data_len, LPOVERLAPPED overlapped )
{
FIXME( "(%p, %d, %p, %d, %p, %d, %p, %p): stub!\n", handle, type, query, query_len,
buffer, buffer_len, data_len, overlapped );
return ERROR_FILE_NOT_FOUND;
}
/***********************************************************************
* HttpSetServiceConfiguration (HTTPAPI.@)
*
* Add configuration record to HTTP Server API configuration store
*
* PARAMS
* handle [I] reserved, must be 0
* type [I] configuration record type
* config [I] buffer which contains configuration record information
* length [I] length of configuration record buffer
* overlapped [I] reserved, must be NULL
*
* RETURNS
* NO_ERROR if function succeeds, or error code if function fails
*
*/
ULONG WINAPI HttpSetServiceConfiguration( HANDLE handle, HTTP_SERVICE_CONFIG_ID type,
PVOID config, ULONG length, LPOVERLAPPED overlapped )
{
FIXME( "(%p, %d, %p, %d, %p): stub!\n", handle, type, config, length, overlapped );
return NO_ERROR;
}
/***********************************************************************
* HttpCreateHttpHandle (HTTPAPI.@)
*
* Creates a handle to the HTTP request queue
*
* PARAMS
* handle [O] handle to request queue
* reserved [I] reserved, must be NULL
*
* RETURNS
* NO_ERROR if function succeeds, or error code if function fails
*
*/
ULONG WINAPI HttpCreateHttpHandle( PHANDLE handle, ULONG reserved )
{
FIXME( "(%p, %d): stub!\n", handle, reserved);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/***********************************************************************
* HttpAddUrl (HTTPAPI.@)
*/
ULONG WINAPI HttpAddUrl( HANDLE handle, PCWSTR url, PVOID reserved )
{
FIXME( "(%p, %s, %p): stub!\n", handle, debugstr_w(url), reserved );
return ERROR_CALL_NOT_IMPLEMENTED;
}
/***********************************************************************
* HttpRemoveUrl (HTTPAPI.@)
*/
ULONG WINAPI HttpRemoveUrl(HANDLE queue, const WCHAR *url)
{
FIXME("queue %p, url %s, stub!\n", queue, debugstr_w(url));
return ERROR_CALL_NOT_IMPLEMENTED;
}
/***********************************************************************
* HttpReceiveHttpRequest (HTTPAPI.@)
*/
ULONG WINAPI HttpReceiveHttpRequest(HANDLE queue, HTTP_REQUEST_ID id, ULONG flags,
HTTP_REQUEST *request, ULONG size, ULONG *ret_size, OVERLAPPED *ovl)
{
FIXME("queue %p, id %s, flags %#x, request %p, size %#x, ret_size %p, ovl %p, stub!\n",
queue, wine_dbgstr_longlong(id), flags, request, size, ret_size, ovl);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/***********************************************************************
* HttpSendHttpResponse (HTTPAPI.@)
*/
ULONG WINAPI HttpSendHttpResponse(HANDLE queue, HTTP_REQUEST_ID id, ULONG flags,
HTTP_RESPONSE *response, HTTP_CACHE_POLICY *cache_policy, ULONG *ret_size,
void *reserved1, ULONG reserved2, OVERLAPPED *ovl, HTTP_LOG_DATA *log_data)
{
FIXME("queue %p, id %s, flags %#x, response %p, cache_policy %p, "
"ret_size %p, reserved1 %p, reserved2 %#x, ovl %p, log_data %p, stub!\n",
queue, wine_dbgstr_longlong(id), flags, response, cache_policy, ret_size, reserved1, reserved2, ovl, log_data);
return ERROR_CALL_NOT_IMPLEMENTED;
}
/***********************************************************************
* HttpCreateServerSession (HTTPAPI.@)
*/
ULONG WINAPI HttpCreateServerSession( HTTPAPI_VERSION version, HTTP_SERVER_SESSION_ID *id, ULONG reserved )
{
FIXME( "({%d,%d}, %p, %d): stub!\n", version.HttpApiMajorVersion, version.HttpApiMinorVersion, id, reserved );
return ERROR_ACCESS_DENIED;
}
/***********************************************************************
* HttpCloseServerSession (HTTPAPI.@)
*/
ULONG WINAPI HttpCloseServerSession( HTTP_SERVER_SESSION_ID id )
{
FIXME( "(%s): stub!\n", wine_dbgstr_longlong(id));
return ERROR_INVALID_PARAMETER;
}