You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
549 lines
9.6 KiB
549 lines
9.6 KiB
/*++
|
|
|
|
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_
|
|
|
|
|