#include <ntifs.h>
#include <wdmsec.h> // for IoCreateDeviceSecure
#include <initguid.h>
+#include <ntintsafe.h>
#include "AFSDefines.h"
OUT AFSVolumeInfoCB *VolumeInformation);
NTSTATUS
+AFSRetrieveVolumeSizeInformation( IN GUID *AuthGroup,
+ IN AFSFileID *FileID,
+ OUT AFSVolumeSizeInfoCB *VolumeSizeInformation);
+
+NTSTATUS
AFSNotifyPipeTransceive( IN AFSCcb *Ccb,
IN ULONG InputLength,
IN ULONG OutputLength,
IN LARGE_INTEGER *StartingByte,
IN BOOLEAN DerefExtents);
-BOOLEAN
+VOID
AFSTearDownFcbExtents( IN AFSFcb *Fcb,
IN GUID *AuthGroup);
AFSExtent *
ExtentFor( PLIST_ENTRY le, ULONG SkipList );
+ULONG
+AFSConstructCleanByteRangeList( AFSFcb * pFcb,
+ AFSByteRange ** pByteRangeList);
+
#if GEN_MD5
void
AFSSetupMD5Hash( IN AFSFcb *Fcb,
AFSInitCcb( IN OUT AFSCcb **Ccb);
void
-AFSRemoveFcb( IN AFSFcb *Fcb);
+AFSRemoveFcb( IN AFSFcb **Fcb);
NTSTATUS
AFSRemoveCcb( IN AFSFcb *Fcb,
//
ULONG
-AFSExceptionFilter( IN ULONG Code,
+AFSExceptionFilter( IN CHAR *FunctionString,
+ IN ULONG Code,
IN PEXCEPTION_POINTERS ExceptPtrs);
BOOLEAN
AFSInvalidateVolume( IN AFSVolumeCB *VolumeCB,
IN ULONG Reason);
+VOID
+AFSInvalidateAllVolumes( VOID);
+
NTSTATUS
AFSVerifyEntry( IN GUID *AuthGroup,
IN AFSDirectoryCB *DirectoryCB);
NTSTATUS
AFSValidateEntry( IN AFSDirectoryCB *DirEntry,
IN GUID *AuthGroup,
- IN BOOLEAN PurgeContent,
IN BOOLEAN FastCall);
AFSDirectoryCB *
AFSInsertNextElement( IN AFSNameArrayHdr *NameArray,
IN AFSDirectoryCB *DirEntry);
-void
-AFSReplaceCurrentElement( IN AFSNameArrayHdr *NameArray,
- IN AFSDirectoryCB *DirectoryCB);
-
AFSDirectoryCB *
AFSBackupEntry( IN AFSNameArrayHdr *NameArray);