[NDK] Add a few types needed by the PfxXxx routines.
This should fix absolutely nothing.
svn path=/trunk/; revision=69128
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
//
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;
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
//
nls.c
path.c
ppb.c
+ prefix.c
priv.c
process.c
propvar.c
time.c
timezone.c
timerqueue.c
+ trace.c
unicode.c
unicodeprefix.c
vectoreh.c
--- /dev/null
+/*
+ * 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;
+}
--- /dev/null
+/*
+ * 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;
+}
/* FUNCTIONS *****************************************************************/
+NTSTATUS
+NTAPI
+XIPDispatch(IN ULONG DispatchCode,
+ OUT PVOID Buffer,
+ IN ULONG BufferSize)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
PMEMORY_ALLOCATION_DESCRIPTOR
NTAPI
INIT_FUNCTION
IN USHORT Selector)
{
UNIMPLEMENTED;
- return 0;
+ return STATUS_NOT_IMPLEMENTED;
}
/*
IN ULONG NumOfSelectors)
{
UNIMPLEMENTED;
- return 0;
+ return STATUS_NOT_IMPLEMENTED;
}
/*
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 */
KiServiceExit(TrapFrame, Result);
}
+VOID
+FASTCALL
+KiCheckForSListAddress(IN PKTRAP_FRAME TrapFrame)
+{
+ UNIMPLEMENTED;
+}
+
/*
* @implemented
*/
/* PUBLIC FUNCTIONS **********************************************************/
+BOOLEAN
+NTAPI
+KeIsWaitListEmpty(IN PVOID Object)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
/*
* @implemented
*/
MmUnmapIoSpace(BaseAddress, NumberOfBytes);
}
+LOGICAL
+NTAPI
+MmIsIoSpaceActive(IN PHYSICAL_ADDRESS StartAddress,
+ IN SIZE_T NumberOfBytes)
+{
+ UNIMPLEMENTED;
+ return FALSE;
+}
+
/* EOF */
return MmSystemSize;
}
+NTSTATUS
+NTAPI
+MmCreateMirror(VOID)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
/* EOF */
@ 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()
}
}
+NTSTATUS
+NTAPI
+PsWrapApcWow64Thread(IN OUT PVOID *ApcContext,
+ IN OUT PVOID *ApcRoutine)
+{
+ UNIMPLEMENTED;
+ return STATUS_NOT_IMPLEMENTED;
+}
+
NTSTATUS
NTAPI
NtCreateThread(OUT PHANDLE ThreadHandle,
* @unimplemented
*/
VOID
+__cdecl
VfFailDeviceNode(IN PDEVICE_OBJECT PhysicalDeviceObject,
IN ULONG BugCheckMajorCode,
IN ULONG BugCheckMinorCode,
* @unimplemented
*/
VOID
+__cdecl
VfFailSystemBIOS(IN ULONG BugCheckMajorCode,
IN ULONG BugCheckMinorCode,
IN VF_FAILURE_CLASS FailureClass,
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 */
#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
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
*/