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) 1993-2000 Microsoft Corporation
Module Name:
rpcssm.hxx
Abstract:
Private definitions for the rpcssm memory package
Author:
Ryszard K. Kott (ryszardk) created June 29, 1994.
Revision History:
-------------------------------------------------------------------*/
#ifndef __RPCSSM_HXX__
#define __RPCSSM_HXX__
#define ALIGN_TO_8(x) (size_t)(((x)+7) & 0xfffffff8)
#define DESCR_ARRAY_SIZE 1024
#define DESCR_ARRAY_INCR 1024
#define ENABLE_STACK_SIZE 16
#define ENABLE_STACK_INCR 16
// Enable stack keeps longs.
// Descr block stack keeps descr blocks.
typedef struct _ALLOC_BLOCK_DESCR { char * AllocationBlock; char * FirstFree; unsigned long SizeLeft;
#if defined( DEBUGRPC )
unsigned long Counter; #endif
} ALLOC_BLOCK_DESCR, * PALLOC_BLOCK_DESCR;
// Initial boundle of Win32 stacks: we save an allocation at the expense
// of keeping initial block around.
// Of course we hope that initial block is good enough for most apps.
typedef struct _INIT_STACKS_BLOCK { unsigned long EnableStack[ ENABLE_STACK_SIZE ]; ALLOC_BLOCK_DESCR DescrStack[ DESCR_ARRAY_SIZE ]; } INIT_STACKS_BLOCK;
typedef struct _ALLOCATION_CONTEXT { RPC_CLIENT_ALLOC * ClientAlloc; RPC_CLIENT_FREE * ClientFree; unsigned int EnableCount;
CRITICAL_SECTION CriticalSection; unsigned long ThreadCount;
INIT_STACKS_BLOCK * pInitialStacks;
unsigned long * pEnableStack; unsigned long StackMax; unsigned long StackTop;
PALLOC_BLOCK_DESCR pBlockDescr; unsigned long DescrSize; unsigned long FFIndex;
DWORD PageSize; DWORD Granularity;
} ALLOCATION_CONTEXT, * PALLOCATION_CONTEXT;
#ifdef NEWNDR_INTERNAL
#undef RequestGlobalMutex
#undef ClearGlobalMutex
#define RequestGlobalMutex()
#define ClearGlobalMutex()
#endif // NEWNDR_INTERNAL
PALLOCATION_CONTEXT GetAllocContext (); void SetAllocContext ( IN PALLOCATION_CONTEXT AllocContext );
#endif // __RPCSSM_HXX__
|