|
|
/*++
Copyright (c) 1994 Microsoft Corporation
Module Name:
inetp.h
Abstract:
Contains the Internet Gateway Service private functions proto type definitions.
Author:
Madan Appiah (madana) 11-Nov-1994
Environment:
User Mode - Win32 - MIDL
Revision History:
--*/
#ifndef _INETP_
#define _INETP_
#if defined(__cplusplus)
extern "C" { #endif
//
// types
//
typedef enum { TypeGenericHandle = 'HneG', TypeInternetHandle = 'tenI', TypeFtpConnectHandle = 'noCF', TypeFtpFindHandle = 'dnFF', TypeFtpFindHandleHtml = 'HnFF', TypeFtpFileHandle = 'liFF', TypeFtpFileHandleHtml = 'HlFF', TypeGopherConnectHandle = 'noCG', TypeGopherFindHandle = 'dnFG', TypeGopherFindHandleHtml = 'HnFG', TypeGopherFileHandle = 'liFG', TypeGopherFileHandleHtml = 'HlFG', TypeHttpConnectHandle = 'noCH', TypeHttpRequestHandle = 'qeRH', TypeFileRequestHandle = 'flRH', TypeWildHandle = 'dliW' } HINTERNET_HANDLE_TYPE, *LPHINTERNET_HANDLE_TYPE;
//
// typedef virtual close function.
//
typedef BOOL ( *CLOSE_HANDLE_FUNC ) ( HINTERNET ); typedef BOOL ( *CONNECT_CLOSE_HANDLE_FUNC ) ( HINTERNET, DWORD );
//
// prototypes
//
BOOL _InternetCloseHandle( IN HINTERNET hInternet );
DWORD _InternetCloseHandleNoContext( IN HINTERNET hInternet );
//
// remote/RPC/object functions
//
DWORD RIsHandleLocal( HINTERNET Handle, BOOL * IsLocalHandle, BOOL * IsAsyncHandle, HINTERNET_HANDLE_TYPE ExpectedHandleType );
DWORD RGetHandleType( HINTERNET Handle, LPHINTERNET_HANDLE_TYPE HandleType );
DWORD RSetUrl( HINTERNET Handle, LPSTR lpszUrl );
DWORD RGetUrl( HINTERNET Handle, LPSTR* lpszUrl );
DWORD RSetDirEntry( HINTERNET Handle, LPSTR lpszDirEntry );
DWORD RGetDirEntry( HINTERNET Handle, LPSTR* lpszDirEntry );
DWORD RSetParentHandle( HINTERNET hChild, HINTERNET hParent, BOOL DeleteWithChild );
DWORD RGetContext( HINTERNET hInternet, DWORD_PTR *lpdwContext );
DWORD RSetContext( HINTERNET hInternet, DWORD_PTR dwContext );
DWORD RGetTimeout( HINTERNET hInternet, DWORD dwTimeoutOption, LPDWORD lpdwTimeoutValue );
DWORD RSetTimeout( HINTERNET hInternet, DWORD dwTimeoutOption, DWORD dwTimeoutValue );
DWORD RGetStatusCallback( IN HINTERNET Handle, OUT LPWINHTTP_STATUS_CALLBACK lpStatusCallback );
DWORD RExchangeStatusCallback( IN HINTERNET Handle, IN OUT LPWINHTTP_STATUS_CALLBACK lpStatusCallback, IN BOOL fType, IN DWORD dwFlags );
DWORD RMakeInternetConnectObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, LPSTR lpszServerName, INTERNET_PORT nServerPort, DWORD dwFlags );
DWORD RMakeHttpReqObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, CLOSE_HANDLE_FUNC wCloseFunc, DWORD dwFlags );
//
// non-exported Internet subordinate functions
//
DWORD HttpWriteData( IN HINTERNET hRequest, OUT LPVOID lpBuffer, IN DWORD dwNumberOfBytesToWrite, OUT LPDWORD lpdwNumberOfBytesWritten, IN DWORD dwSocketFlags );
DWORD HttpReadData( IN HINTERNET hHttpRequest, OUT LPVOID lpBuffer, IN DWORD dwNumberOfBytesToRead, OUT LPDWORD lpdwNumberOfBytesRead, IN DWORD dwSocketFlags );
PUBLIC DWORD wHttpAddRequestHeaders( IN HINTERNET hRequest, IN LPCSTR lpszHeaders, IN DWORD dwHeadersLength, IN DWORD dwModifiers );
DWORD pHttpGetUrlInfo( IN HANDLE RequestHandle, IN LPBYTE Headers, IN DWORD HeadersLength, IN LPBYTE UrlBuf, IN OUT DWORD *UrlBufLen, IN BOOL ReloadFlagCheck );
BOOLAPI InternetCanonicalizeUrlA( IN LPCSTR lpszUrl, OUT LPSTR lpszBuffer, IN OUT LPDWORD lpdwBufferLength, IN DWORD dwFlags ); BOOLAPI InternetCanonicalizeUrlW( IN LPCWSTR lpszUrl, OUT LPWSTR lpszBuffer, IN OUT LPDWORD lpdwBufferLength, IN DWORD dwFlags ); #ifdef UNICODE
#define InternetCanonicalizeUrl InternetCanonicalizeUrlW
#else
#define InternetCanonicalizeUrl InternetCanonicalizeUrlA
#endif // !UNICODE
BOOLAPI InternetCombineUrlA( IN LPCSTR lpszBaseUrl, IN LPCSTR lpszRelativeUrl, OUT LPSTR lpszBuffer, IN OUT LPDWORD lpdwBufferLength, IN DWORD dwFlags ); BOOLAPI InternetCombineUrlW( IN LPCWSTR lpszBaseUrl, IN LPCWSTR lpszRelativeUrl, OUT LPWSTR lpszBuffer, IN OUT LPDWORD lpdwBufferLength, IN DWORD dwFlags ); #ifdef UNICODE
#define InternetCombineUrl InternetCombineUrlW
#else
#define InternetCombineUrl InternetCombineUrlA
#endif // !UNICODE
#if defined(__cplusplus)
} #endif
#endif // _INETP_
|