Windows: Add CCB NonPaged Resource for synchronization
[openafs.git] / src / WINNT / afsrdr / kernel / lib / Include / AFSStructs.h
index 37b9c70..b12c318 100644 (file)
@@ -73,14 +73,27 @@ typedef struct _AFS_WORKER_QUEUE_HDR
 // These are the context control blocks for the open instance
 //
 
+typedef struct _AFS_NONPAGED_CCB
+{
+
+    ERESOURCE           CcbLock;
+
+} AFSNonPagedCcb;
+
+
 typedef struct _AFS_CCB
 {
 
     USHORT        Size;
+
     USHORT        Type;
 
     ULONG         Flags;
 
+    AFSNonPagedCcb  *NPCcb;
+
+    AFSListEntry  ListEntry;
+
     //
     // Directory enumeration informaiton
     //
@@ -121,6 +134,8 @@ typedef struct _AFS_CCB
 
     UNICODE_STRING          NotifyMask;
 
+    ACCESS_MASK             GrantedAccess;
+
     //
     // File unwind info
     //
@@ -146,6 +161,12 @@ typedef struct _AFS_CCB
 
     ULONG               FileAccess;
 
+    //
+    // Authentication group GUID
+    //
+
+    GUID                AuthGroup;
+
 } AFSCcb;
 
 //
@@ -575,6 +596,8 @@ typedef struct _AFS_WORK_ITEM
 
     ULONGLONG   ProcessID;
 
+    GUID     AuthGroup;
+
     union
     {
         struct
@@ -624,6 +647,15 @@ typedef struct _AFS_WORK_ITEM
 
         struct
         {
+
+            AFSObjectInfoCB *ObjectInfo;
+
+            ULONG            InvalidateReason;
+
+        } Invalidate;
+
+        struct
+        {
             char     Context[ 1];
 
         } Other;
@@ -652,4 +684,13 @@ typedef struct _AFS_DIRECTORY_SS_HDR
 
 } AFSSnapshotHdr;
 
+typedef struct _AFS_BYTE_RANGE
+{
+
+    LARGE_INTEGER       FileOffset;
+
+    LARGE_INTEGER       Length;
+
+} AFSByteRange;
+
 #endif /* _AFS_STRUCTS_H */