- split logoff and shutdown resources
[reactos.git] / reactos / ntoskrnl / fs / notify.c
index 2b02721..05cbc27 100644 (file)
 //#define NDEBUG
 #include <internal/debug.h>
 
+#if defined (ALLOC_PRAGMA)
+#pragma alloc_text(INIT, FsRtlpInitNotifyImplementation)
+#endif
 
-PAGED_LOOKASIDE_LIST    NotifyEntryLookaside;
 
-#define FSRTL_NOTIFY_TAG TAG('N','O','T','I')
+PAGED_LOOKASIDE_LIST    NotifyEntryLookaside;
 
 typedef struct _NOTIFY_ENTRY
 {
@@ -63,7 +65,7 @@ FsRtlpInitNotifyImplementation(VOID)
 
 
 static
-inline
+__inline
 BOOLEAN
 FsRtlpIsUnicodePath(
    PSTRING Path
@@ -122,13 +124,10 @@ FsRtlpFindNotifyEntry(
    PVOID FsContext
    )
 {
-   PLIST_ENTRY EnumEntry;
    PNOTIFY_ENTRY NotifyEntry;
 
-   LIST_FOR_EACH(EnumEntry, NotifyList)
+   LIST_FOR_EACH(NotifyEntry, NotifyList, NOTIFY_ENTRY, ListEntry)
    {
-      NotifyEntry = CONTAINING_RECORD(EnumEntry, NOTIFY_ENTRY, ListEntry);
-
       if (NotifyEntry->FsContext == FsContext)
       {
          return NotifyEntry;
@@ -312,15 +311,15 @@ FsRtlpWatchedDirectoryWasDeleted(
    )
 {
    LIST_ENTRY CompletedListHead;
-   PLIST_ENTRY EnumEntry, TmpEntry;
-   PNOTIFY_ENTRY NotifyEntry;
+   PLIST_ENTRY TmpEntry;
+   PNOTIFY_ENTRY NotifyEntry, tmp;
    PIRP Irp;
 
    InitializeListHead(&CompletedListHead);
 
    ExAcquireFastMutex((PFAST_MUTEX)NotifySync);
 
-   LIST_FOR_EACH_SAFE(EnumEntry, NotifyList, NotifyEntry, NOTIFY_ENTRY, ListEntry )
+   LIST_FOR_EACH_SAFE(NotifyEntry, tmp, NotifyList, NOTIFY_ENTRY, ListEntry )
    {
       if (NotifyEntry->Fcb == Fcb)
       {
@@ -598,7 +597,7 @@ FsRtlpGetNextIrp(PNOTIFY_ENTRY NotifyEntry)
 
 
 static
-inline
+__inline
 VOID
 FsRtlpCopyName(
    PFILE_NOTIFY_INFORMATION CurrentEntry,
@@ -611,11 +610,11 @@ FsRtlpCopyName(
 
    if (Unicode)
    {
-      memcpy(CurrentEntry->Name, RelativeName->Buffer, RelativeName->Length);
+      memcpy(CurrentEntry->FileName, RelativeName->Buffer, RelativeName->Length);
       if (StreamName)
       {
-         CurrentEntry->Name[RelativeName->Length/sizeof(WCHAR)] = ':';
-         memcpy(&CurrentEntry ->Name[(RelativeName->Length/sizeof(WCHAR))+1],
+         CurrentEntry->FileName[RelativeName->Length/sizeof(WCHAR)] = ':';
+         memcpy(&CurrentEntry->FileName[(RelativeName->Length/sizeof(WCHAR))+1],
             StreamName->Buffer,
             StreamName->Length);
       }
@@ -656,8 +655,8 @@ FsRtlNotifyFullReportChange (
 {
    USHORT FullDirLen;
    STRING RelativeName;
+   PNOTIFY_ENTRY NotifyEntry, tmp;
    PLIST_ENTRY EnumEntry;
-   PNOTIFY_ENTRY NotifyEntry;
    PIRP Irp;
    LIST_ENTRY CompletedListHead;
    USHORT NameLenU;
@@ -678,7 +677,7 @@ FsRtlNotifyFullReportChange (
 
    ExAcquireFastMutex((PFAST_MUTEX)NotifySync);
 
-   LIST_FOR_EACH_SAFE(EnumEntry, NotifyList, NotifyEntry, NOTIFY_ENTRY, ListEntry )
+   LIST_FOR_EACH_SAFE(NotifyEntry, tmp, NotifyList, NOTIFY_ENTRY, ListEntry )
    {
       ASSERT(NotifyEntry->Unicode == FsRtlpIsUnicodePath(FullTargetName));
 
@@ -743,7 +742,7 @@ FsRtlNotifyFullReportChange (
             (StreamName ? ((StreamName->Length * sizeof(WCHAR)) + sizeof(WCHAR)) : 0);
       }
 
-      RecordLen = FIELD_OFFSET(FILE_NOTIFY_INFORMATION, Name) + NameLenU;
+      RecordLen = FIELD_OFFSET(FILE_NOTIFY_INFORMATION, FileName) + NameLenU;
 
       if ((Irp = FsRtlpGetNextIrp(NotifyEntry)))
       {
@@ -772,7 +771,7 @@ FsRtlNotifyFullReportChange (
             if (CurrentEntry)
             {
                CurrentEntry->Action = Action;
-               CurrentEntry->NameLength = NameLenU;
+               CurrentEntry->FileNameLength = NameLenU;
                CurrentEntry->NextEntryOffset = 0;
 
                FsRtlpCopyName(
@@ -818,7 +817,7 @@ FsRtlNotifyFullReportChange (
          CurrentEntry = (PFILE_NOTIFY_INFORMATION)NotifyEntry->Buffer;
 
          CurrentEntry->Action = Action;
-         CurrentEntry->NameLength = NameLenU;
+         CurrentEntry->FileNameLength = NameLenU;
          CurrentEntry->NextEntryOffset = 0;
 
          FsRtlpCopyName(CurrentEntry,
@@ -939,10 +938,10 @@ FsRtlNotifyReportChange (
 VOID
 STDCALL
 FsRtlNotifyUninitializeSync (
-    IN PNOTIFY_SYNC NotifySync
+    IN PNOTIFY_SYNC *NotifySync
        )
 {
-   ExFreePool (NotifySync);
+   ExFreePool (*NotifySync);
 }
 
 /**********************************************************************