[NTOS]: Add "vf" NTOS component, required NDK headers, and enable exports required...
authorSir Richard <sir_richard@svn.reactos.org>
Sun, 27 Jun 2010 20:47:52 +0000 (20:47 +0000)
committerSir Richard <sir_richard@svn.reactos.org>
Sun, 27 Jun 2010 20:47:52 +0000 (20:47 +0000)
svn path=/trunk/; revision=47872

reactos/include/ndk/ntndk.h
reactos/include/ndk/vffuncs.h [new file with mode: 0644]
reactos/include/ndk/vftypes.h [new file with mode: 0644]
reactos/ntoskrnl/ntoskrnl-generic.rbuild
reactos/ntoskrnl/ntoskrnl.pspec
reactos/ntoskrnl/vf/driver.c [new file with mode: 0644]

index b8f2770..93019ad 100644 (file)
@@ -59,6 +59,7 @@ Author:
 #include <pstypes.h>        // Process Manager Types
 #include <rtltypes.h>       // Runtime Library Types
 #include <setypes.h>        // Security Subsystem Types
 #include <pstypes.h>        // Process Manager Types
 #include <rtltypes.h>       // Runtime Library Types
 #include <setypes.h>        // Security Subsystem Types
+#include <vftypes.h>        // Verifier Types
 
 //
 // Function Headers
 
 //
 // Function Headers
@@ -80,6 +81,7 @@ Author:
 #include <rtlfuncs.h>       // Runtime Library Functions
 #include <sefuncs.h>        // Security Subsystem Functions
 #include <umfuncs.h>        // User-Mode NT Library Functions
 #include <rtlfuncs.h>       // Runtime Library Functions
 #include <sefuncs.h>        // Security Subsystem Functions
 #include <umfuncs.h>        // User-Mode NT Library Functions
+#include <vffuncs.h>        // Verifier Functions
 
 //
 // Assembly Support
 
 //
 // Assembly Support
diff --git a/reactos/include/ndk/vffuncs.h b/reactos/include/ndk/vffuncs.h
new file mode 100644 (file)
index 0000000..8b9e2e5
--- /dev/null
@@ -0,0 +1,54 @@
+/*++ NDK Version: 0098
+
+Copyright (c) Alex Ionescu.  All rights reserved.
+
+Header Name:
+
+    vffuncs.h
+
+Abstract:
+
+    Function definitions for the Power Subsystem.
+
+Author:
+
+    Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
+
+--*/
+
+#ifndef _VFFUNCS_H
+#define _VFFUNCS_H
+
+//
+// Dependencies
+//
+#include <umtypes.h>
+#include <vftypes.h>
+
+#ifndef NTOS_MODE_USER
+
+//
+// Verifier Device Driver Interface
+//
+BOOLEAN
+NTAPI
+VfIsVerificationEnabled(
+    IN VF_OBJECT_TYPE VfObjectType,
+    IN PVOID Object OPTIONAL
+);
+    
+VOID
+NTAPI
+VfFailDeviceNode(
+    IN PDEVICE_OBJECT PhysicalDeviceObject,
+    IN ULONG BugCheckMajorCode,
+    IN ULONG BugCheckMinorCode,
+    IN VF_FAILURE_CLASS FailureClass,
+    IN OUT PULONG AssertionControl,
+    IN PSTR DebuggerMessageText,
+    IN PSTR ParameterFormatString,
+    ...
+);
+#endif
+
+#endif
diff --git a/reactos/include/ndk/vftypes.h b/reactos/include/ndk/vftypes.h
new file mode 100644 (file)
index 0000000..d8404a7
--- /dev/null
@@ -0,0 +1,47 @@
+/*++ NDK Version: 0098
+
+Copyright (c) Alex Ionescu.  All rights reserved.
+
+Header Name:
+
+    vftypes.h
+
+Abstract:
+
+    Type definitions for the Power Subystem
+
+Author:
+
+    Alex Ionescu (alexi@tinykrnl.org) - Updated - 27-Feb-2006
+
+--*/
+
+#ifndef _VFTYPES_H
+#define _VFTYPES_H
+
+//
+// Dependencies
+//
+#include <umtypes.h>
+
+//
+// Failure Classes
+//
+typedef enum _VF_FAILURE_CLASS
+{
+    VFFAILURE_FAIL_IN_FIELD,
+    VFFAILURE_FAIL_LOGO,
+    VFFAILURE_FAIL_UNDER_DEBUGGER
+} VF_FAILURE_CLASS, *PVF_FAILURE_CLASS;
+
+//
+// Object Types
+//
+typedef enum _VF_OBJECT_TYPE
+{
+    VFOBJTYPE_DRIVER,
+    VFOBJTYPE_DEVICE,
+    VFOBJTYPE_SYSTEM_BIOS
+} VF_OBJECT_TYPE, PVF_OBJECT_TYPE;
+
+#endif // _VFTYPES_H
index 6b6fa7e..fb21892 100644 (file)
        <directory name="wmi">
                <file>wmi.c</file>
        </directory>
        <directory name="wmi">
                <file>wmi.c</file>
        </directory>
+       <directory name="vf">
+               <file>driver.c</file>
+       </directory>
        <file>ntoskrnl.rc</file>
        <linkerscript>ntoskrnl_$(ARCH).lnk</linkerscript>
 </group>
        <file>ntoskrnl.rc</file>
        <linkerscript>ntoskrnl_$(ARCH).lnk</linkerscript>
 </group>
index 1297366..ec5c82e 100644 (file)
 @ stdcall SeUnregisterLogonSessionTerminatedRoutine(ptr)
 @ stdcall SeValidSecurityDescriptor(long ptr)
 @ stdcall VerSetConditionMask(long long long long)
 @ stdcall SeUnregisterLogonSessionTerminatedRoutine(ptr)
 @ stdcall SeValidSecurityDescriptor(long ptr)
 @ stdcall VerSetConditionMask(long long long long)
-;VfFailDeviceNode
+@ stdcall VfFailDeviceNode(ptr long long long ptr ptr ptr)
 ;VfFailDriver
 ;VfFailSystemBIOS
 ;VfFailDriver
 ;VfFailSystemBIOS
-;VfIsVerificationEnabled
+@ stdcall VfIsVerificationEnabled(long ptr)
 #ifndef __x86_64__
 @ stdcall WRITE_REGISTER_BUFFER_UCHAR(ptr ptr long)
 @ stdcall WRITE_REGISTER_BUFFER_ULONG(ptr ptr long)
 #ifndef __x86_64__
 @ stdcall WRITE_REGISTER_BUFFER_UCHAR(ptr ptr long)
 @ stdcall WRITE_REGISTER_BUFFER_ULONG(ptr ptr long)
diff --git a/reactos/ntoskrnl/vf/driver.c b/reactos/ntoskrnl/vf/driver.c
new file mode 100644 (file)
index 0000000..8f9cc2b
--- /dev/null
@@ -0,0 +1,46 @@
+/*
+ * PROJECT:         ReactOS Kernel
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
+ * FILE:            ntoskrnl/vf/driver.c
+ * PURPOSE:         Driver Verifier Device Driver Interface
+ * PROGRAMMERS:     ReactOS Portable Systems Group
+ */
+
+/* INCLUDES *****************************************************************/
+
+#include <ntoskrnl.h>
+#define NDEBUG
+#include <debug.h>
+
+/* FUNCTIONS *****************************************************************/
+
+/*
+ * @unimplemented
+ */
+BOOLEAN
+NTAPI
+VfIsVerificationEnabled(IN VF_OBJECT_TYPE VfObjectType,
+                        IN PVOID Object OPTIONAL)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+/*
+ * @unimplemented
+ */
+VOID
+NTAPI
+VfFailDeviceNode(IN PDEVICE_OBJECT PhysicalDeviceObject,
+                 IN ULONG BugCheckMajorCode,
+                 IN ULONG BugCheckMinorCode,
+                 IN VF_FAILURE_CLASS FailureClass,
+                 IN OUT PULONG AssertionControl,
+                 IN PSTR DebuggerMessageText,
+                 IN PSTR ParameterFormatString,
+                 ...)
+{
+    UNIMPLEMENTED;
+}
+
+/* EOF */