Leaked source code of windows server 2003
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.
 
 
 
 
 
 

142 lines
3.3 KiB

/*++
Copyright (c) 1989 Microsoft Corporation
Module Name:
HookCmmn.h
Abstract:
This module defines the routines that are in common between the win9x and nt hooks.
Author:
JoeLinn [JoeLinn] 8-Apr-1997
Revision History:
--*/
#ifndef __INCLUDED__CSC__HOOKCMMN__
#define __INCLUDED__CSC__HOOKCMMN__
extern ULONG hthreadReint; //BUGBUG why should a thread be a ULONG????
extern ULONG hwndReint;
extern PFILEINFO pFileInfoAgent;
extern HSERVER hShareReint; // Share that is currently being reintegrated
extern int fShadow, fLog, fNoShadow, /*fShadowFind,*/ fSpeadOpt;
extern WIN32_FIND_DATA vsFind32;
extern int cMacPro;
extern NETPRO rgNetPro[];
extern VMM_SEMAPHORE semHook;
extern GLOBALSTATUS sGS;
extern ULONG proidShadow;
extern ULONG heventReint;
#define FLAG_FDB_SERIALIZE 0x0001
#define FLAG_FDB_INUSE_BY_AGENT 0x0002
#define FLAG_FDB_SHADOW_MODIFIED 0x0008
#define FLAG_FDB_DONT_SHADOW 0x0010
#define FLAG_FDB_FINAL_CLOSE_DONE 0x0020
int ReinitializeDatabase(
LPSTR lpszLocation,
LPSTR lpszUserName,
DWORD nFileSizeHigh,
DWORD nFileSizeLow,
DWORD dwClusterSize
);
int
InitDatabase(
LPSTR lpszLocation,
LPSTR lpszUserName,
DWORD nFileSizeHigh,
DWORD nFileSizeLow,
DWORD dwClusterSize,
BOOL fReformat,
BOOL *lpfNew
);
BOOL IsShadowVisible(
#ifndef MRXSMB_BUILD_FOR_CSC_DCON
PVOID pResource, //PRESOURCE pResource,
#else
BOOLEAN Disconnected,
#endif
DWORD dwAttr,
ULONG uShadowStatus
);
int MarkShareDirty(
PUSHORT ShareStatus,
ULONG hShare
);
////////////////////////////////////////////////////////////////////////////////
///////// T U N N E L
// Timeout in seconds for tunnelled entries
// after this many seconds a tunnelled entry is thrown away
#define STALE_TUNNEL_INFO 45
typedef struct tagSH_TUNNEL {
HSHADOW hDir;
ULONG uTime;
UCHAR ubHintFlags;
UCHAR ubRefPri;
UCHAR ubHintPri;
UCHAR ubIHPri;
USHORT cAlternateFileName[14];
USHORT * lpcFileName;
} SH_TUNNEL, *LPSH_TUNNEL;
BOOL InsertTunnelInfo(
HSHADOW hDir,
USHORT *lpcFileName,
USHORT *lpcAlternateFileName,
LPOTHERINFO lpOI
);
#ifndef MRXSMB_BUILD_FOR_CSC_DCON
BOOL RetrieveTunnelInfo(
#else
typedef enum _RETRIEVE_TUNNEL_INFO_RETURNS {
TUNNEL_RET_NOTFOUND = 0,
TUNNEL_RET_SHORTNAME_TUNNEL = 'S',
TUNNEL_RET_LONGNAME_TUNNEL = 'L'
} RETRIEVE_TUNNEL_INFO_RETURNS;
RETRIEVE_TUNNEL_INFO_RETURNS RetrieveTunnelInfo(
#endif
HSHADOW hDir,
USHORT *lpcFileName,
WIN32_FIND_DATA *lpFind32,
LPOTHERINFO lpOI
);
VOID FreeStaleEntries();
void FreeEntry(LPSH_TUNNEL lpshTunnel);
BOOL
FailModificationsToShare(
LPSHADOWINFO lpSI
);
void
IncrementActivityCountForShare(
HSERVER hShare
);
BOOL
CSCFailUserOperation(
HSERVER hShare
);
// Macro used to check whether shadowing operations should be done or not
// in any given filesystem API call. The global swicth fShadow can be set/reset
// by ring3 agent through an ioctl
#define ShadowingON() ((fShadow != 0) && !IsSpecialApp())
#endif //ifndef __INCLUDED__CSC__HOOKCMMN__