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. |
19 | typedef 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; |
36 | typedef SPTR(STATIC_DATA) PTR_STATIC_DATA; |
37 | |
38 | typedef SimpleList<OBJECTHANDLE> ObjectHandleList; |
39 | |
40 | #endif |
41 | |