[NTOS] STUB ALL THE EXPORTS. We should now have all the exports expected by a 2k3...
authorStefan Ginsberg <stefanginsberg@gmail.com>
Tue, 8 Sep 2015 20:14:39 +0000 (20:14 +0000)
committerStefan Ginsberg <stefanginsberg@gmail.com>
Tue, 8 Sep 2015 20:14:39 +0000 (20:14 +0000)
[NDK] Add a few types needed by the PfxXxx routines.

This should fix absolutely nothing.

svn path=/trunk/; revision=69128

14 files changed:
reactos/include/ndk/rtltypes.h
reactos/lib/rtl/CMakeLists.txt
reactos/lib/rtl/prefix.c [new file with mode: 0644]
reactos/lib/rtl/trace.c [new file with mode: 0644]
reactos/ntoskrnl/ex/xipdisp.c
reactos/ntoskrnl/ke/i386/abios.c
reactos/ntoskrnl/ke/i386/traphdlr.c
reactos/ntoskrnl/ke/wait.c
reactos/ntoskrnl/mm/ARM3/iosup.c
reactos/ntoskrnl/mm/ARM3/mmsup.c
reactos/ntoskrnl/ntoskrnl.spec
reactos/ntoskrnl/ps/thread.c
reactos/ntoskrnl/vf/driver.c
reactos/ntoskrnl/wmi/wmi.c

index a04bddc..ae42d88 100644 (file)
@@ -834,6 +834,27 @@ typedef struct _UNICODE_PREFIX_TABLE
     PUNICODE_PREFIX_TABLE_ENTRY LastNextEntry;
 } UNICODE_PREFIX_TABLE, *PUNICODE_PREFIX_TABLE;
 
+#ifdef NTOS_MODE_USER
+//
+// Pfx* routines' table structures
+//
+typedef struct _PREFIX_TABLE_ENTRY
+{
+  CSHORT NodeTypeCode;
+  CSHORT NameLength;
+  struct _PREFIX_TABLE_ENTRY *NextPrefixTree;
+  RTL_SPLAY_LINKS Links;
+  PSTRING Prefix;
+} PREFIX_TABLE_ENTRY, *PPREFIX_TABLE_ENTRY;
+
+typedef struct _PREFIX_TABLE
+{
+  CSHORT NodeTypeCode;
+  CSHORT NameLength;
+  PPREFIX_TABLE_ENTRY NextPrefixTree;
+} PREFIX_TABLE, *PPREFIX_TABLE;
+#endif
+
 //
 // Time Structure for RTL Time calls
 //
@@ -1607,6 +1628,12 @@ typedef struct _STACK_TRACE_DATABASE
     RTL_CRITICAL_SECTION CriticalSection;
 } STACK_TRACE_DATABASE, *PSTACK_TRACE_DATABASE;
 
+//
+// Trace Database
+//
+
+typedef ULONG (NTAPI *RTL_TRACE_HASH_FUNCTION) (ULONG Count, PVOID *Trace);
+
 typedef struct _RTL_TRACE_BLOCK
 {
     ULONG Magic;
@@ -1619,6 +1646,50 @@ typedef struct _RTL_TRACE_BLOCK
     PVOID *Trace;
 } RTL_TRACE_BLOCK, *PRTL_TRACE_BLOCK;
 
+typedef struct _RTL_TRACE_DATABASE
+{
+    ULONG Magic;
+    ULONG Flags;
+    ULONG Tag;
+    struct _RTL_TRACE_SEGMENT *SegmentList;
+    SIZE_T MaximumSize;
+    SIZE_T CurrentSize;
+    PVOID Owner;
+#ifdef NTOS_MODE_USER
+    RTL_CRITICAL_SECTION Lock;
+#else
+    union
+    {
+        KSPIN_LOCK SpinLock;
+        FAST_MUTEX FastMutex;
+    } u;
+#endif
+    ULONG NoOfBuckets;
+    struct _RTL_TRACE_BLOCK **Buckets;
+    RTL_TRACE_HASH_FUNCTION HashFunction;
+    SIZE_T NoOfTraces;
+    SIZE_T NoOfHits;
+    ULONG HashCounter[16];
+} RTL_TRACE_DATABASE, *PRTL_TRACE_DATABASE;
+
+typedef struct _RTL_TRACE_SEGMENT
+{
+    ULONG Magic;
+    struct _RTL_TRACE_DATABASE *Database;
+    struct _RTL_TRACE_SEGMENT *NextSegment;
+    SIZE_T TotalSize;
+    PCHAR SegmentStart;
+    PCHAR SegmentEnd;
+    PCHAR SegmentFree;
+} RTL_TRACE_SEGMENT, *PRTL_TRACE_SEGMENT;
+
+typedef struct _RTL_TRACE_ENUMERATE
+{
+    struct _RTL_TRACE_DATABASE *Database;
+    ULONG Index;
+    struct _RTL_TRACE_BLOCK *Block;
+} RTL_TRACE_ENUMERATE, * PRTL_TRACE_ENUMERATE;
+
 //
 // Auto-Managed Rtl* String Buffer
 //
index 2096782..5c4cbe7 100644 (file)
@@ -42,6 +42,7 @@ list(APPEND SOURCE
     nls.c
     path.c
     ppb.c
+    prefix.c
     priv.c
     process.c
     propvar.c
@@ -61,6 +62,7 @@ list(APPEND SOURCE
     time.c
     timezone.c
     timerqueue.c
+    trace.c
     unicode.c
     unicodeprefix.c
     vectoreh.c
diff --git a/reactos/lib/rtl/prefix.c b/reactos/lib/rtl/prefix.c
new file mode 100644 (file)
index 0000000..eabbe89
--- /dev/null
@@ -0,0 +1,47 @@
+/*
+ * PROJECT:         ReactOS Run-Time Library
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
+ * PURPOSE:         Rtl Prefix Routines
+ */
+
+/* INCLUDES *******************************************************************/
+
+#include <rtl.h>
+#define NDEBUG
+#include <debug.h>
+
+/* FUNCTIONS ******************************************************************/
+
+VOID
+NTAPI
+PfxInitialize(IN PPREFIX_TABLE PrefixTable)
+{
+    UNIMPLEMENTED;
+}
+
+BOOLEAN
+NTAPI
+PfxInsertPrefix(IN PPREFIX_TABLE PrefixTable,
+                IN PSTRING Prefix,
+                IN PPREFIX_TABLE_ENTRY PrefixTableEntry)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+VOID
+NTAPI
+PfxRemovePrefix(IN PPREFIX_TABLE PrefixTable,
+                IN PPREFIX_TABLE_ENTRY PrefixTableEntry)
+{
+    UNIMPLEMENTED;
+}
+
+PPREFIX_TABLE_ENTRY
+NTAPI
+PfxFindPrefix(IN PPREFIX_TABLE PrefixTable,
+              IN PSTRING FullName)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
diff --git a/reactos/lib/rtl/trace.c b/reactos/lib/rtl/trace.c
new file mode 100644 (file)
index 0000000..3979a50
--- /dev/null
@@ -0,0 +1,90 @@
+/*
+ * PROJECT:         ReactOS Run-Time Library
+ * LICENSE:         BSD - See COPYING.ARM in the top level directory
+ * PURPOSE:         Rtl Trace Routines
+ */
+
+/* INCLUDES *******************************************************************/
+
+#include <rtl.h>
+#define NDEBUG
+#include <debug.h>
+
+/* FUNCTIONS ******************************************************************/
+
+BOOLEAN
+NTAPI
+RtlTraceDatabaseAdd(IN PRTL_TRACE_DATABASE Database, 
+                    IN ULONG Count, 
+                    IN PVOID *Trace,
+                    OUT OPTIONAL PRTL_TRACE_BLOCK *TraceBlock)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+PRTL_TRACE_DATABASE
+NTAPI
+RtlTraceDatabaseCreate(IN ULONG Buckets, 
+                       IN OPTIONAL SIZE_T MaximumSize, 
+                       IN ULONG Flags, 
+                       IN ULONG Tag, 
+                       IN OPTIONAL RTL_TRACE_HASH_FUNCTION HashFunction)
+{
+    UNIMPLEMENTED;
+    return NULL;
+}
+
+BOOLEAN
+NTAPI
+RtlTraceDatabaseDestroy(IN PRTL_TRACE_DATABASE Database)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+BOOLEAN
+NTAPI
+RtlTraceDatabaseEnumerate(IN PRTL_TRACE_DATABASE Database, 
+                          IN PRTL_TRACE_ENUMERATE TraceEnumerate,
+                          IN OUT PRTL_TRACE_BLOCK *TraceBlock)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+
+BOOLEAN
+NTAPI
+RtlTraceDatabaseFind(IN PRTL_TRACE_DATABASE Database, 
+                     IN ULONG Count,
+                     IN PVOID *Trace,
+                     OUT OPTIONAL PRTL_TRACE_BLOCK *TraceBlock)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+BOOLEAN
+NTAPI
+RtlTraceDatabaseLock(IN PRTL_TRACE_DATABASE Database)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+BOOLEAN
+NTAPI
+RtlTraceDatabaseUnlock(IN PRTL_TRACE_DATABASE Database)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
+BOOLEAN
+NTAPI
+RtlTraceDatabaseValidate(IN PRTL_TRACE_DATABASE Database)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
index c3249f4..1fe7725 100644 (file)
 
 /* FUNCTIONS *****************************************************************/
 
+NTSTATUS
+NTAPI
+XIPDispatch(IN ULONG DispatchCode,
+            OUT PVOID Buffer,
+            IN ULONG BufferSize)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
 PMEMORY_ALLOCATION_DESCRIPTOR
 NTAPI
 INIT_FUNCTION
index 0f05043..10cbf43 100644 (file)
@@ -24,7 +24,7 @@ KeI386FlatToGdtSelector(IN ULONG Base,
                         IN USHORT Selector)
 {
     UNIMPLEMENTED;
-    return 0;
+    return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -36,7 +36,7 @@ KeI386ReleaseGdtSelectors(OUT PULONG SelArray,
                           IN ULONG NumOfSelectors)
 {
     UNIMPLEMENTED;
-    return 0;
+    return STATUS_NOT_IMPLEMENTED;
 }
 
 /*
@@ -46,9 +46,68 @@ NTSTATUS
 NTAPI
 KeI386AllocateGdtSelectors(OUT PULONG SelArray,
                            IN ULONG NumOfSelectors)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+KeI386SetGdtSelector(IN ULONG Selector,
+                     IN PKGDTENTRY GdtValue)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+KeI386AbiosCall(IN USHORT CallId,
+                IN PDRIVER_OBJECT DriverObject,
+                IN PULONG RequestBlock,
+                IN USHORT EntryPoint)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+KeI386GetLid(IN USHORT DeviceId,
+             IN USHORT RelativeLid,
+             IN BOOLEAN SharedLid,
+             IN PDRIVER_OBJECT DriverObject,
+             OUT PUSHORT LogicalId)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+KeI386ReleaseLid(IN USHORT LogicalId,
+                 IN PDRIVER_OBJECT DriverObject)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+USHORT
+NTAPI
+KeI386Call16BitCStyleFunction(IN ULONG EntryOffset,
+                              IN ULONG EntrySelector,
+                              IN PULONG Parameters,
+                              IN ULONG Size)
 {
     UNIMPLEMENTED;
     return 0;
 }
 
+VOID
+NTAPI
+KeI386Call16BitFunction(IN OUT PCONTEXT Context)
+{
+    UNIMPLEMENTED;
+}
+
 /* EOF */
index d3b041e..b1f7cf3 100644 (file)
@@ -1740,6 +1740,13 @@ ExitCall:
     KiServiceExit(TrapFrame, Result);
 }
 
+VOID
+FASTCALL
+KiCheckForSListAddress(IN PKTRAP_FRAME TrapFrame)
+{
+    UNIMPLEMENTED;   
+}
+
 /*
  * @implemented
  */
index c7bfa3e..a11e6ed 100644 (file)
@@ -267,6 +267,14 @@ Quickie:
 
 /* PUBLIC FUNCTIONS **********************************************************/
 
+BOOLEAN
+NTAPI
+KeIsWaitListEmpty(IN PVOID Object)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
 /*
  * @implemented
  */
index 9d5d60d..08a8ba2 100644 (file)
@@ -265,4 +265,13 @@ MmUnmapVideoDisplay(IN PVOID BaseAddress,
     MmUnmapIoSpace(BaseAddress, NumberOfBytes);
 }
 
+LOGICAL
+NTAPI
+MmIsIoSpaceActive(IN PHYSICAL_ADDRESS StartAddress,
+                  IN SIZE_T NumberOfBytes)
+{
+    UNIMPLEMENTED;
+    return FALSE;
+}
+
 /* EOF */
index 4238bf5..59e13bd 100644 (file)
@@ -260,4 +260,12 @@ MmQuerySystemSize(VOID)
     return MmSystemSize;
 }
 
+NTSTATUS
+NTAPI
+MmCreateMirror(VOID)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;    
+}
+
 /* EOF */
index d2087d8..50c6988 100644 (file)
 @ stdcall KeGetCurrentThread()
 @ stdcall KeGetPreviousMode()
 @ stdcall KeGetRecommendedSharedDataAlignment()
-; -arch=i386 KeI386AbiosCall
+@ stdcall -arch=i386 KeI386AbiosCall(long ptr ptr long)
 @ stdcall -arch=i386 KeI386AllocateGdtSelectors(ptr long)
-; -arch=i386 KeI386Call16BitCStyleFunction
-; -arch=i386 KeI386Call16BitFunction
+@ stdcall -arch=i386 KeI386Call16BitCStyleFunction(long long ptr long)
+@ stdcall -arch=i386 KeI386Call16BitFunction(ptr)
 @ stdcall -arch=i386 KeI386FlatToGdtSelector(long long long)
-; -arch=i386 KeI386GetLid
+@ stdcall -arch=i386 KeI386GetLid(long long long ptr ptr)
 @ extern -arch=i386 KeI386MachineType
 @ stdcall -arch=i386 KeI386ReleaseGdtSelectors(ptr long)
-; -arch=i386 KeI386ReleaseLid
-; -arch=i386 KeI386SetGdtSelector
+@ stdcall -arch=i386 KeI386ReleaseLid(long ptr)
+@ stdcall -arch=i386 KeI386SetGdtSelector(long ptr)
 @ stdcall KeInitializeApc(ptr ptr long ptr ptr ptr long ptr)
 @ stdcall KeInitializeCrashDumpHeader(long long ptr long ptr)
 @ stdcall KeInitializeDeviceQueue(ptr)
 @ stdcall KeIpiGenericCall(ptr ptr)
 @ stdcall KeIsAttachedProcess()
 @ stdcall -arch=i386,arm KeIsExecutingDpc()
-;KeIsWaitListEmpty
+@ stdcall KeIsWaitListEmpty(ptr)
 ;@ cdecl -arch=x86_64 KeLastBranchMSR()
 @ stdcall KeLeaveCriticalRegion() _KeLeaveCriticalRegion
 @ stdcall KeLeaveGuardedRegion() _KeLeaveGuardedRegion
 @ fastcall -arch=i386,arm KiAcquireSpinLock(ptr)
 @ extern KiBugCheckData
 @ stdcall KiCheckForKernelApcDelivery()
-;-arch=i386,arm KiCheckForSListAddress
+@ fastcall -arch=i386,arm KiCheckForSListAddress(ptr)
 @ stdcall -arch=i386 KiCoprocessorError()
 ;@ cdecl -arch=x86_64 KiCpuId()
 @ stdcall -arch=i386,arm KiDeliverApc(long ptr ptr)
 @ stdcall MmCanFileBeTruncated(ptr ptr)
 @ stdcall MmCommitSessionMappedView(ptr ptr)
 @ stdcall MmCreateMdl(ptr ptr long)
-;MmCreateMirror
+@ stdcall MmCreateMirror()
 @ stdcall MmCreateSection(ptr long ptr ptr long long ptr ptr)
 @ stdcall MmDisableModifiedWriteOfSection(long)
 @ stdcall MmFlushImageSection(ptr long)
 @ extern MmHighestUserAddress
 @ stdcall MmIsAddressValid(ptr)
 @ stdcall MmIsDriverVerifying(ptr)
-;MmIsIoSpaceActive
+@ stdcall MmIsIoSpaceActive(long long ptr)
 @ stdcall MmIsNonPagedSystemAddressValid(ptr)
 @ stdcall MmIsRecursiveIoFault()
 @ stdcall MmIsThisAnNtAsSystem()
 @ stdcall ObSetSecurityObjectByPointer(ptr long ptr)
 @ fastcall ObfDereferenceObject(ptr)
 @ fastcall ObfReferenceObject(ptr)
-;PfxFindPrefix
-;PfxInitialize
-;PfxInsertPrefix
-;PfxRemovePrefix
+@ stdcall PfxFindPrefix(ptr ptr)
+@ stdcall PfxInitialize(ptr)
+@ stdcall PfxInsertPrefix(ptr ptr ptr)
+@ stdcall PfxRemovePrefix(ptr ptr)
 @ stdcall PoCallDriver(ptr ptr)
 @ stdcall PoCancelDeviceNotify(ptr)
 @ stdcall PoQueueShutdownWorkItem(ptr)
 @ stdcall PsSetThreadWin32Thread(ptr ptr ptr)
 @ stdcall PsTerminateSystemThread(long)
 @ extern PsThreadType
-;PsWrapApcWow64Thread
+@ stdcall PsWrapApcWow64Thread(ptr ptr)
 @ stdcall -arch=i386,arm READ_REGISTER_BUFFER_UCHAR(ptr ptr long)
 @ stdcall -arch=i386,arm READ_REGISTER_BUFFER_ULONG(ptr ptr long)
 @ stdcall -arch=i386,arm READ_REGISTER_BUFFER_USHORT(ptr ptr long)
 @ stdcall RtlTimeToSecondsSince1970(ptr ptr)
 @ stdcall RtlTimeToSecondsSince1980(ptr ptr)
 @ stdcall RtlTimeToTimeFields(ptr ptr)
-;RtlTraceDatabaseAdd
-;RtlTraceDatabaseCreate
-;RtlTraceDatabaseDestroy
-;RtlTraceDatabaseEnumerate
-;RtlTraceDatabaseFind
-;RtlTraceDatabaseLock
-;RtlTraceDatabaseUnlock
-;RtlTraceDatabaseValidate
+@ stdcall RtlTraceDatabaseAdd(ptr long ptr ptr)
+@ stdcall RtlTraceDatabaseCreate(long ptr long long ptr)
+@ stdcall RtlTraceDatabaseDestroy(ptr)
+@ stdcall RtlTraceDatabaseEnumerate(ptr ptr ptr)
+@ stdcall RtlTraceDatabaseFind(ptr long ptr ptr)
+@ stdcall RtlTraceDatabaseLock(ptr)
+@ stdcall RtlTraceDatabaseUnlock(ptr)
+@ stdcall RtlTraceDatabaseValidate(ptr)
 @ fastcall -arch=i386,arm RtlUlongByteSwap(long)
 @ fastcall -arch=i386,arm RtlUlonglongByteSwap(long long)
 @ stdcall RtlUnicodeStringToAnsiSize(ptr) RtlxUnicodeStringToAnsiSize
 @ stdcall SeValidSecurityDescriptor(long ptr)
 @ stdcall VerSetConditionMask(long long long long)
 @ cdecl VfFailDeviceNode(ptr long long long ptr ptr ptr)
-;VfFailDriver
+@ cdecl VfFailDriver(long long long ptr ptr ptr)
 @ cdecl VfFailSystemBIOS(long long long ptr ptr ptr)
 @ stdcall VfIsVerificationEnabled(long ptr)
 @ stdcall -arch=i386,arm WRITE_REGISTER_BUFFER_UCHAR(ptr ptr long)
 @ stdcall -arch=i386,arm WRITE_REGISTER_UCHAR(ptr long)
 @ stdcall -arch=i386,arm WRITE_REGISTER_ULONG(ptr long)
 @ stdcall -arch=i386,arm WRITE_REGISTER_USHORT(ptr long)
-;WmiFlushTrace
-;WmiGetClock
-;WmiQueryTrace
+@ stdcall WmiFlushTrace(ptr)
+@ stdcall WmiGetClock(long ptr)
+@ stdcall WmiQueryTrace(ptr)
 @ stdcall WmiQueryTraceInformation(long ptr long ptr ptr)
-;WmiStartTrace
-;WmiStopTrace
-;WmiTraceFastEvent
+@ stdcall WmiStartTrace(ptr)
+@ stdcall WmiStopTrace(ptr)
+@ stdcall WmiTraceFastEvent(ptr)
 @ cdecl WmiTraceMessage()
 @ stdcall WmiTraceMessageVa(double long ptr long long)
-;WmiUpdateTrace
-;XIPDispatch
+@ stdcall WmiUpdateTrace(ptr)
+@ stdcall XIPDispatch(long ptr long)
 @ stdcall ZwAccessCheckAndAuditAlarm(ptr ptr ptr ptr ptr long ptr long ptr ptr ptr)
 @ stdcall ZwAddBootEntry(ptr long)
 @ stdcall ZwAddDriverEntry(ptr long)
 @ cdecl -arch=arm __jump_unwind()
 @ cdecl -arch=x86_64 __chkstk()
 ;@ cdecl -arch=x86_64 __misaligned_access()
-;@ cdecl -arch=i386 _CIcos
-;@ cdecl -arch=i386 _CIsin
-;@ cdecl -arch=i386 _CIsqrt
+@ cdecl -arch=i386 _CIcos()
+@ cdecl -arch=i386 _CIsin()
+@ cdecl -arch=i386 _CIsqrt()
 @ cdecl -arch=i386,arm _abnormal_termination()
 @ cdecl -arch=i386 _alldiv()
 @ cdecl -arch=i386 _alldvrm()
index 07fb0d0..571c2e0 100644 (file)
@@ -927,6 +927,15 @@ PsSetThreadWin32Thread(
     }
 }
 
+NTSTATUS
+NTAPI
+PsWrapApcWow64Thread(IN OUT PVOID *ApcContext,
+                     IN OUT PVOID *ApcRoutine)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}    
+
 NTSTATUS
 NTAPI
 NtCreateThread(OUT PHANDLE ThreadHandle,
index 37ba2ec..cd30d00 100644 (file)
@@ -30,6 +30,7 @@ VfIsVerificationEnabled(IN VF_OBJECT_TYPE VfObjectType,
  * @unimplemented
  */
 VOID
+__cdecl
 VfFailDeviceNode(IN PDEVICE_OBJECT PhysicalDeviceObject,
                  IN ULONG BugCheckMajorCode,
                  IN ULONG BugCheckMinorCode,
@@ -46,6 +47,7 @@ VfFailDeviceNode(IN PDEVICE_OBJECT PhysicalDeviceObject,
  * @unimplemented
  */
 VOID
+__cdecl
 VfFailSystemBIOS(IN ULONG BugCheckMajorCode,
                  IN ULONG BugCheckMinorCode,
                  IN VF_FAILURE_CLASS FailureClass,
@@ -57,4 +59,17 @@ VfFailSystemBIOS(IN ULONG BugCheckMajorCode,
     UNIMPLEMENTED;
 }
 
+VOID
+__cdecl
+VfFailDriver(IN ULONG BugCheckMajorCode,
+             IN ULONG BugCheckMinorCode,
+             IN VF_FAILURE_CLASS FailureClass,
+             IN OUT PULONG AssertionControl,
+             IN PSTR DebuggerMessageText,
+             IN PSTR ParameterFormatString,
+             ...)
+{
+    UNIMPLEMENTED;
+}
+
 /* EOF */
index 2662278..25b424e 100644 (file)
 #define NDEBUG
 #include <debug.h>
 
+typedef PVOID PWMI_LOGGER_INFORMATION; // FIXME
+
+typedef enum _WMI_CLOCK_TYPE
+{
+    WMICT_DEFAULT,
+    WMICT_SYSTEMTIME,
+    WMICT_PERFCOUNTER,
+    WMICT_PROCESS,
+    WMICT_THREAD,
+    WMICT_CPUCYCLE
+} WMI_CLOCK_TYPE;
+
 /* FUNCTIONS *****************************************************************/
 
 BOOLEAN
@@ -349,6 +361,63 @@ WmiTraceMessageVa(IN TRACEHANDLE LoggerHandle,
     return STATUS_NOT_IMPLEMENTED;
 }
 
+NTSTATUS
+NTAPI
+WmiFlushTrace(IN OUT PWMI_LOGGER_INFORMATION LoggerInfo)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+LONG64
+FASTCALL
+WmiGetClock(IN WMI_CLOCK_TYPE ClockType,
+            IN PVOID Context)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+WmiQueryTrace(IN OUT PWMI_LOGGER_INFORMATION LoggerInfo)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+WmiStartTrace(IN OUT PWMI_LOGGER_INFORMATION LoggerInfo)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+    
+NTSTATUS
+NTAPI
+WmiStopTrace(IN PWMI_LOGGER_INFORMATION LoggerInfo)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+FASTCALL
+WmiTraceFastEvent(IN PWNODE_HEADER Wnode)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
+NTSTATUS
+NTAPI
+WmiUpdateTrace(IN OUT PWMI_LOGGER_INFORMATION LoggerInfo)
+{
+    UNIMPLEMENTED;
+    return STATUS_NOT_IMPLEMENTED;
+}
+
 /*
  * @unimplemented
  */