[BLUE][CDFS]
[reactos.git] / reactos / drivers / filesystems / cdfs / cdfs.h
index 78c9b57..67ce0f3 100644 (file)
@@ -3,6 +3,7 @@
 
 #include <ntifs.h>
 #include <ntddcdrm.h>
+#include <pseh/pseh2.h>
 
 #define CDFS_BASIC_SECTOR 2048
 #define CDFS_PRIMARY_DESCRIPTOR_LOCATION 16
@@ -160,6 +161,10 @@ typedef struct
   PFILE_OBJECT StreamFileObject;
 
   CDINFO CdInfo;
+
+  /* Notifications */
+  LIST_ENTRY NotifyList;
+  PNOTIFY_SYNC NotifySync;
 } DEVICE_EXTENSION, *PDEVICE_EXTENSION, VCB, *PVCB;
 
 
@@ -169,7 +174,7 @@ typedef struct
 
 #define MAX_PATH                260
 
-typedef struct _CDFS_SHORT_NAME 
+typedef struct _CDFS_SHORT_NAME
 {
     LIST_ENTRY Entry;
     LARGE_INTEGER StreamOffset;
@@ -226,8 +231,12 @@ typedef struct _CCB
   ULONG LastOffset;
 } CCB, *PCCB;
 
-#define TAG_CCB 'BCCI'
-#define TAG_FCB 'BCFI'
+#define CDFS_TAG                'sfdC'
+#define CDFS_CCB_TAG            'ccdC'
+#define CDFS_NONPAGED_FCB_TAG   'nfdC'
+#define CDFS_SHORT_NAME_TAG     'sgdC'
+#define CDFS_SEARCH_PATTERN_TAG 'eedC'
+#define CDFS_FILENAME_TAG       'nFdC'
 
 typedef struct
 {
@@ -235,6 +244,7 @@ typedef struct
   PDEVICE_OBJECT DeviceObject;
   ULONG Flags;
   CACHE_MANAGER_CALLBACKS CacheMgrCallbacks;
+  FAST_IO_DISPATCH FastIoDispatch;
 } CDFS_GLOBAL_DATA, *PCDFS_GLOBAL_DATA;
 
 extern PCDFS_GLOBAL_DATA CdfsGlobalData;
@@ -420,9 +430,9 @@ CdfsFileFlagsToAttributes(PFCB Fcb,
 
 VOID
 CdfsShortNameCacheGet
-(PFCB DirectoryFcb, 
- PLARGE_INTEGER StreamOffset, 
- PUNICODE_STRING LongName, 
+(PFCB DirectoryFcb,
+ PLARGE_INTEGER StreamOffset,
+ PUNICODE_STRING LongName,
  PUNICODE_STRING ShortName);
 
 /* rw.c */
@@ -471,4 +481,7 @@ CdfsAcquireForLazyWrite(IN PVOID Context,
 VOID NTAPI
 CdfsReleaseFromLazyWrite(IN PVOID Context);
 
+FAST_IO_READ CdfsFastIoRead;
+FAST_IO_WRITE CdfsFastIoWrite;
+
 #endif /* CDFS_H */