summaryrefslogtreecommitdiffstats
path: root/private/ntos/inc/exlevels.h
diff options
context:
space:
mode:
authorAdam <you@example.com>2020-05-17 05:51:50 +0200
committerAdam <you@example.com>2020-05-17 05:51:50 +0200
commite611b132f9b8abe35b362e5870b74bce94a1e58e (patch)
treea5781d2ec0e085eeca33cf350cf878f2efea6fe5 /private/ntos/inc/exlevels.h
downloadNT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.gz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.bz2
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.lz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.xz
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.tar.zst
NT4.0-e611b132f9b8abe35b362e5870b74bce94a1e58e.zip
Diffstat (limited to 'private/ntos/inc/exlevels.h')
-rw-r--r--private/ntos/inc/exlevels.h63
1 files changed, 63 insertions, 0 deletions
diff --git a/private/ntos/inc/exlevels.h b/private/ntos/inc/exlevels.h
new file mode 100644
index 000000000..d46d70cae
--- /dev/null
+++ b/private/ntos/inc/exlevels.h
@@ -0,0 +1,63 @@
+/*++ BUILD Version: 0001 // Increment this if a change has global effects
+
+Copyright (c) 1989 Microsoft Corporation
+
+Module Name:
+
+ exlevels.h
+
+Abstract:
+
+ This file contains all of the MUTEX level numbers used by the NT
+ executive. A thread is only allowed to acquire mutexes with levels
+ numerically higher than the highest mutex level already owned.
+
+Author:
+
+ Steve Wood (stevewo) 08-May-1989
+
+Revision History:
+
+--*/
+
+//
+// Kernel Mutex Level Numbers (must be globallly assigned within executive)
+// The third token in the name is the sub-component name that defines and
+// uses the level number.
+//
+
+//
+// Used by Vdm for protecting io simulation structures
+//
+
+#define MUTEX_LEVEL_VDM_IO (ULONG)0x00000001
+
+#define MUTEX_LEVEL_EX_PROFILE (ULONG)0x00000040
+
+//
+// The LANMAN Redirector uses the file system major function, but defines
+// it's own mutex levels. We can do this safely because we know that the
+// local filesystem will never call the remote filesystem and vice versa.
+//
+
+#define MUTEX_LEVEL_RDR_FILESYS_DATABASE (ULONG)0x10100000
+#define MUTEX_LEVEL_RDR_FILESYS_SECURITY (ULONG)0x10100001
+
+//
+// File System levels.
+//
+
+#define MUTEX_LEVEL_FILESYSTEM_RAW_VCB (ULONG)0x11000006
+
+//
+// In the NT STREAMS environment, a mutex is used to serialize open, close
+// and Scheduler threads executing in a subsystem-parallelized stack.
+//
+
+#define MUTEX_LEVEL_STREAMS_SUBSYS (ULONG)0x11001001
+
+//
+// Mutex level used by LDT support on x86
+//
+
+#define MUTEX_LEVEL_PS_LDT (ULONG)0x1F000000