From 2ab1f8b0d4927824738cff28c7ab103614f3f888 Mon Sep 17 00:00:00 2001 From: Sir Richard Date: Sun, 27 Jun 2010 20:47:52 +0000 Subject: [PATCH] [NTOS]: Add "vf" NTOS component, required NDK headers, and enable exports required for PCI driver to load. svn path=/trunk/; revision=47872 --- reactos/include/ndk/ntndk.h | 2 + reactos/include/ndk/vffuncs.h | 54 ++++++++++++++++++++++++ reactos/include/ndk/vftypes.h | 47 +++++++++++++++++++++ reactos/ntoskrnl/ntoskrnl-generic.rbuild | 3 ++ reactos/ntoskrnl/ntoskrnl.pspec | 4 +- reactos/ntoskrnl/vf/driver.c | 46 ++++++++++++++++++++ 6 files changed, 154 insertions(+), 2 deletions(-) create mode 100644 reactos/include/ndk/vffuncs.h create mode 100644 reactos/include/ndk/vftypes.h create mode 100644 reactos/ntoskrnl/vf/driver.c diff --git a/reactos/include/ndk/ntndk.h b/reactos/include/ndk/ntndk.h index b8f2770f3df..93019adb617 100644 --- a/reactos/include/ndk/ntndk.h +++ b/reactos/include/ndk/ntndk.h @@ -59,6 +59,7 @@ Author: #include // Process Manager Types #include // Runtime Library Types #include // Security Subsystem Types +#include // Verifier Types // // Function Headers @@ -80,6 +81,7 @@ Author: #include // Runtime Library Functions #include // Security Subsystem Functions #include // User-Mode NT Library Functions +#include // Verifier Functions // // Assembly Support diff --git a/reactos/include/ndk/vffuncs.h b/reactos/include/ndk/vffuncs.h new file mode 100644 index 00000000000..8b9e2e5c8ee --- /dev/null +++ b/reactos/include/ndk/vffuncs.h @@ -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 +#include + +#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 index 00000000000..d8404a7928b --- /dev/null +++ b/reactos/include/ndk/vftypes.h @@ -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 + +// +// 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 diff --git a/reactos/ntoskrnl/ntoskrnl-generic.rbuild b/reactos/ntoskrnl/ntoskrnl-generic.rbuild index 6b6fa7e99e1..fb218921d4e 100644 --- a/reactos/ntoskrnl/ntoskrnl-generic.rbuild +++ b/reactos/ntoskrnl/ntoskrnl-generic.rbuild @@ -508,6 +508,9 @@ wmi.c + + driver.c + ntoskrnl.rc ntoskrnl_$(ARCH).lnk diff --git a/reactos/ntoskrnl/ntoskrnl.pspec b/reactos/ntoskrnl/ntoskrnl.pspec index 12973661b81..ec5c82ea633 100644 --- a/reactos/ntoskrnl/ntoskrnl.pspec +++ b/reactos/ntoskrnl/ntoskrnl.pspec @@ -1397,10 +1397,10 @@ @ 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 -;VfIsVerificationEnabled +@ stdcall VfIsVerificationEnabled(long ptr) #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 index 00000000000..8f9cc2b2ee1 --- /dev/null +++ b/reactos/ntoskrnl/vf/driver.c @@ -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 +#define NDEBUG +#include + +/* 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 */