Home | Info | Community | Development | myReactOS | Contact Us
ReactOS Development > Doxygenrsym64.h
Go to the documentation of this file.
00001 #pragma once 00002 00003 //C_ASSERT(sizeof(ULONG) == 4); 00004 typedef unsigned char UBYTE; 00005 #if defined(_MSC_VER) || defined(__MINGW32__) 00006 typedef unsigned __int64 ULONG64; 00007 #else 00008 #include <stdint.h> 00009 typedef uint64_t ULONG64; 00010 #endif 00011 00012 00013 #define IMAGE_FILE_MACHINE_I386 0x14c 00014 #define IMAGE_FILE_MACHINE_AMD64 0x8664 00015 #define IMAGE_DIRECTORY_ENTRY_IMPORT 1 00016 #define IMAGE_DIRECTORY_ENTRY_EXCEPTION 3 00017 00018 #define UWOP_PUSH_NONVOL 0 00019 #define UWOP_ALLOC_LARGE 1 00020 #define UWOP_ALLOC_SMALL 2 00021 #define UWOP_SET_FPREG 3 00022 #define UWOP_SAVE_NONVOL 4 00023 #define UWOP_SAVE_NONVOL_FAR 5 00024 #define UWOP_SAVE_XMM 6 00025 #define UWOP_SAVE_XMM_FAR 7 00026 #define UWOP_SAVE_XMM128 8 00027 #define UWOP_SAVE_XMM128_FAR 9 00028 #define UWOP_PUSH_MACHFRAME 10 00029 00030 #define REG_RAX 0 00031 #define REG_RCX 1 00032 #define REG_RDX 2 00033 #define REG_RBX 3 00034 #define REG_RSP 4 00035 #define REG_RBP 5 00036 #define REG_RSI 6 00037 #define REG_RDI 7 00038 #define REG_R8 8 00039 #define REG_R9 9 00040 #define REG_R10 10 00041 #define REG_R11 11 00042 #define REG_R12 12 00043 #define REG_R13 13 00044 #define REG_R14 14 00045 #define REG_R15 15 00046 00047 #define REG_XMM0 0 00048 #define REG_XMM1 1 00049 #define REG_XMM2 2 00050 #define REG_XMM3 3 00051 #define REG_XMM4 4 00052 #define REG_XMM5 5 00053 #define REG_XMM6 6 00054 #define REG_XMM7 7 00055 #define REG_XMM8 8 00056 #define REG_XMM9 9 00057 #define REG_XMM10 10 00058 #define REG_XMM11 11 00059 #define REG_XMM12 12 00060 #define REG_XMM13 13 00061 #define REG_XMM14 14 00062 #define REG_XMM15 15 00063 00064 00065 typedef struct _IMAGE_IMPORT_DESCRIPTOR 00066 { 00067 union { 00068 DWORD Characteristics; 00069 DWORD OriginalFirstThunk; 00070 }; 00071 DWORD TimeDateStamp; 00072 DWORD ForwarderChain; 00073 DWORD Name; 00074 DWORD FirstThunk; 00075 } IMAGE_IMPORT_DESCRIPTOR, *PIMAGE_IMPORT_DESCRIPTOR; 00076 00077 typedef struct _IMAGE_THUNK_DATA64 00078 { 00079 union { 00080 ULONGLONG ForwarderString; 00081 ULONGLONG Function; 00082 ULONGLONG Ordinal; 00083 ULONGLONG AddressOfData; 00084 } u1; 00085 } IMAGE_THUNK_DATA64, *PIMAGE_THUNK_DATA64; 00086 00087 typedef struct _RUNTIME_FUNCTION 00088 { 00089 ULONG FunctionStart; 00090 ULONG FunctionEnd; 00091 ULONG UnwindInfo; 00092 } RUNTIME_FUNCTION, *PRUNTIME_FUNCTION; 00093 00094 typedef union _UNWIND_CODE 00095 { 00096 struct 00097 { 00098 UBYTE CodeOffset; 00099 UBYTE UnwindOp:4; 00100 UBYTE OpInfo:4; 00101 }; 00102 USHORT FrameOffset; 00103 } UNWIND_CODE, *PUNWIND_CODE; 00104 00105 enum 00106 { 00107 UNW_FLAG_EHANDLER = 0x01, 00108 UNW_FLAG_UHANDLER = 0x02, 00109 UNW_FLAG_CHAININFO = 0x03, 00110 }; 00111 00112 typedef struct _UNWIND_INFO 00113 { 00114 UBYTE Version:3; 00115 UBYTE Flags:5; 00116 UBYTE SizeOfProlog; 00117 UBYTE CountOfCodes; 00118 UBYTE FrameRegister:4; 00119 UBYTE FrameOffset:4; 00120 UNWIND_CODE UnwindCode[1]; 00121 /* union { 00122 OPTIONAL ULONG ExceptionHandler; 00123 OPTIONAL ULONG FunctionEntry; 00124 }; 00125 OPTIONAL ULONG ExceptionData[]; 00126 */ 00127 } UNWIND_INFO, *PUNWIND_INFO; 00128 00129 typedef struct _C_SCOPE_TABLE_ENTRY 00130 { 00131 ULONG Begin; 00132 ULONG End; 00133 ULONG Handler; 00134 ULONG Target; 00135 } C_SCOPE_TABLE_ENTRY, *PC_SCOPE_TABLE_ENTRY; 00136 00137 typedef struct _C_SCOPE_TABLE 00138 { 00139 ULONG NumEntries; 00140 C_SCOPE_TABLE_ENTRY Entry[1]; 00141 } C_SCOPE_TABLE, *PC_SCOPE_TABLE; 00142 00143 00144 typedef struct 00145 { 00146 IMAGE_SECTION_HEADER *psh; 00147 char *pName; 00148 void *p; 00149 ULONG idx; 00150 } SECTION; 00151 00152 typedef struct 00153 { 00154 char* FilePtr; 00155 size_t cbInFileSize; 00156 size_t cbNewFileSize; 00157 00158 /* PE data pointers */ 00159 PIMAGE_DOS_HEADER DosHeader; 00160 PIMAGE_FILE_HEADER FileHeader; 00161 PIMAGE_OPTIONAL_HEADER64 OptionalHeader; 00162 PIMAGE_SECTION_HEADER SectionHeaders; 00163 PIMAGE_SECTION_HEADER NewSectionHeaders; 00164 ULONG NewSectionHeaderSize; 00165 PIMAGE_BASE_RELOCATION Relocations; 00166 void *Symbols; 00167 char *Strings; 00168 ULONG64 ImageBase; 00169 ULONG HeaderSize; 00170 char *UseSection; 00171 00172 /* Sections */ 00173 ULONG AllSections; 00174 ULONG UsedSections; 00175 00176 SECTION eh_frame; 00177 SECTION pdata; 00178 SECTION xdata; 00179 00180 char *AlignBuf; 00181 00182 ULONG cFuncs; 00183 ULONG cUWOP; 00184 ULONG cScopes; 00185 00186 } FILE_INFO, *PFILE_INFO; Generated on Wed May 23 2012 04:35:34 for ReactOS by
1.7.6.1
|