Source code of Windows XP (NT5)
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.
|
|
/*++
Copyright (c) 1990 Microsoft Corporation
Module Name:
newdelp.hxx
Abstract:
This module contains the private definitions used by Ulib's implementation of the new and delete operators and the CRT's malloc, calloc, realloc and free functions.
Author:
David J. Gilman (davegi) 07-Dec-1990
Environment:
ULIB, User Mode
--*/
//
// MEM_BLOCK header signature type and value.
//
DEFINE_TYPE( ULONG, MEM_BLOCKSIG ); CONST MEM_BLOCKSIG Signature = 0xDEADDEAD;
//
// Maximum length of caller's file name.
//
CONST ULONG MaxFileLength = 20;
//
// Maximum size of call stack recorded.
//
CONST ULONG MaxCallStack = 20;
//
// MEM_BLOCK is the header attached to all allocated memory blocks.
// Do not change the order of these fields without fixing the initialization
// of the dummy MEM_BLOCK in newdel.cxx.
//
struct _MEM_BLOCK { _MEM_BLOCK* pmemNext; _MEM_BLOCK* pmemPrev; MEM_BLOCKSIG memsig; ULONG line; ULONG size; STR file[ MaxFileLength ]; DWORD call[ MaxCallStack ]; };
DEFINE_TYPE( struct _MEM_BLOCK, MEM_BLOCK );
//
// Returns the root of the stack frame list.
//
extern "C" {
VOID DoStackTrace( DWORD CallStack[] );
};
|