Subversion Repositories Kolibri OS

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
6446 GerdtR 1
//
2
 
3
//
4
 
5
//      IMAGE_SCN_TYPE_DSECT                 0x00000001  // Reserved.
6
 
7
//      IMAGE_SCN_TYPE_GROUP                 0x00000004  // Reserved.
8
 
9
//      IMAGE_SCN_TYPE_COPY                  0x00000010  // Reserved.
10
 
11
#define IMAGE_SCN_CNT_CODE                   0x00000020  // Section contains code.
12
 
13
#define IMAGE_SCN_CNT_UNINITIALIZED_DATA     0x00000080  // Section contains uninitialized data.
14
 
15
#define IMAGE_SCN_LNK_OTHER                  0x00000100  // Reserved.
16
 
17
//      IMAGE_SCN_TYPE_OVER                  0x00000400  // Reserved.
18
 
19
 
20
 
21
//      IMAGE_SCN_MEM_PROTECTED - Obsolete   0x00004000
22
 
23
#define IMAGE_SCN_GPREL                      0x00008000  // Section content can be accessed relative to GP
24
 
25
//      IMAGE_SCN_MEM_SYSHEAP  - Obsolete    0x00010000
26
 
27
 
28
 
29
#define IMAGE_SCN_MEM_PRELOAD                0x00080000
30
 
31
#define IMAGE_SCN_ALIGN_1BYTES               0x00100000  //
32
 
33
#define IMAGE_SCN_ALIGN_4BYTES               0x00300000  //
34
 
35
#define IMAGE_SCN_ALIGN_16BYTES              0x00500000  // Default alignment if no others are specified.
36
 
37
#define IMAGE_SCN_ALIGN_64BYTES              0x00700000  //
38
 
39
#define IMAGE_SCN_ALIGN_256BYTES             0x00900000  //
40
 
41
#define IMAGE_SCN_ALIGN_1024BYTES            0x00B00000  //
42
 
43
#define IMAGE_SCN_ALIGN_4096BYTES            0x00D00000  //
44
 
45
// Unused                                    0x00F00000
46
 
47
48
 
49
#define IMAGE_SCN_MEM_DISCARDABLE            0x02000000  // Section can be discarded.
50
 
51
#define IMAGE_SCN_MEM_NOT_PAGED              0x08000000  // Section is not pageable.
52
 
53
#define IMAGE_SCN_MEM_EXECUTE                0x20000000  // Section is executable.
54
 
55
#define IMAGE_SCN_MEM_WRITE                  0x80000000  // Section is writeable.
56
 
57
//
58
 
59
 
60
 
61
#define IMAGE_REL_I386_DIR16    0x0001  //Direct 16-bit reference to the symbols virtual address
62
 
63
#define IMAGE_REL_I386_DIR32    0x0006  //Direct 32-bit reference to the symbols virtual address
64
 
65
#define IMAGE_REL_I386_SEG12    0x0009  //Direct 16-bit reference to the segment-selector bits of a 32-bit virtual address
66
 
67
#define IMAGE_REL_I386_SECREL   0x000B
68
 
69
70
 
71
{
72
 
73
	short numobj;	//число входов в таблицу объектов
74
 
75
	long pCOFF;
76
 
77
  short SizeOfOptionalHeader;
78
 
79
}COFF_HEADER;
80
 
81
typedef struct _IMAGE_SYMBOL
82
 
83
	union{
84
 
85
		struct{
86
 
87
			unsigned long Long;
88
 
89
		char *LongName[2];
90
 
91
	unsigned long Value;
92
 
93
 
94
 
95
	unsigned char NumberOfAuxSymbols;
96
 
97
98
 
99
	union {
100
 
101
		unsigned long RelocCount; // Set to the real count when IMAGE_SCN_LNK_NRELOC_OVFL is set
102
 
103
	unsigned long SymbolTableIndex;
104
 
105
}IMAGE_RELOCATION;
106