|
|
/*++
Copyright (c) 1995 Microsoft Corporation
Module Name:
globals.h
Abstract:
External definitions for data in dll\globals.c
Author:
Richard L Firth (rfirth) 15-Jul-1995
Revision History:
15-Jul-1995 rfirth Created
--*/
#if defined(__cplusplus)
extern "C" { #endif
// Side-By-Side (loading different urlmon )
#ifdef _SBS_
#define URLMON_DLL "sbsurlmk.dll"
#else
#define URLMON_DLL "urlmon.dll"
#endif // _SBS_
//
// macros
//
#define IsGlobalStateOnline() \
(((GlobalDllState & INTERNET_LINE_STATE_MASK) == INTERNET_STATE_ONLINE) \ ? TRUE : FALSE)
#define IsGlobalStateOffline() \
(((GlobalDllState & INTERNET_LINE_STATE_MASK) == INTERNET_STATE_OFFLINE) \ ? TRUE : FALSE)
#define IsGlobalStateOfflineUser() \
(((GlobalDllState \ & (INTERNET_LINE_STATE_MASK | INTERNET_STATE_OFFLINE_USER)) \ == (INTERNET_STATE_OFFLINE | INTERNET_STATE_OFFLINE_USER)) \ ? TRUE : FALSE)
#define UPDATE_GLOBAL_PROXY_VERSION() \
InterlockedIncrement((LPLONG)&GlobalProxyVersionCount)
#define COOKIES_WARN 0 // warn with a dlg if using cookies
#define COOKIES_ALLOW 1 // allow cookies without any warning
#define COOKIES_DENY 2 // disable cookies completely
#define INTERNET_MAX_WELL_KNOWN_PORT 1023
#define INTERNET_DEFAULT_FTP_PORT 21
#define INTERNET_DEFAULT_SMTP_PORT 25
#define INTERNET_DEFAULT_POP3_PORT 110
#define INTERNET_DEFAULT_NNTP_PORT 119
#define INTERNET_DEFAULT_IMAP_PORT 143
//
// external variables
//
extern HINSTANCE GlobalDllHandle; #define GlobalResHandle GlobalDllHandle // change for plugable ui
extern DWORD GlobalPlatformType; extern DWORD GlobalPlatformVersion5; extern DWORD GlobalPlatformMillennium; extern DWORD GlobalPlatformWhistler;
extern DWORD GlobalDllState; extern BOOL GlobalDataInitialized; extern BOOL GlobalTruncateFileName;
extern DWORD InternetMajorVersion; extern DWORD InternetMinorVersion; extern DWORD InternetBuildNumber;
extern DWORD GlobalConnectTimeout; extern DWORD GlobalConnectRetries; extern DWORD GlobalSendTimeout; extern DWORD GlobalReceiveTimeout; extern DWORD GlobalDataSendTimeout; extern DWORD GlobalDataReceiveTimeout; extern DWORD GlobalFromCacheTimeout; extern DWORD GlobalFtpAcceptTimeout; extern DWORD GlobalTransportPacketLength; extern DWORD GlobalKeepAliveSocketTimeout; extern DWORD GlobalSocketSendBufferLength; extern DWORD GlobalSocketReceiveBufferLength; extern DWORD GlobalMaxHttpRedirects; extern DWORD GlobalMaxConnectionsPerServer; extern DWORD GlobalMaxConnectionsPer1_0Server; extern DWORD GlobalConnectionInactiveTimeout; extern DWORD GlobalServerInfoTimeout; extern const DWORD GlobalMaxSizeStatusLineResultText; extern BOOL GlobalHaveInternetOpened;
extern DWORD GlobalCacheMode; #define CACHEMODE_NORMAL 0
#define CACHEMODE_REFRESH 1
#define CACHEMODE_BYPASS 2
extern BOOL InDllCleanup; extern BOOL GlobalPleaseQuitWhatYouAreDoing; extern BOOL GlobalDynaUnload; extern BOOL GlobalUseSchannelDirectly; extern BOOL GlobalDisableKeepAlive; extern BOOL GlobalDisablePassport; extern DWORD GlobalSecureProtocols; extern BOOL GlobalEnableHttp1_1; extern BOOL GlobalEnableProxyHttp1_1; extern BOOL GlobalDisableReadRange; extern BOOL GlobalIsProcessExplorer; extern BOOL GlobalEnableFortezza; extern BOOL GlobalEnableRevocation; extern BOOL GlobalIsProcessNtService; extern DWORD GlobalSslStateCount; extern BOOL GlobalEnableGopher;
#if defined(SITARA)
extern BOOL GlobalEnableSitara; extern BOOL GlobalHasSitaraModemConn;
#endif // SITARA
extern BOOL GlobalEnableUtf8Encoding;
extern BOOL GlobalBypassEditedEntry; extern BOOL fDontUseDNSLoadBalancing; extern BOOL GlobalDisableNT4RasCheck;
extern BOOL GlobalWarnOnPost; extern BOOL GlobalWarnAlways; extern BOOL GlobalWarnOnZoneCrossing; extern BOOL GlobalWarnOnBadCertSending; extern BOOL GlobalWarnOnBadCertRecving; extern BOOL GlobalWarnOnPostRedirect; extern BOOL GlobalAlwaysDrainOnRedirect; extern BOOL GlobalBypassSSLNoCacheCheck; extern BOOL GlobalWarnOnHTTPSToHTTPRedirect;
extern LONG GlobalInternetOpenHandleCount; extern DWORD GlobalProxyVersionCount; extern BOOL GlobalAutoProxyNeedsInit; extern BOOL GlobalAutoProxyInInit; extern BOOL GlobalAutoProxyCacheEnable; extern BOOL GlobalDisplayScriptDownloadFailureUI; extern BOOL GlobalUseLanSettings; extern BOOL GlobalSendExtraCRLF; extern BOOL GlobalBypassFtpTimeCheck;
extern BOOL GlobalSendUTF8ServerToProxy; extern BOOL GlobalMBCSAPIforCrack; extern BOOL GlobalUseUTF8ServerForNameRes;
extern BOOL g_bHibernating; extern BOOL g_bDisableHibernation; //extern BOOL GlobalAutoProxyInDeInit;
//extern DWORD GlobalServerInfoAllocCount;
//extern DWORD GlobalServerInfoDeAllocCount;
extern SERIALIZED_LIST GlobalObjectList; extern SERIALIZED_LIST GlobalServerInfoList;
extern LONGLONG dwdwHttpDefaultExpiryDelta; extern LONGLONG dwdwFtpDefaultExpiryDelta; extern LONGLONG dwdwGopherDefaultExpiryDelta; extern LONGLONG dwdwSessionStartTime; extern LONGLONG dwdwSessionStartTimeDefaultDelta;
extern DWORD GlobalUrlCacheSyncMode; extern DWORD GlobalDiskUsageLowerBound; extern DWORD GlobalScavengeFileLifeTime;
extern BOOL GlobalLeashLegacyCookies;
extern LPSTR vszMimeExclusionList, vszHeaderExclusionList;
extern LPSTR *lpvrgszMimeExclusionTable, *lpvrgszHeaderExclusionTable;
extern DWORD *lpvrgdwMimeExclusionTableOfSizes;
extern DWORD vdwMimeExclusionTableCount, vdwHeaderExclusionTableCount;
extern SECURITY_CACHE_LIST GlobalCertCache;
extern BOOL GlobalDisableSslCaching; extern BOOL GlobalDisableNTLMPreAuth;
extern CRITICAL_SECTION AuthenticationCritSec; extern CRITICAL_SECTION GeneralInitCritSec; extern CRITICAL_SECTION LockRequestFileCritSec; extern CRITICAL_SECTION AutoProxyDllCritSec; extern CRITICAL_SECTION ZoneMgrCritSec; extern CRITICAL_SECTION MlangCritSec;
extern const char vszSyncMode[];
extern const char vszDisableSslCaching[];
// Default user agent string
// This will be used when no other information is available
extern const char gszDefaultUserAgent[];
// moved to proxysup.hxx
//extern PROXY_INFO GlobalProxyInfo;
extern BOOL vfPerUserCookies;
BOOL GetWininetUserName(VOID); // BUGBUG: GetWininetUserName must be called before accessing vszCurrentUser.
// Instead, it should return the username ptr and the global not accessed.
extern char vszCurrentUser[]; extern DWORD vdwCurrentUserLen;
extern const char vszAllowCookies[]; extern const char vszPerUserCookies[];
extern INTERNET_VERSION_INFO InternetVersionInfo; extern HTTP_VERSION_INFO HttpVersionInfo; extern BOOL fCdromDialogActive; extern DWORD g_dwCredPersistAvail;
extern CUserName GlobalUserName;
//
// The following globals are literal strings passed to winsock.
// Do NOT make them const, otherwise they end up in .text section,
// and web release of winsock2 has a bug where it locks and dirties
// send buffers, confusing the win95 vmm and resulting in code
// getting corrupted when it is paged back in. -RajeevD
//
extern char gszAt[]; extern char gszBang[]; extern char gszCRLF[3];
//
// novell client32 (hack) "support"
//
extern BOOL GlobalRunningNovellClient32; extern BOOL GlobalNonBlockingClient32;
// shfolder.dll hmod handle
extern HMODULE g_HMODSHFolder;
// shell32.dll hmod handle
extern HMODULE g_HMODShell32;
extern DWORD GlobalIdentity; extern GUID GlobalIdentityGuid; #ifdef WININET6
extern HKEY GlobalCacheHKey; #endif
extern BOOL GlobalSuppressCookiesPolicy;
//
// Localization Structures
//
//
// This definition must be big enough to hold the largest set of localized
// strings.
//
#define LOCAL_STRINGS_MAX_BUFFER 4096
//
// *WARNING* - The order of elements in the following structure must match the
// order of elements in the uStringId array in the FetchLocalStrings routine in
// dll/Globals.cxx.
//
typedef struct { LPWSTR szEnterAuthInfo, szCertInfo, szStrengthHigh, szStrengthMedium, szStrengthLow, szCertSubject, szCertIssuer, szCertEffectiveDate, szCertExpirationDate, szCertProtocol, szCertUsage, szHttpsEncryptAlg, szHttpsHashAlg, szHttpsExchAlg, szCertComment, szCommentExpires, szCommentNotValid, szCommentBadCN, szCommentBadCA, szCommentBadSignature, szCommentRevoked, szCiphMsg, szHashMsg, szExchMsg, szFingerprint, szDomain, szRealm, szSite, szFirewall;
WCHAR rgchBuffer[LOCAL_STRINGS_MAX_BUFFER]; } LOCAL_STRINGS, *PLOCAL_STRINGS;
typedef struct { LPSTR szEnterAuthInfo, szCertInfo, szStrengthHigh, szStrengthMedium, szStrengthLow, szCertSubject, szCertIssuer, szCertEffectiveDate, szCertExpirationDate, szCertProtocol, szCertUsage, szHttpsEncryptAlg, szHttpsHashAlg, szHttpsExchAlg, szCertComment, szCommentExpires, szCommentNotValid, szCommentBadCN, szCommentBadCA, szCommentBadSignature, szCommentRevoked, szCiphMsg, szHashMsg, szExchMsg, szFingerprint, szDomain, szRealm, szSite, szFirewall;
CHAR rgchBuffer[LOCAL_STRINGS_MAX_BUFFER]; } LOCAL_STRINGSA, *PLOCAL_STRINGSA;
//
// prototypes
//
void SetUserOrPass (LPSTR lpszIn, BOOL fUser); void TimeStampCreds(void); PSYSTEMTIME GetCredTimeStamp(void); BOOL GetUserAndPass (LPSTR *pszUser, LPSTR *pszPass);
VOID GlobalDllInitialize( VOID );
VOID GlobalDllTerminate( VOID );
DWORD GlobalDataInitialize( VOID );
VOID GlobalDataTerminate( VOID );
BOOL IsHttp1_1( VOID );
BOOL IsOffline( VOID );
DWORD SetOfflineUserState( IN DWORD dwState, IN BOOL bForce );
VOID GlobalDataReadWarningUIFlags( VOID );
PLOCAL_STRINGS FetchLocalStrings( VOID );
PLOCAL_STRINGSA FetchLocalStringsA( VOID ); VOID ChangeGlobalSettings( VOID );
VOID RefreshOfflineFromRegistry( VOID );
VOID PerformStartupProcessing( VOID );
DWORD GetSitaraProtocol( VOID );
typedef HRESULT (STDAPICALLTYPE * PFNINETMULTIBYTETOUNICODE) ( LPDWORD lpdword, DWORD dwSrcEncoding, LPCSTR lpSrcStr, LPINT lpnSrcSize, LPWSTR lpDstStr, LPINT lpDstStrSize );
// Loads Mlang and returns a pointer to the MultiByte to Unicode converter.
// Could return NULL if mlang.dll couldn't be loaded for some reason.
PFNINETMULTIBYTETOUNICODE GetInetMultiByteToUnicode( );
#if defined(__cplusplus)
} #endif
|