From 196b746efd3bdd64e029aa8f160363b3026f06ee Mon Sep 17 00:00:00 2001 From: Robert Kopferl Date: Tue, 26 Mar 2002 01:42:02 +0000 Subject: [PATCH] *** empty log message *** svn path=/trunk/; revision=2785 --- os2/utils/EXE386.H | 558 ------------------------------------------- os2/utils/lxtest.EXE | Bin 33140 -> 0 bytes 2 files changed, 558 deletions(-) delete mode 100644 os2/utils/EXE386.H delete mode 100644 os2/utils/lxtest.EXE diff --git a/os2/utils/EXE386.H b/os2/utils/EXE386.H deleted file mode 100644 index cd78affb80c..00000000000 --- a/os2/utils/EXE386.H +++ /dev/null @@ -1,558 +0,0 @@ - -#ifndef __LX_EXE__ -#define __LX_EXE__ - - -#pragma pack(1) /* Force byte alignment */ - - - - /*_________________________________________________________________* - | | - | | - | OS/2 .EXE FILE HEADER DEFINITION - 386 version 0:32 | - | | - |_________________________________________________________________| - * */ - - -#define BITPERWORD 16 -#define BITPERBYTE 8 -#define OBJPAGELEN 4096 -#define E32MAGIC 0x584c /* New magic number "LX" */ -#define E32RESBYTES1 0 /* First bytes reserved */ -#define E32RESBYTES2 0 /* Second bytes reserved */ -#define E32RESBYTES3 20 /* Third bytes reserved */ -#define E32LEBO 0x00 /* Little Endian Byte Order */ -#define E32BEBO 0x01 /* Big Endian Byte Order */ -#define E32LEWO 0x00 /* Little Endian Word Order */ -#define E32BEWO 0x01 /* Big Endian Word Order */ -#define E32LEVEL 0L /* 32-bit EXE format level */ -#define E32CPU286 0x001 /* Intel 80286 or upwardly compatibile */ -#define E32CPU386 0x002 /* Intel 80386 or upwardly compatibile */ -#define E32CPU486 0x003 /* Intel 80486 or upwardly compatibile */ - - - -struct lx_exe /* New 32-bit .EXE header for OS/2 EXEs and DLLs*/ -{ - unsigned short magic; /* Magic number E32_MAGIC */ - unsigned char border; /* The byte ordering for the .EXE */ - unsigned char worder; /* The word ordering for the .EXE */ - unsigned long level; /* The EXE format level for now = 0 */ - unsigned short cpu; /* The CPU type */ - unsigned short os; /* The OS type */ - unsigned long ver; /* Module version */ - unsigned long mflags; /* Module flags */ - unsigned long mpages; /* Module # pages */ - unsigned long startobj; /* Object # for instruction pointer */ - unsigned long eip; /* Extended instruction pointer */ - unsigned long stackobj; /* Object # for stack pointer */ - unsigned long esp; /* Extended stack pointer */ - unsigned long pagesize; /* .EXE page size */ - unsigned long pageshift; /* Page alignment shift in .EXE */ - unsigned long fixupsize; /* Fixup section size */ - unsigned long fixupsum; /* Fixup section checksum */ - unsigned long ldrsize; /* Loader section size */ - unsigned long ldrsum; /* Loader section checksum */ - unsigned long objtab; /* Object table offset */ - unsigned long objcnt; /* Number of objects in module */ - unsigned long objmap; /* Object page map offset */ - unsigned long itermap; /* Object iterated data map offset */ - unsigned long rsrctab; /* Offset of Resource Table */ - unsigned long rsrccnt; /* Number of resource entries */ - unsigned long restab; /* Offset of resident name table */ - unsigned long enttab; /* Offset of Entry Table */ - unsigned long dirtab; /* Offset of Module Directive Table */ - unsigned long dircnt; /* Number of module directives */ - unsigned long fpagetab; /* Offset of Fixup Page Table */ - unsigned long frectab; /* Offset of Fixup Record Table */ - unsigned long impmod; /* Offset of Import Module Name Table */ - unsigned long impmodcnt; /* Number of entries in Import Module Name Table */ - unsigned long impproc; /* Offset of Import Procedure Name Table */ - unsigned long pagesum; /* Offset of Per-Page Checksum Table */ - unsigned long datapage; /* Offset of Enumerated Data Pages */ - unsigned long preload; /* Number of preload pages */ - unsigned long nrestab; /* Offset of Non-resident Names Table */ - unsigned long cbnrestab; /* Size of Non-resident Name Table */ - unsigned long nressum; /* Non-resident Name Table Checksum */ - unsigned long autodata; /* Object # for automatic data object */ - unsigned long debuginfo; /* Offset of the debugging information */ - unsigned long debuglen; /* The length of the debugging info. in bytes */ - unsigned long instpreload;/* Number of instance pages in preload section of .EXE file */ - unsigned long instdemand; /* Number of instance pages in demand load section of .EXE file */ - unsigned long heapsize; /* Size of heap - for 16-bit apps */ - unsigned long stacksize; /* Size of stack */ - unsigned char res3[E32RESBYTES3]; - /* Pad structure to 196 bytes */ - }; - - - - -/* - * Format of lx_exe.mflags: - * - * Low word has the following format: - * - * 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - bit no - * | | | | | | | | - * | | | | | | | +------- Per-Process Library Initialization - * | | | | | | +--------- SystemDLL (internal fixups discarded) - * | | | | | +----------- No Internal Fixups for Module in .EXE - * | | | | +------------- No External Fixups for Module in .EXE - * | | | +------------------- Incompatible with PM Windowing - * | | +--------------------- Compatible with PM Windowing - * | | Uses PM Windowing API - * | +-------------------------------- Module not Loadable - * +-------------------------------------- Library Module - */ - - -#define E32NOTP 0x8000L /* Library Module - used as NENOTP */ -#define E32NOLOAD 0x2000L /* Module not Loadable */ -#define E32PMAPI 0x0300L /* Uses PM Windowing API */ -#define E32PMW 0x0200L /* Compatible with PM Windowing */ -#define E32NOPMW 0x0100L /* Incompatible with PM Windowing */ -#define E32NOEXTFIX 0x0020L /* NO External Fixups in .EXE */ -#define E32NOINTFIX 0x0010L /* NO Internal Fixups in .EXE */ -#define E32SYSDLL 0x0008L /* System DLL, Internal Fixups discarded*/ -#define E32LIBINIT 0x0004L /* Per-Process Library Initialization */ -#define E32LIBTERM 0x40000000L /* Per-Process Library Termination */ -#define E32APPMASK 0x0300L /* Application Type Mask */ - - -/* - * Format of E32_MFLAGS(x): - * - * High word has the following format: - * - * 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - bit no - * | | - * | +--- Protected memory library module - * +----- Device driver - */ - -#define E32PROTDLL 0x10000L /* Protected memory library module */ -#define E32DEVICE 0x20000L /* Device driver */ -#define E32MODEXE 0x00000L /* .EXE module */ -#define E32MODDLL 0x08000L /* .DLL module */ -#define E32MODPROTDLL 0x18000L /* Protected memory library module */ -#define E32MODPDEV 0x20000L /* Physical device driver */ -#define E32MODVDEV 0x28000L /* Virtual device driver */ -#define E32MODMASK 0x38000L /* Module type mask */ - -/* - * RELOCATION DEFINITIONS - RUN-TIME FIXUPS - */ - - - - -typedef union _offset -{ - unsigned short offset16; - unsigned long offset32; -} - offset; /* 16-bit or 32-bit offset */ - - -/***ET+ r32_rlc - Relocation item */ - -struct r32_rlc /* Relocation item */ -{ - unsigned char nr_stype; /* Source type - field shared with new_rlc */ - unsigned char nr_flags; /* Flag byte - field shared with new_rlc */ - short r32_soff; /* Source offset */ - unsigned short r32_objmod; /* Target object number or Module ordinal */ - - union targetid - { - offset intref; /* Internal fixup */ - - union extfixup - { - offset proc; /* Procedure name offset */ - unsigned long ord; /* Procedure odrinal */ - } - extref; /* External fixup */ - - struct addfixup - { - unsigned short entry; /* Entry ordinal */ - offset addval; /* Value added to the address */ - } - addfix; /* Additive fixup */ - } - r32_target; /* Target data */ - unsigned short r32_srccount; /* Number of chained fixup records */ - unsigned short r32_chain; /* Chain head */ -}; - - - -/* - * In 32-bit .EXE file run-time relocations are written as varying size - * records, so we need many size definitions. - */ - -#define RINTSIZE16 8 -#define RINTSIZE32 10 -#define RORDSIZE 8 -#define RNAMSIZE16 8 -#define RNAMSIZE32 10 -#define RADDSIZE16 10 -#define RADDSIZE32 12 - - - -#if FALSE -/* - * Access macros defined in NEWEXE.H !!! - */ -#define NR_STYPE(x) (x).nr_stype -#define NR_FLAGS(x) (x).nr_flags -#endif - -#define R32_SOFF(x) (x).r32_soff -#define R32_OBJNO(x) (x).r32_objmod -#define R32_MODORD(x) (x).r32_objmod -#define R32_OFFSET16(x) (x).r32_target.intref.offset16 -#define R32_OFFSET32(x) (x).r32_target.intref.offset32 -#define R32_PROCOFF16(x) (x).r32_target.extref.proc.offset16 -#define R32_PROCOFF32(x) (x).r32_target.extref.proc.offset32 -#define R32_PROCORD(x) (x).r32_target.extref.ord -#define R32_ENTRY(x) (x).r32_target.addfix.entry -#define R32_ADDVAL16(x) (x).r32_target.addfix.addval.offset16 -#define R32_ADDVAL32(x) (x).r32_target.addfix.addval.offset32 -#define R32_SRCCNT(x) (x).r32_srccount -#define R32_CHAIN(x) (x).r32_chain - - - -/* - * Format of NR_STYPE(x) - * - * 7 6 5 4 3 2 1 0 - bit no - * | | | | | | - * | | +-+-+-+--- Source type - * | +----------- Fixup to 16:16 alias - * +------------- List of source offset follows fixup record - */ - -#if FALSE - - /* DEFINED in newexe.h !!! */ - -#define NRSTYP 0x0f /* Source type mask */ -#define NRSBYT 0x00 /* lo byte (8-bits)*/ -#define NRSSEG 0x02 /* 16-bit segment (16-bits) */ -#define NRSPTR 0x03 /* 16:16 pointer (32-bits) */ -#define NRSOFF 0x05 /* 16-bit offset (16-bits) */ -#define NRPTR48 0x06 /* 16:32 pointer (48-bits) */ -#define NROFF32 0x07 /* 32-bit offset (32-bits) */ -#define NRSOFF32 0x08 /* 32-bit self-relative offset (32-bits) */ -#endif - - -#define NRSRCMASK 0x0f /* Source type mask */ -#define NRALIAS 0x10 /* Fixup to alias */ -#define NRCHAIN 0x20 /* List of source offset follows */ - /* fixup record, source offset field */ - /* in fixup record contains number */ - /* of elements in list */ - -/* - * Format of NR_FLAGS(x) and R32_FLAGS(x): - * - * 7 6 5 4 3 2 1 0 - bit no - * | | | | | | | - * | | | | | +-+--- Reference type - * | | | | +------- Additive fixup - * | | | +----------- 32-bit Target Offset Flag (1 - 32-bit; 0 - 16-bit) - * | | +------------- 32-bit Additive Flag (1 - 32-bit; 0 - 16-bit) - * | +--------------- 16-bit Object/Module ordinal (1 - 16-bit; 0 - 8-bit) - * +----------------- 8-bit import ordinal (1 - 8-bit; - * 0 - NR32BITOFF toggles - * between 16 and 32 bit - * ordinal) - */ - -#if FALSE - - /* DEFINED in newexe.h !!! */ - -#define NRRTYP 0x03 /* Reference type mask */ -#define NRRINT 0x00 /* Internal reference */ -#define NRRORD 0x01 /* Import by ordinal */ -#define NRRNAM 0x02 /* Import by name */ -#define NRADD 0x04 /* Additive fixup */ -#endif - -#define NRRENT 0x03 /* Internal entry table fixup */ - -#define NR32BITOFF 0x10 /* 32-bit Target Offset */ -#define NR32BITADD 0x20 /* 32-bit Additive fixup */ -#define NR16OBJMOD 0x40 /* 16-bit Object/Module ordinal */ -#define NR8BITORD 0x80 /* 8-bit import ordinal */ -/*end*/ - -/* - * Data structures for storing run-time fixups in linker virtual memory. - * - * Each object has a list of Object Page Directories which specify - * fixups for given page. Each page has its own hash table which is - * used to detect fixups to the same target. - */ - -#define PAGEPERDIR 62 -#define LG2DIR 7 - - -typedef struct _OBJPAGEDIR -{ - DWORD next; /* Virtual pointer to next dir on list */ - WORD ht[PAGEPERDIR]; /* Pointers to individual hash tables */ -} - OBJPAGEDIR; - - - -/* - * OBJECT TABLE - */ - -/***ET+ o32_obj Object Table Entry */ - -struct o32_obj /* Flat .EXE object table entry */ -{ - unsigned long o32_size; /* Object virtual size */ - unsigned long o32_base; /* Object base virtual address */ - unsigned long o32_flags; /* Attribute flags */ - unsigned long o32_pagemap; /* Object page map index */ - unsigned long o32_mapsize; /* Number of entries in object page map */ - unsigned long o32_reserved; /* Reserved */ -}; - - -#define O32_SIZE(x) (x).o32_size -#define O32_BASE(x) (x).o32_base -#define O32_FLAGS(x) (x).o32_flags -#define O32_PAGEMAP(x) (x).o32_pagemap -#define O32_MAPSIZE(x) (x).o32_mapsize -#define O32_RESERVED(x) (x).o32_reserved - - - -/* - * Format of O32_FLAGS(x) - * - * High word of dword flag field is not used for now. - * Low word has the following format: - * - * 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0 - bit no - * | | | | | | | | | | | | | | | - * | | | | | | | | | | | | | | +--- Readable Object - * | | | | | | | | | | | | | +----- Writeable Object - * | | | | | | | | | | | | +------- Executable Object - * | | | | | | | | | | | +--------- Resource Object - * | | | | | | | | | | +----------- Object is Discardable - * | | | | | | | | | +------------- Object is Shared - * | | | | | | | | +--------------- Object has preload pages - * | | | | | | | +----------------- Object has invalid pages - * | | | | | | +------------------- Object is permanent and swappable - * | | | | | +--------------------- Object is permanent and resident - * | | | | +----------------------- Object is permanent and long lockable - * | | | +----------------------------- 16:16 alias required (80x86 specific) - * | | +-------------------------------- Big/Default bit setting (80x86 specific) - * | +----------------------------------- Object is conforming for code (80x86 specific) - * +-------------------------------------- Object I/O privilege level (80x86 specific) - * - */ - -#define OBJREAD 0x0001L /* Readable Object */ -#define OBJWRITE 0x0002L /* Writeable Object */ -#define OBJRSRC 0x0008L /* Resource Object */ -#define OBJINVALID 0x0080L /* Object has invalid pages */ -#define LNKNONPERM 0x0600L /* Object is nonpermanent - should be */ -#define OBJNONPERM 0x0000L /* zero in the .EXE but LINK386 uses 6 */ -#define OBJPERM 0x0100L /* Object is permanent and swappable */ -#define OBJRESIDENT 0x0200L /* Object is permanent and resident */ -#define OBJCONTIG 0x0300L /* Object is resident and contiguous */ -#define OBJDYNAMIC 0x0400L /* Object is permanent and long locable */ -#define OBJTYPEMASK 0x0700L /* Object type mask */ -#define OBJALIAS16 0x1000L /* 16:16 alias required (80x86 specific) */ -#define OBJBIGDEF 0x2000L /* Big/Default bit setting (80x86 specific) */ -#define OBJIOPL 0x8000L /* Object I/O privilege level (80x86 specific) */ -#if FOR_EXEHDR -/* - * Name these flags differently for EXEHDR.EXE - avoid conflicts with 286 version - */ -#define OBJDISCARD 0x0010L /* Object is Discardable */ -#define OBJSHARED 0x0020L /* Object is Shared */ -#define OBJPRELOAD 0x0040L /* Object has preload pages */ -#define OBJEXEC 0x0004L /* Executable Object */ -#define OBJCONFORM 0x4000L /* Object is conforming for code (80x86 specific) */ -#else -/* - * Life will be easier, if we keep the same names for the following flags: - */ -#define NSDISCARD 0x0010L /* Object is Discardable */ -#define NSMOVE NSDISCARD /* Moveable object is for sure Discardable */ -#define NSSHARED 0x0020L /* Object is Shared */ -#define NSPRELOAD 0x0040L /* Object has preload pages */ -#define NSEXRD 0x0004L /* Executable Object */ -#define NSCONFORM 0x4000L /* Object is conforming for code (80x86 specific) */ -#endif -/*end*/ - -/***ET+ o32_map - Object Page Map entry */ - -struct o32_map /* Object Page Table entry */ -{ - unsigned long o32_pagedataoffset; /* file offset of page */ - unsigned short o32_pagesize; /* # bytes of page data */ - unsigned short o32_pageflags; /* Per-Page attributes */ -}; - - -#define GETPAGEIDX(x) ((x).o32_pagedataoffset) - -#define PUTPAGEIDX(x,i) ((x).o32_pagedataoffset = ((unsigned long)(i))) - -#define PUTPAGESIZ(x,i) ((x).o32_pagesize = ((unsigned int)(i))) - -#define GETPAGESIZ(x) ((x).o32_pagesize) - -#define PAGEFLAGS(x) (x).o32_pageflags - - -#define VALID 0x0000 /* Valid Physical Page in .EXE */ -#define ITERDATA 0x0001 /* Iterated Data Page */ -#define INVALID 0x0002 /* Invalid Page */ -#define ZEROED 0x0003 /* Zero Filled Page */ -#define RANGE 0x0004 /* Range of pages */ -#define ITERDATA2 0x0005 /* Iterated Data Page Type II */ -/*end*/ - -/* - * RESOURCE TABLE - */ - -/***ET+ rsrc32 - Resource Table Entry */ - -struct rsrc32 /* Resource Table Entry */ -{ - unsigned short type; /* Resource type */ - unsigned short name; /* Resource name */ - unsigned long cb; /* Resource size */ - unsigned short obj; /* Object number */ - unsigned long offset; /* Offset within object */ -}; -/*end*/ - - - /* - * Iteration Record format for 'EXEPACK'ed pages. - */ -struct LX_Iter -{ - unsigned short LX_nIter; /* number of iterations */ - unsigned short LX_nBytes; /* number of bytes */ - unsigned char LX_Iterdata; /* iterated data byte(s) */ -}; - - -/* - * ENTRY TABLE DEFINITIONS - */ - -/***ET+ b32_bundle - Entry Table */ - -struct b32_bundle -{ - unsigned char b32_cnt; /* Number of entries in this bundle */ - unsigned char b32_type; /* Bundle type */ - unsigned short b32_obj; /* Object number */ -}; /* Follows entry types */ - -struct e32_entry -{ - unsigned char e32_flags; /* Entry point flags */ - union entrykind - { - offset e32_offset; /* 16-bit/32-bit offset entry */ - struct callgate - { - unsigned short offset; /* Offset in segment */ - unsigned short callgate; /* Callgate selector */ - } - e32_callgate; /* 286 (16-bit) call gate */ - struct fwd - { - unsigned short modord; /* Module ordinal number */ - unsigned long value; /* Proc name offset or ordinal */ - } - e32_fwd; /* Forwarder */ - } - e32_variant; /* Entry variant */ -}; - - - -#define B32_CNT(x) (x).b32_cnt -#define B32_TYPE(x) (x).b32_type -#define B32_OBJ(x) (x).b32_obj - -#define E32_EFLAGS(x) (x).e32_flags -#define E32_OFFSET16(x) (x).e32_variant.e32_offset.offset16 -#define E32_OFFSET32(x) (x).e32_variant.e32_offset.offset32 -#define E32_GATEOFF(x) (x).e32_variant.e32_callgate.offset -#define E32_GATE(x) (x).e32_variant.e32_callgate.callgate -#define E32_MODORD(x) (x).e32_variant.e32_fwd.modord -#define E32_VALUE(x) (x).e32_variant.e32_fwd.value - -#define FIXENT16 3 -#define FIXENT32 5 -#define GATEENT16 5 -#define FWDENT 7 - -/* - * BUNDLE TYPES - */ - -#define EMPTY 0x00 /* Empty bundle */ -#define ENTRY16 0x01 /* 16-bit offset entry point */ -#define GATE16 0x02 /* 286 call gate (16-bit IOPL) */ -#define ENTRY32 0x03 /* 32-bit offset entry point */ -#define ENTRYFWD 0x04 /* Forwarder entry point */ -#define TYPEINFO 0x80 /* Typing information present flag */ - - -/* - * Format for E32_EFLAGS(x) - * - * 7 6 5 4 3 2 1 0 - bit no - * | | | | | | | | - * | | | | | | | +--- exported entry - * | | | | | | +----- uses shared data - * +-+-+-+-+-+------- parameter word count - */ - -#define E32EXPORT 0x01 /* Exported entry */ -#define E32SHARED 0x02 /* Uses shared data */ -#define E32PARAMS 0xf8 /* Parameter word count mask */ - -/* - * Flags for forwarders only: - */ - -#define FWD_ORDINAL 0x01 /* Imported by ordinal */ - - -#pragma pack() /* Restore default alignment */ - -/*end*/ - -#endif /* __LX_EXE__ */ - diff --git a/os2/utils/lxtest.EXE b/os2/utils/lxtest.EXE deleted file mode 100644 index b9911f334329526eb12b095a4cb7ed87a0235464..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 33140 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℘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