//
// Structures and enums defined within this file where created using
// information from Microsoft's publicly available PE/COFF format document:
-//
+//
// Microsoft Portable Executable and Common Object File Format Specification
// Revision 8.1 - February 15, 2008
//
enum MachineTypes {
IMAGE_FILE_MACHINE_I386 = 0x14C,
- IMAGINE_FILE_MACHINE_AMD64 = 0x8664
+ IMAGE_FILE_MACHINE_AMD64 = 0x8664
};
struct symbol {
SF_ClassMask = 0x00FF0000,
SF_ClassShift = 16,
- SF_WeakReference = 0x01000000
+ SF_WeakExternal = 0x01000000
+ };
+
+ enum SymbolSectionNumber {
+ IMAGE_SYM_DEBUG = -2,
+ IMAGE_SYM_ABSOLUTE = -1,
+ IMAGE_SYM_UNDEFINED = 0
};
/// Storage class tells where and what the symbol represents
};
enum SymbolComplexType {
- IMAGE_SYM_DTYPE_NULL = 0, ///< No complex type; simple scalar variable.
+ IMAGE_SYM_DTYPE_NULL = 0, ///< No complex type; simple scalar variable.
IMAGE_SYM_DTYPE_POINTER = 1, ///< A pointer to base type.
IMAGE_SYM_DTYPE_FUNCTION = 2, ///< A function that returns a base type.
IMAGE_SYM_DTYPE_ARRAY = 3, ///< An array of base type.
-
+
/// Type is formed as (base + (derived << SCT_COMPLEX_TYPE_SHIFT))
SCT_COMPLEX_TYPE_SHIFT = 4
};