1// Licensed to the .NET Foundation under one or more agreements.
2// The .NET Foundation licenses this file to you under the MIT license.
3// See the LICENSE file in the project root for more information.
4
5/*===========================================================================
6**
7** File: SpecialStatics.h
8**
9**
10** Purpose: Defines the data structures for context relative statics.
11**
12**
13**
14=============================================================================*/
15#ifndef _H_SPECIALSTATICS_
16#define _H_SPECIALSTATICS_
17
18// Data structure for storing special context relative static data.
19typedef struct _STATIC_DATA
20{
21 DWORD cElem;
22 PTR_VOID dataPtr[0];
23
24#ifdef DACCESS_COMPILE
25 static ULONG32 DacSize(TADDR addr)
26 {
27 DWORD cElem = *PTR_DWORD(addr);
28 return offsetof(struct _STATIC_DATA, dataPtr) +
29 cElem * sizeof(TADDR);
30 }
31
32 void EnumMemoryRegions(CLRDataEnumMemoryFlags flags);
33#endif
34
35} STATIC_DATA;
36typedef SPTR(STATIC_DATA) PTR_STATIC_DATA;
37
38typedef SimpleList<OBJECTHANDLE> ObjectHandleList;
39
40#endif
41