Moved PE header definitions to winnt.h where they belong.
diff --git a/loader/dos/module.c b/loader/dos/module.c index a1b6a79..a2522c3 100644 --- a/loader/dos/module.c +++ b/loader/dos/module.c
@@ -22,7 +22,6 @@ #include "wine/winbase16.h" #include "winerror.h" #include "module.h" -#include "peexe.h" #include "neexe.h" #include "task.h" #include "selectors.h"
diff --git a/loader/elf.c b/loader/elf.c index b4936fd..2d8fb93 100644 --- a/loader/elf.c +++ b/loader/elf.c
@@ -19,7 +19,6 @@ #include "snoop.h" #include "process.h" #include "neexe.h" -#include "peexe.h" #include "heap.h" #include "module.h" #include "pe_image.h"
diff --git a/loader/module.c b/loader/module.c index 3221a8c..22150ef 100644 --- a/loader/module.c +++ b/loader/module.c
@@ -575,7 +575,7 @@ && ReadFile( hfile, &ne, sizeof(ne), &len, NULL ) && len == sizeof(ne) ) { - switch ( ne.operating_system ) + switch ( ne.ne_exetyp ) { case 2: *lpBinaryType = SCS_WOW_BINARY; return TRUE; case 5: *lpBinaryType = SCS_DOS_BINARY; return TRUE;
diff --git a/loader/ne/module.c b/loader/ne/module.c index 696f94d..9526436 100644 --- a/loader/ne/module.c +++ b/loader/ne/module.c
@@ -14,7 +14,6 @@ #include "winerror.h" #include "module.h" #include "neexe.h" -#include "peexe.h" #include "toolhelp.h" #include "file.h" #include "ldt.h" @@ -448,20 +447,20 @@ size = sizeof(NE_MODULE) + /* segment table */ - ne_header.n_segment_tab * sizeof(SEGTABLEENTRY) + + ne_header.ne_cseg * sizeof(SEGTABLEENTRY) + /* resource table */ - ne_header.rname_tab_offset - ne_header.resource_tab_offset + + ne_header.ne_restab - ne_header.ne_rsrctab + /* resident names table */ - ne_header.moduleref_tab_offset - ne_header.rname_tab_offset + + ne_header.ne_modtab - ne_header.ne_restab + /* module ref table */ - ne_header.n_mod_ref_tab * sizeof(WORD) + + ne_header.ne_cmod * sizeof(WORD) + /* imported names table */ - ne_header.entry_tab_offset - ne_header.iname_tab_offset + + ne_header.ne_enttab - ne_header.ne_imptab + /* entry table length */ - ne_header.entry_tab_length + + ne_header.ne_cbenttab + /* entry table extra conversion space */ sizeof(ET_BUNDLE) + - 2 * (ne_header.entry_tab_length - ne_header.n_mov_entry_points*6) + + 2 * (ne_header.ne_cbenttab - ne_header.ne_cmovent*6) + /* loaded file info */ sizeof(OFSTRUCT)-sizeof(ofs.szPathName)+strlen(ofs.szPathName)+1; @@ -491,10 +490,10 @@ /* Read the fast-load area */ - if (ne_header.additional_flags & NE_AFLAGS_FASTLOAD) + if (ne_header.ne_flagsothers & NE_AFLAGS_FASTLOAD) { - fastload_offset=ne_header.fastload_offset<<ne_header.align_shift_count; - fastload_length=ne_header.fastload_length<<ne_header.align_shift_count; + fastload_offset=ne_header.fastload_offset << ne_header.ne_align; + fastload_length=ne_header.fastload_length << ne_header.ne_align; TRACE("Using fast-load area offset=%x len=%d\n", fastload_offset, fastload_length ); if ((fastload = HeapAlloc( GetProcessHeap(), 0, fastload_length )) != NULL) @@ -512,15 +511,15 @@ /* Get the segment table */ pModule->seg_table = (int)pData - (int)pModule; - buffer = HeapAlloc( GetProcessHeap(), 0, ne_header.n_segment_tab * + buffer = HeapAlloc( GetProcessHeap(), 0, ne_header.ne_cseg * sizeof(struct ne_segment_table_entry_s)); if (buffer) { int i; struct ne_segment_table_entry_s *pSeg; - if (!READ( mz_header.e_lfanew + ne_header.segment_tab_offset, - ne_header.n_segment_tab * sizeof(struct ne_segment_table_entry_s), + if (!READ( mz_header.e_lfanew + ne_header.ne_segtab, + ne_header.ne_cseg * sizeof(struct ne_segment_table_entry_s), buffer )) { HeapFree( GetProcessHeap(), 0, buffer ); @@ -531,7 +530,7 @@ return (HMODULE16)11; /* invalid exe */ } pSeg = (struct ne_segment_table_entry_s *)buffer; - for (i = ne_header.n_segment_tab; i > 0; i--, pSeg++) + for (i = ne_header.ne_cseg; i > 0; i--, pSeg++) { memcpy( pData, pSeg, sizeof(*pSeg) ); pData += sizeof(SEGTABLEENTRY); @@ -549,17 +548,17 @@ /* Get the resource table */ - if (ne_header.resource_tab_offset < ne_header.rname_tab_offset) + if (ne_header.ne_rsrctab < ne_header.ne_restab) { pModule->res_table = (int)pData - (int)pModule; - if (!READ(mz_header.e_lfanew + ne_header.resource_tab_offset, - ne_header.rname_tab_offset - ne_header.resource_tab_offset, + if (!READ(mz_header.e_lfanew + ne_header.ne_rsrctab, + ne_header.ne_restab - ne_header.ne_rsrctab, pData )) { _lclose16( hFile ); return (HMODULE16)11; /* invalid exe */ } - pData += ne_header.rname_tab_offset - ne_header.resource_tab_offset; + pData += ne_header.ne_restab - ne_header.ne_rsrctab; NE_InitResourceHandler( hModule ); } else pModule->res_table = 0; /* No resource table */ @@ -567,8 +566,8 @@ /* Get the resident names table */ pModule->name_table = (int)pData - (int)pModule; - if (!READ( mz_header.e_lfanew + ne_header.rname_tab_offset, - ne_header.moduleref_tab_offset - ne_header.rname_tab_offset, + if (!READ( mz_header.e_lfanew + ne_header.ne_restab, + ne_header.ne_modtab - ne_header.ne_restab, pData )) { if (fastload) @@ -577,15 +576,15 @@ _lclose16( hFile ); return (HMODULE16)11; /* invalid exe */ } - pData += ne_header.moduleref_tab_offset - ne_header.rname_tab_offset; + pData += ne_header.ne_modtab - ne_header.ne_restab; /* Get the module references table */ - if (ne_header.n_mod_ref_tab > 0) + if (ne_header.ne_cmod > 0) { pModule->modref_table = (int)pData - (int)pModule; - if (!READ( mz_header.e_lfanew + ne_header.moduleref_tab_offset, - ne_header.n_mod_ref_tab * sizeof(WORD), + if (!READ( mz_header.e_lfanew + ne_header.ne_modtab, + ne_header.ne_cmod * sizeof(WORD), pData )) { if (fastload) @@ -594,15 +593,15 @@ _lclose16( hFile ); return (HMODULE16)11; /* invalid exe */ } - pData += ne_header.n_mod_ref_tab * sizeof(WORD); + pData += ne_header.ne_cmod * sizeof(WORD); } else pModule->modref_table = 0; /* No module references */ /* Get the imported names table */ pModule->import_table = (int)pData - (int)pModule; - if (!READ( mz_header.e_lfanew + ne_header.iname_tab_offset, - ne_header.entry_tab_offset - ne_header.iname_tab_offset, + if (!READ( mz_header.e_lfanew + ne_header.ne_imptab, + ne_header.ne_enttab - ne_header.ne_imptab, pData )) { if (fastload) @@ -611,18 +610,18 @@ _lclose16( hFile ); return (HMODULE16)11; /* invalid exe */ } - pData += ne_header.entry_tab_offset - ne_header.iname_tab_offset; + pData += ne_header.ne_enttab - ne_header.ne_imptab; /* Load entry table, convert it to the optimized version used by Windows */ - if ((pTempEntryTable = HeapAlloc( GetProcessHeap(), 0, ne_header.entry_tab_length)) != NULL) + if ((pTempEntryTable = HeapAlloc( GetProcessHeap(), 0, ne_header.ne_cbenttab)) != NULL) { BYTE nr_entries, type, *s; TRACE("Converting entry table.\n"); pModule->entry_table = (int)pData - (int)pModule; - if (!READ( mz_header.e_lfanew + ne_header.entry_tab_offset, - ne_header.entry_tab_length, pTempEntryTable )) + if (!READ( mz_header.e_lfanew + ne_header.ne_enttab, + ne_header.ne_cbenttab, pTempEntryTable )) { HeapFree( GetProcessHeap(), 0, pTempEntryTable ); if (fastload) @@ -633,7 +632,7 @@ } s = pTempEntryTable; - TRACE("entry table: offs %04x, len %04x, entries %d\n", ne_header.entry_tab_offset, ne_header.entry_tab_length, *s); + TRACE("entry table: offs %04x, len %04x, entries %d\n", ne_header.ne_enttab, ne_header.ne_cbenttab, *s); bundle = (ET_BUNDLE *)pData; TRACE("first bundle: %p\n", bundle); @@ -698,8 +697,8 @@ return (HMODULE16)11; /* invalid exe */ } - pData += ne_header.entry_tab_length + sizeof(ET_BUNDLE) + - 2 * (ne_header.entry_tab_length - ne_header.n_mov_entry_points*6); + pData += ne_header.ne_cbenttab + sizeof(ET_BUNDLE) + + 2 * (ne_header.ne_cbenttab - ne_header.ne_cmovent*6); if ((DWORD)entry > (DWORD)pData) ERR("converted entry table bigger than reserved space !!!\nentry: %p, pData: %p. Please report !\n", entry, pData); @@ -720,9 +719,9 @@ /* Get the non-resident names table */ - if (ne_header.nrname_tab_length) + if (ne_header.ne_cbnrestab) { - pModule->nrname_handle = GLOBAL_Alloc( 0, ne_header.nrname_tab_length, + pModule->nrname_handle = GLOBAL_Alloc( 0, ne_header.ne_cbnrestab, hModule, FALSE, FALSE, FALSE ); if (!pModule->nrname_handle) { @@ -731,9 +730,9 @@ return (HMODULE16)11; /* invalid exe */ } buffer = GlobalLock16( pModule->nrname_handle ); - _llseek16( hFile, ne_header.nrname_tab_offset, SEEK_SET ); - if (_hread16( hFile, buffer, ne_header.nrname_tab_length ) - != ne_header.nrname_tab_length) + _llseek16( hFile, ne_header.ne_nrestab, SEEK_SET ); + if (_hread16( hFile, buffer, ne_header.ne_cbnrestab ) + != ne_header.ne_cbnrestab) { GlobalFree16( pModule->nrname_handle ); GlobalFree16( hModule );
diff --git a/loader/pe_image.c b/loader/pe_image.c index 2ce45c4..b6d955c 100644 --- a/loader/pe_image.c +++ b/loader/pe_image.c
@@ -52,7 +52,6 @@ #include "file.h" #include "heap.h" #include "neexe.h" -#include "peexe.h" #include "process.h" #include "thread.h" #include "pe_image.h"
diff --git a/loader/task.c b/loader/task.c index fab5082..3d13b47 100644 --- a/loader/task.c +++ b/loader/task.c
@@ -20,7 +20,6 @@ #include "miscemu.h" #include "module.h" #include "neexe.h" -#include "peexe.h" #include "pe_image.h" #include "process.h" #include "queue.h"