Windows: AFSRemoveCcb cannot fail
[openafs.git] / src / WINNT / afsrdr / kernel / lib / Include / AFSCommon.h
index 39cb790..ee25a3c 100644 (file)
@@ -203,6 +203,16 @@ AFSNotifyRename( IN AFSObjectInfoCB *ObjectInfo,
                  OUT AFSFileID  *UpdatedFID);
 
 NTSTATUS
+AFSNotifyHardLink( IN AFSObjectInfoCB *ObjectInfo,
+                   IN GUID            *AuthGroup,
+                   IN AFSObjectInfoCB *ParentObjectInfo,
+                   IN AFSObjectInfoCB *TargetParentObjectInfo,
+                   IN AFSDirectoryCB  *SourceDirectoryCB,
+                   IN UNICODE_STRING  *TargetName,
+                   IN BOOLEAN          bReplaceIfExists,
+                   OUT AFSDirectoryCB **TargetDirectoryCB);
+
+NTSTATUS
 AFSEvaluateTargetByID( IN AFSObjectInfoCB *ObjectInfo,
                        IN GUID *AuthGroup,
                        IN BOOLEAN FastCall,
@@ -395,7 +405,8 @@ AFSFlushExtents( IN AFSFcb *pFcb,
 
 NTSTATUS
 AFSReleaseExtentsWithFlush( IN AFSFcb *Fcb,
-                            IN GUID *AuthGroup);
+                            IN GUID *AuthGroup,
+                            IN BOOLEAN bReleaseAll);
 
 NTSTATUS
 AFSReleaseCleanExtents( IN AFSFcb *Fcb,
@@ -408,10 +419,13 @@ AFSMarkDirty( IN AFSFcb *pFcb,
               IN LARGE_INTEGER *StartingByte,
               IN BOOLEAN DerefExtents);
 
-BOOLEAN
+VOID
 AFSTearDownFcbExtents( IN AFSFcb *Fcb,
                        IN GUID *AuthGroup);
 
+VOID
+AFSDeleteFcbExtents( IN AFSFcb *Fcb);
+
 void
 AFSTrimExtents( IN AFSFcb *Fcb,
                 IN PLARGE_INTEGER FileSize);
@@ -436,6 +450,9 @@ AFSRemoveEntryDirtyList( IN AFSFcb *Fcb,
 AFSExtent *
 ExtentFor( PLIST_ENTRY le, ULONG SkipList );
 
+AFSExtent *
+NextExtent( AFSExtent *Extent, ULONG SkipList );
+
 ULONG
 AFSConstructCleanByteRangeList( AFSFcb * pFcb,
                                 AFSByteRange ** pByteRangeList);
@@ -495,6 +512,7 @@ AFSProcessExtentRun( IN PVOID          SystemBuffer,
 // AFSClose.cpp Prototypes
 //
 
+
 NTSTATUS
 AFSClose( IN PDEVICE_OBJECT DeviceObject,
           IN PIRP Irp);
@@ -527,7 +545,7 @@ AFSInitCcb( IN OUT AFSCcb **Ccb);
 void
 AFSRemoveFcb( IN AFSFcb **Fcb);
 
-NTSTATUS
+void
 AFSRemoveCcb( IN AFSFcb *Fcb,
               IN AFSCcb *Ccb);
 
@@ -813,6 +831,9 @@ NTSTATUS
 AFSSetRenameInfo( IN PIRP Irp);
 
 NTSTATUS
+AFSSetFileLinkInfo( IN PIRP Irp);
+
+NTSTATUS
 AFSSetPositionInfo( IN PIRP Irp,
                     IN AFSDirectoryCB *DirectoryCB);
 
@@ -1080,7 +1101,7 @@ AFSLockSystemBuffer( IN PIRP Irp,
 void *
 AFSLockUserBuffer( IN void *UserBuffer,
                    IN ULONG BufferLength,
-                                  OUT MDL ** Mdl);
+                   OUT MDL ** Mdl);
 
 void *
 AFSMapToService( IN PIRP Irp,
@@ -1195,7 +1216,8 @@ AFSUpdateMetaData( IN AFSDirectoryCB *DirEntry,
 NTSTATUS
 AFSValidateEntry( IN AFSDirectoryCB *DirEntry,
                   IN GUID *AuthGroup,
-                  IN BOOLEAN FastCall);
+                  IN BOOLEAN FastCall,
+                  IN BOOLEAN SafeToPurge);
 
 AFSDirectoryCB *
 AFSGetSpecialShareNameEntry( IN UNICODE_STRING *ShareName,
@@ -1223,6 +1245,9 @@ AFSEnumerateGlobalRoot( IN GUID *AuthGroup);
 BOOLEAN
 AFSIsRelativeName( IN UNICODE_STRING *Name);
 
+BOOLEAN
+AFSIsAbsoluteAFSName( IN UNICODE_STRING *Name);
+
 void
 AFSUpdateName( IN UNICODE_STRING *Name);
 
@@ -1294,6 +1319,12 @@ AFSObjectInfoCB *
 AFSAllocateObjectInfo( IN AFSObjectInfoCB *ParentObjectInfo,
                        IN ULONGLONG HashIndex);
 
+LONG
+AFSObjectInfoIncrement( IN AFSObjectInfoCB *ObjectInfo);
+
+LONG
+AFSObjectInfoDecrement( IN AFSObjectInfoCB *ObjectInfo);
+
 void
 AFSDeleteObjectInfo( IN AFSObjectInfoCB *ObjectInfo);
 
@@ -1432,9 +1463,6 @@ AFSIOWorkerThread( IN PVOID Context);
 void
 AFSPrimaryVolumeWorkerThread( IN PVOID Context);
 
-void
-AFSVolumeWorkerThread( IN PVOID Context);
-
 NTSTATUS
 AFSInsertWorkitem( IN AFSWorkItem *WorkItem);
 
@@ -1467,16 +1495,6 @@ AFSQueueFlushExtents( IN AFSFcb *Fcb,
                       IN GUID *AuthGroup);
 
 NTSTATUS
-AFSQueueAsyncRead( IN PDEVICE_OBJECT DeviceObject,
-                   IN PIRP Irp,
-                   IN HANDLE CallerProcess);
-
-NTSTATUS
-AFSQueueAsyncWrite( IN PDEVICE_OBJECT DeviceObject,
-                    IN PIRP Irp,
-                    IN HANDLE CallerProcess);
-
-NTSTATUS
 AFSQueueGlobalRootEnumeration( void);
 
 NTSTATUS