Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

93 lines
1.8 KiB

/*++
Copyright (c) 1992 Microsoft Corporation
Module Name:
stktrace.h
Abstract:
This header file defines the format of the stack trace data base
used to track caller backtraces. This is a header file so debugger
extensions can lookup entries in the database remotely.
Author:
Steve Wood (stevewo) 13-Sep-1992
Revision History:
--*/
#ifndef _STKTRACE_H_
#define _STKTRACE_H_
//
// RTL_STACK_TRACE_ENTRY
//
typedef struct _RTL_STACK_TRACE_ENTRY {
struct _RTL_STACK_TRACE_ENTRY * HashChain;
ULONG TraceCount;
USHORT Index;
USHORT Depth;
PVOID BackTrace [MAX_STACK_DEPTH];
} RTL_STACK_TRACE_ENTRY, *PRTL_STACK_TRACE_ENTRY;
//
// RTL_STACK_TRACE_DATABASE
//
typedef struct _STACK_TRACE_DATABASE {
union {
RTL_CRITICAL_SECTION CriticalSection;
ERESOURCE Resource;
PVOID Lock; // real lock (the other two kept for compatibility)
};
PVOID Reserved[3]; // fields no longer used but kept for compatibility
BOOLEAN PreCommitted;
BOOLEAN DumpInProgress;
PVOID CommitBase;
PVOID CurrentLowerCommitLimit;
PVOID CurrentUpperCommitLimit;
PCHAR NextFreeLowerMemory;
PCHAR NextFreeUpperMemory;
ULONG NumberOfEntriesLookedUp;
ULONG NumberOfEntriesAdded;
PRTL_STACK_TRACE_ENTRY *EntryIndexArray; // Indexed by [-1 .. -NumberOfEntriesAdded]
ULONG NumberOfBuckets;
PRTL_STACK_TRACE_ENTRY Buckets [1];
} STACK_TRACE_DATABASE, *PSTACK_TRACE_DATABASE;
PSTACK_TRACE_DATABASE
RtlpAcquireStackTraceDataBase (
VOID
);
VOID
RtlpReleaseStackTraceDataBase (
VOID
);
NTSTATUS
RtlInitializeStackTraceDataBase(
IN PVOID CommitBase,
IN SIZE_T CommitSize,
IN SIZE_T ReserveSize
);
#endif // _STKTRACE_H_