aboutsummaryrefslogtreecommitdiffstats
path: root/undocumented.h
diff options
context:
space:
mode:
authorJason A. Donenfeld <Jason@zx2c4.com>2019-07-23 06:37:10 +0000
committerJason A. Donenfeld <Jason@zx2c4.com>2019-07-31 13:59:54 +0000
commit5239d53db04c2ce4eca69cfa50b7f932e9d138cb (patch)
treea5751477ad23a00813704edc12d04308cd34224d /undocumented.h
parentReinitialize active NBL remove lock to allow adapter reuse (diff)
downloadwintun-5239d53db04c2ce4eca69cfa50b7f932e9d138cb.tar.xz
wintun-5239d53db04c2ce4eca69cfa50b7f932e9d138cb.zip
Add handle closing ioctl
Signed-off-by: Jason A. Donenfeld <Jason@zx2c4.com>
Diffstat (limited to 'undocumented.h')
-rw-r--r--undocumented.h39
1 files changed, 39 insertions, 0 deletions
diff --git a/undocumented.h b/undocumented.h
new file mode 100644
index 0000000..c904c7a
--- /dev/null
+++ b/undocumented.h
@@ -0,0 +1,39 @@
+/* SPDX-License-Identifier: GPL-2.0
+ *
+ * Copyright (C) 2018-2019 WireGuard LLC. All Rights Reserved.
+ */
+
+#pragma once
+
+#include <wdm.h>
+
+typedef enum
+{
+ SystemExtendedHandleInformation = 0x40
+} SYSTEM_INFORMATION_CLASS;
+
+typedef struct _SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX
+{
+ PVOID Object;
+ HANDLE UniqueProcessId;
+ HANDLE HandleValue;
+ ACCESS_MASK GrantedAccess;
+ USHORT CreatorBackTraceIndex;
+ USHORT ObjectTypeIndex;
+ ULONG HandleAttributes;
+ ULONG Reserved;
+} SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX, *PSYSTEM_HANDLE_TABLE_ENTRY_INFO_EX;
+
+typedef struct _SYSTEM_HANDLE_INFORMATION_EX
+{
+ ULONG_PTR NumberOfHandles;
+ ULONG_PTR Reserved;
+ SYSTEM_HANDLE_TABLE_ENTRY_INFO_EX Handles[ANYSIZE_ARRAY];
+} SYSTEM_HANDLE_INFORMATION_EX, *PSYSTEM_HANDLE_INFORMATION_EX;
+
+extern NTSTATUS
+ZwQuerySystemInformation(
+ SYSTEM_INFORMATION_CLASS SystemInformationClass,
+ PVOID SystemInformation,
+ ULONG SystemInformationLength,
+ ULONG *ReturnLength);