[HEADERS]
[reactos.git] / reactos / include / ndk / exfuncs.h
index f4c52a4..0d40a3f 100644 (file)
@@ -1,4 +1,4 @@
-/*++ NDK Version: 0095
+/*++ NDK Version: 0098
 
 Copyright (c) Alex Ionescu.  All rights reserved.
 
@@ -12,7 +12,7 @@ Abstract:
 
 Author:
 
-    Alex Ionescu (alex.ionescu@reactos.com)   06-Oct-2004
+    Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
 
 --*/
 
@@ -26,10 +26,17 @@ Author:
 #include <pstypes.h>
 #include <extypes.h>
 
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 //
 // Don't include WMI headers just for one define
 //
+#ifndef PEVENT_TRACE_HEADER_DEFINED
+#define PEVENT_TRACE_HEADER_DEFINED
 typedef struct _EVENT_TRACE_HEADER *PEVENT_TRACE_HEADER;
+#endif
 
 #ifndef NTOS_MODE_USER
 //
@@ -93,6 +100,46 @@ ExfUnblockPushLock(
     PVOID CurrentWaitBlock
 );
 
+//
+// Handle Table Functions
+//
+NTKERNELAPI
+BOOLEAN
+NTAPI
+ExEnumHandleTable(
+    IN PHANDLE_TABLE HandleTable,
+    IN PEX_ENUM_HANDLE_CALLBACK EnumHandleProcedure,
+    IN OUT PVOID Context,
+    OUT PHANDLE Handle OPTIONAL
+);
+
+//
+// Resource Functions
+//
+PVOID
+NTAPI
+ExEnterCriticalRegionAndAcquireResourceExclusive(
+    IN PERESOURCE Resource
+);
+
+PVOID
+NTAPI
+ExEnterCriticalRegionAndAcquireResourceShared(
+    IN PERESOURCE Resource
+);
+
+PVOID
+NTAPI
+ExEnterCriticalRegionAndAcquireSharedWaitForExclusive(
+    IN PERESOURCE Resource
+);
+
+VOID
+FASTCALL
+ExReleaseResourceAndLeaveCriticalRegion(
+    IN PERESOURCE Resource
+);
+
 #endif
 
 //
@@ -142,6 +189,16 @@ NtCreateEventPair(
     IN POBJECT_ATTRIBUTES ObjectAttributes
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtCreateKeyedEvent(
+    OUT PHANDLE KeyedEventHandle,
+    IN ACCESS_MASK DesiredAccess,
+    IN POBJECT_ATTRIBUTES ObjectAttributes,
+    IN ULONG Flags
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -187,6 +244,15 @@ NtDisplayString(
     IN PUNICODE_STRING DisplayString
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtEnumerateSystemEnvironmentValuesEx(
+    IN ULONG InformationClass,
+    IN PVOID Buffer,
+    IN ULONG BufferLength
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -205,6 +271,15 @@ NtOpenEvent(
     IN POBJECT_ATTRIBUTES ObjectAttributes
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtOpenKeyedEvent(
+    OUT PHANDLE EventHandle,
+    IN ACCESS_MASK DesiredAccess,
+    IN POBJECT_ATTRIBUTES ObjectAttributes
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -261,7 +336,7 @@ NTSYSCALLAPI
 NTSTATUS
 NTAPI
 NtQueryDefaultUILanguage(
-    PLANGID LanguageId
+    LANGID* LanguageId
 );
 
 NTSYSCALLAPI
@@ -290,7 +365,7 @@ NTSYSCALLAPI
 NTSTATUS
 NTAPI
 NtQueryInstallUILanguage(
-    PLANGID LanguageId
+    LANGID* LanguageId
 );
 
 NTSYSCALLAPI
@@ -325,6 +400,17 @@ NtQuerySystemEnvironmentValue(
     PULONG ReturnLength
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtQuerySystemEnvironmentValueEx(
+    IN PUNICODE_STRING VariableName,
+    IN LPGUID VendorGuid,
+    IN PVOID Value,
+    IN OUT PULONG ReturnLength,
+    IN OUT PULONG Attributes
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -366,6 +452,16 @@ NtReleaseMutant(
     IN PLONG ReleaseCount OPTIONAL
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtReleaseKeyedEvent(
+    IN HANDLE EventHandle,
+    IN PVOID Key,
+    IN BOOLEAN Alertable,
+    IN PLARGE_INTEGER Timeout OPTIONAL
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -413,6 +509,13 @@ NtSetEvent(
     OUT PLONG PreviousState  OPTIONAL
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtSetEventBoostPriority(
+    IN HANDLE EventHandle
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -449,6 +552,14 @@ NtSetSystemEnvironmentValue(
     IN PUNICODE_STRING Value
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtSetSystemEnvironmentValueEx(
+    IN PUNICODE_STRING VariableName,
+    IN LPGUID VendorGuid
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -485,6 +596,16 @@ NtShutdownSystem(
     IN SHUTDOWN_ACTION Action
 );
 
+NTSYSCALLAPI
+NTSTATUS
+NTAPI
+NtWaitForKeyedEvent(
+    IN HANDLE EventHandle,
+    IN PVOID Key,
+    IN BOOLEAN Alertable,
+    IN PLARGE_INTEGER Timeout OPTIONAL
+);
+
 NTSYSCALLAPI
 NTSTATUS
 NTAPI
@@ -535,7 +656,6 @@ ZwClearEvent(
     IN HANDLE EventHandle
 );
 
-NTSYSAPI
 NTSYSAPI
 NTSTATUS
 NTAPI
@@ -612,7 +732,7 @@ ZwFindAtom(
     OUT PRTL_ATOM Atom OPTIONAL
 );
 
-NTSYSAPI
+NTSYSCALLAPI
 NTSTATUS
 NTAPI
 ZwOpenEvent(
@@ -679,7 +799,7 @@ NTSYSAPI
 NTSTATUS
 NTAPI
 ZwQueryDefaultUILanguage(
-    PLANGID LanguageId
+    LANGID* LanguageId
 );
 
 NTSYSAPI
@@ -708,7 +828,7 @@ NTSYSAPI
 NTSTATUS
 NTAPI
 ZwQueryInstallUILanguage(
-    PLANGID LanguageId
+    LANGID* LanguageId
 );
 
 NTSYSAPI
@@ -749,8 +869,8 @@ NTAPI
 ZwQuerySystemInformation(
     IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
     OUT PVOID SystemInformation,
-    IN ULONG Length,
-    OUT PULONG ResultLength
+    IN SIZE_T Length,
+    OUT PSIZE_T ResultLength
 );
 
 NTSYSAPI
@@ -873,7 +993,7 @@ NTAPI
 ZwSetSystemInformation(
     IN SYSTEM_INFORMATION_CLASS SystemInformationClass,
     IN PVOID SystemInformation,
-    IN ULONG SystemInformationLength
+    IN SIZE_T SystemInformationLength
 );
 
 #ifdef NTOS_MODE_USER
@@ -928,4 +1048,9 @@ ZwTraceEvent(
     IN ULONG TraceHeaderLength,
     IN PEVENT_TRACE_HEADER TraceHeader
 );
+
+#ifdef __cplusplus
+}
+#endif
+
 #endif