|
|
/*++
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
//
// manifests
//
//
// flags for close functions
//
#define CF_EXPEDITED_CLOSE 0x00000001
//
// define used to expire entries
//
#define ONE_HOUR_DELTA (60 * 60 * (LONGLONG)10000000)
//
// define signature for LockRequestInfo structure
//
#define LOCK_REQUEST_SIGNATURE 0xAA55AA55
//
// 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 enum { HTML_STATE_INVALID, HTML_STATE_START, HTML_STATE_HEADER, HTML_STATE_WELCOME, HTML_STATE_DIR_HEADER, HTML_STATE_BODY, HTML_STATE_DIR_FOOTER, HTML_STATE_FOOTER, #ifdef EXTENDED_ERROR_HTML
HTML_STATE_END, HTML_STATE_ERROR_BODY #else
HTML_STATE_END #endif
} HTML_STATE, *LPHTML_STATE;
typedef enum { READ_BUFFER_SIZE_INDEX, WRITE_BUFFER_SIZE_INDEX } BUFFER_SIZE_INDEX;
typedef struct {
DWORD dwSignature; DWORD dwSize; DWORD dwCount; BOOL fNoCacheLookup; BOOL fNoDelete; HANDLE hFile; LPSTR UrlName; LPSTR FileName; char rgBuff[1]; } LOCK_REQUEST_INFO, *LPLOCK_REQUEST_INFO;
//
// 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 RSetHtmlHandleType( HINTERNET Handle );
DWORD RSetHtmlState( HINTERNET Handle, HTML_STATE State );
DWORD RGetHtmlState( HINTERNET Handle, LPHTML_STATE lpState );
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 RGetParentHandle( HINTERNET hChild, LPHINTERNET lphParent );
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 RGetBufferSize( HINTERNET hInternet, DWORD dwBufferSizeOption, LPDWORD lpdwBufferSize );
DWORD RSetBufferSize( HINTERNET hInternet, DWORD dwBufferSizeOption, DWORD dwBufferSize );
DWORD RGetStatusCallback( IN HINTERNET Handle, OUT LPINTERNET_STATUS_CALLBACK lpStatusCallback );
DWORD RExchangeStatusCallback( IN HINTERNET Handle, IN OUT LPINTERNET_STATUS_CALLBACK lpStatusCallback, IN BOOL fType );
DWORD RAddAsyncRequest( IN HINTERNET Handle, BOOL fNoCallbackOK );
DWORD RRemoveAsyncRequest( IN HINTERNET Handle );
DWORD RMakeInternetConnectObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, CONNECT_CLOSE_HANDLE_FUNC wCloseFunc, LPSTR lpszServerName, INTERNET_PORT nServerPort, LPSTR lpszUserName, LPSTR lpszPassword, DWORD ServiceType, DWORD dwFlags, DWORD_PTR dwContext );
HINTERNET FindExistingConnectObject( IN HINTERNET hInternet, IN LPSTR lpHostName, IN INTERNET_PORT nPort, IN LPSTR lpszUserName, IN LPSTR lpszPassword, IN DWORD dwServiceType, IN DWORD dwFlags, IN DWORD_PTR dwContext );
INT FlushExistingConnectObjects( IN HINTERNET hInternet );
DWORD RMakeGfrFindObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, CLOSE_HANDLE_FUNC wCloseFunc, DWORD_PTR dwContext );
DWORD RMakeGfrFixedObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, DWORD dwFixedType );
DWORD RMakeGfrFileObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, CLOSE_HANDLE_FUNC wCloseFunc, DWORD_PTR dwContext );
DWORD RGetLocalHandle( HINTERNET Handle, HINTERNET *LocalHandle );
DWORD RMakeHttpReqObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, CLOSE_HANDLE_FUNC wCloseFunc, DWORD dwFlags, DWORD_PTR dwContext );
//
// FTP remote functions
//
DWORD RMakeFtpFindObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, CLOSE_HANDLE_FUNC wCloseFunc, DWORD_PTR dwContext );
DWORD RMakeFtpFileObjectHandle( HINTERNET ParentHandle, HINTERNET *ChildHandle, CLOSE_HANDLE_FUNC wCloseFunc, DWORD_PTR dwContext );
//
// non-exported Internet subordinate functions
//
BOOL FtpFindNextFileA( IN HINTERNET hFtpSession, OUT LPWIN32_FIND_DATA lpFindFileData );
BOOL FtpReadFile( IN HINTERNET hFtpSession, IN LPVOID lpBuffer, IN DWORD dwNumberOfBytesToRead, OUT LPDWORD lpdwNumberOfBytesRead );
BOOL FtpWriteFile( IN HINTERNET hFtpSession, IN LPVOID lpBuffer, IN DWORD dwNumberOfBytesToWrite, OUT LPDWORD lpdwNumberOfBytesWritten );
BOOL FtpCloseFile( IN HINTERNET hFtpSession );
BOOL GopherFindNextA( IN HINTERNET hGopherFind, OUT LPGOPHER_FIND_DATA lpFindFileData );
BOOL GopherReadFile( IN HINTERNET hGopherFile, IN LPVOID lpBuffer, IN DWORD dwNumberOfBytesToRead, OUT LPDWORD lpdwNumberOfBytesRead );
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 wFtpConnect( IN LPCSTR pszFtpSite, IN INTERNET_PORT nServerPort, IN LPCSTR pszUsername, IN LPCSTR pszPassword, IN DWORD dwService, IN DWORD dwFlags, OUT LPHINTERNET lphInternet );
DWORD wFtpMakeConnection( IN HINTERNET hFtpSession, IN LPCSTR pszUsername, IN LPCSTR pszPassword );
DWORD wFtpDisconnect( IN HINTERNET hFtpSession, IN DWORD dwFlags );
DWORD wFtpQueryDataAvailable( IN HINTERNET hFtpSession, OUT LPDWORD lpdwNumberOfBytesAvailable );
DWORD wGopherQueryDataAvailable( IN HINTERNET hFile, OUT LPDWORD lpdwNumberOfBytesAvailable );
DWORD pHttpGetUrlInfo( IN HANDLE RequestHandle, IN LPBYTE Headers, IN DWORD HeadersLength, IN LPBYTE UrlBuf, IN OUT DWORD *UrlBufLen, IN BOOL ReloadFlagCheck );
DWORD pFtpGetUrlString( IN LPSTR lpszTargetName, IN LPSTR lpszCWD, IN LPSTR lpszObjectName, IN LPSTR lpszExtension, IN DWORD dwPort, OUT LPSTR *lplpUrlName, OUT LPDWORD lpdwUrlLen );
DWORD pFtpGetUrlInfo( IN HANDLE InternetConnectHandle, OUT LPSTR Url );
DWORD pGopherGetUrlString( IN LPSTR lpszTargetName, IN LPSTR lpszCWD, IN LPSTR lpszObjectName, IN LPSTR lpszExtension, IN DWORD dwPort, OUT LPSTR *lplpUrlName, OUT LPDWORD lpdwUrlLen );
DWORD pGfrGetUrlInfo( IN HANDLE InternetConnectHandle, OUT LPSTR Url );
DWORD InbLocalEndCacheWrite( IN HINTERNET hFtpFile, IN LPSTR lpszFileExtension, IN BOOL fNormal );
DWORD InbGopherLocalEndCacheWrite( IN HINTERNET hGopherFile, IN LPSTR lpszFileExtension, IN BOOL fNormal );
BOOL GetCurrentSettingsVersion( LPDWORD lpdwVer );
BOOL IncrementCurrentSettingsVersion( LPDWORD lpdwVer );
extern DWORD GlobalSettingsVersion; extern BOOL GlobalSettingsLoaded; extern const char vszSyncMode[]; extern const char vszInvalidFilenameChars[];
#if defined(__cplusplus)
} #endif
#endif // _INETP_
|