2003-01-13 Ville Palo <vi64pa@koti.soon.fi>
[mono.git] / mcs / class / Mono.PEToolkit / SectionCharacteristics.cs
1 /*\r
2  * Copyright (c) 2002 Sergey Chaban <serge@wildwestsoftware.com>\r
3  */\r
4 \r
5 using System;\r
6 \r
7 namespace Mono.PEToolkit {\r
8 \r
9         [Flags]\r
10         public enum SectionCharacteristics : uint {\r
11                 /// <summary>\r
12                 /// Reserved.\r
13                 /// </summary>\r
14                 IMAGE_SCN_TYPE_REG                 =  0x00000000,\r
15 \r
16                 /// <summary>\r
17                 /// Reserved.\r
18                 /// </summary>\r
19                 IMAGE_SCN_TYPE_DSECT               =  0x00000001,\r
20 \r
21                 /// <summary>\r
22                 /// Reserved.\r
23                 /// </summary>\r
24                 IMAGE_SCN_TYPE_NOLOAD              =  0x00000002,\r
25 \r
26                 /// <summary>\r
27                 /// Reserved.\r
28                 /// </summary>\r
29                 IMAGE_SCN_TYPE_GROUP               =  0x00000004,\r
30 \r
31                 /// <summary>\r
32                 /// Reserved.\r
33                 /// </summary>\r
34                 IMAGE_SCN_TYPE_NO_PAD              =  0x00000008,\r
35 \r
36                 /// <summary>\r
37                 /// Reserved.\r
38                 /// </summary>\r
39                 IMAGE_SCN_TYPE_COPY                =  0x00000010,\r
40 \r
41                 /// <summary>\r
42                 /// Section contains code.\r
43                 /// </summary>\r
44                 IMAGE_SCN_CNT_CODE                 =  0x00000020,\r
45 \r
46                 /// <summary>\r
47                 /// Section contains initialized data.\r
48                 /// </summary>\r
49                 IMAGE_SCN_CNT_INITIALIZED_DATA     =  0x00000040,\r
50 \r
51                 /// <summary>\r
52                 /// Section contains uninitialized data.\r
53                 /// </summary>\r
54                 IMAGE_SCN_CNT_UNINITIALIZED_DATA   =  0x00000080,\r
55 \r
56                 /// <summary>\r
57                 /// Reserved.\r
58                 /// </summary>\r
59                 IMAGE_SCN_LNK_OTHER                =  0x00000100,\r
60 \r
61                 /// <summary>\r
62                 /// Section contains comments or some other type of information.\r
63                 /// </summary>\r
64                 IMAGE_SCN_LNK_INFO                 =  0x00000200,\r
65 \r
66                 /// <summary>\r
67                 /// Reserved.\r
68                 /// </summary>\r
69                 IMAGE_SCN_TYPE_OVER                =  0x00000400,\r
70                 \r
71                 /// <summary>\r
72                 /// Section contents will not become part of image.\r
73                 /// </summary>\r
74                 IMAGE_SCN_LNK_REMOVE               =  0x00000800,\r
75 \r
76                 /// <summary>\r
77                 /// Section contents comdat.\r
78                 /// </summary>\r
79                 IMAGE_SCN_LNK_COMDAT               =  0x00001000,\r
80 \r
81 \r
82                 /// <summary>\r
83                 /// Reset speculative exceptions handling bits in the TLB entries for this section.\r
84                 /// </summary>\r
85                 /// <remarks>\r
86                 /// IMAGE_SCN_MEM_PROTECTED - Obsolete.\r
87                 /// </remarks>\r
88                 IMAGE_SCN_NO_DEFER_SPEC_EXC        =  0x00004000,\r
89 \r
90                 /// <summary>\r
91                 /// Section content can be accessed relative to GP (MIPS).\r
92                 /// </summary>\r
93                 IMAGE_SCN_GPREL                    =  0x00008000,\r
94 \r
95                 /// <summary>\r
96                 /// </summary>\r
97                 IMAGE_SCN_MEM_FARDATA              =  0x00008000,\r
98 \r
99                 /// <summary>\r
100                 /// Obsolete.\r
101                 /// </summary>\r
102                 IMAGE_SCN_MEM_PURGEABLE            =  0x00020000,\r
103 \r
104                 /// <summary>\r
105                 /// Obsolete.\r
106                 /// </summary>\r
107                 IMAGE_SCN_MEM_16BIT                =  0x00020000,\r
108 \r
109                 /// <summary>\r
110                 /// Obsolete.\r
111                 /// </summary>\r
112                 IMAGE_SCN_MEM_LOCKED               =  0x00040000,\r
113 \r
114                 /// <summary>\r
115                 /// Obsolete.\r
116                 /// </summary>\r
117                 IMAGE_SCN_MEM_PRELOAD              =  0x00080000,\r
118 \r
119                 /// <summary>\r
120                 /// </summary>\r
121                 /// <remarks>\r
122                 /// IMAGE_SCN_MEM_SYSHEAP  - Obsolete    0x00010000\r
123                 /// </remarks>\r
124                 IMAGE_SCN_ALIGN_1BYTES             =  0x00100000,\r
125 \r
126                 IMAGE_SCN_ALIGN_2BYTES             =  0x00200000,\r
127                 IMAGE_SCN_ALIGN_4BYTES             =  0x00300000,\r
128                 IMAGE_SCN_ALIGN_8BYTES             =  0x00400000,\r
129 \r
130                 // default alignment\r
131                 IMAGE_SCN_ALIGN_16BYTES            =  0x00500000,\r
132 \r
133                 IMAGE_SCN_ALIGN_32BYTES            =  0x00600000,\r
134                 IMAGE_SCN_ALIGN_64BYTES            =  0x00700000,\r
135                 IMAGE_SCN_ALIGN_128BYTES           =  0x00800000,\r
136                 IMAGE_SCN_ALIGN_256BYTES           =  0x00900000,\r
137                 IMAGE_SCN_ALIGN_512BYTES           =  0x00A00000,\r
138                 IMAGE_SCN_ALIGN_1024BYTES          =  0x00B00000,\r
139                 IMAGE_SCN_ALIGN_2048BYTES          =  0x00C00000,\r
140                 IMAGE_SCN_ALIGN_4096BYTES          =  0x00D00000,\r
141                 IMAGE_SCN_ALIGN_8192BYTES          =  0x00E00000,\r
142 \r
143                 IMAGE_SCN_ALIGN_MASK               =  0x00F00000,\r
144 \r
145                 /// <summary>\r
146                 /// Section contains extended relocations.\r
147                 /// </summary>\r
148                 IMAGE_SCN_LNK_NRELOC_OVFL          =  0x01000000,\r
149                 \r
150                 /// <summary>\r
151                 /// Section can be discarded.\r
152                 /// </summary>\r
153                 IMAGE_SCN_MEM_DISCARDABLE          =  0x02000000,\r
154                 \r
155                 /// <summary>\r
156                 /// Section is not cachable.\r
157                 /// </summary>\r
158                 IMAGE_SCN_MEM_NOT_CACHED           =  0x04000000,\r
159 \r
160                 /// <summary>\r
161                 /// Section is not pageable.\r
162                 /// </summary>\r
163                 IMAGE_SCN_MEM_NOT_PAGED            =  0x08000000,\r
164                 \r
165                 /// <summary>\r
166                 /// Section is shareable.\r
167                 /// </summary>\r
168                 IMAGE_SCN_MEM_SHARED               =  0x10000000,\r
169 \r
170                 /// <summary>\r
171                 /// Section is executable.\r
172                 /// </summary>\r
173                 IMAGE_SCN_MEM_EXECUTE              =  0x20000000,\r
174 \r
175                 /// <summary>\r
176                 /// Section is readable.\r
177                 /// </summary>\r
178                 IMAGE_SCN_MEM_READ                 =  0x40000000,\r
179 \r
180                 /// <summary>\r
181                 /// Section is writeable.\r
182                 /// </summary>\r
183                 IMAGE_SCN_MEM_WRITE                =  0x80000000,\r
184 \r
185 \r
186                 /// <summary>\r
187                 /// TLS index is scaled.\r
188                 /// </summary>\r
189                 IMAGE_SCN_SCALE_INDEX              =  0x00000001,\r
190         }\r
191 \r
192 }\r