Swappable Module Table Entry for OS/2 Warp V4.0

For SMTE formats for other versions of OS/2 see:

Pointers

Locations VM Owner

Format

┌───────────────┬──────┬──────┬────┬────────────────────────────────────────┐│Field NameOffsetLengthTypeDescription                             │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_mpages    │+0    │4     │D   │Module # pages                          │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_startobj  │+4    │4     │D   │Object # for instruction pointer        │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_eip       │+8    │4     │D   │Extended instruction pointer            │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_stackobj  │+c    │4     │D   │Object # for stack pointer              │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_esp       │+10   │4     │D   │Extended stack pointer                  │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_pageshift │+14   │4     │D   │                                        │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_fixupsize │+18   │4     │D   │Fixup section size                      │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_objtab    │+1c   │4     │D   │Object table offset                     │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_objcnt    │+20   │4     │D   │Number of objects in module             │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_objmap    │+24   │4     │D   │Object page map offset                  │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_itermap   │+28   │4     │D   │Object iterated data map offset         │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_rsrctab   │+2c   │4     │D   │Offset of Resource Table                │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_rsrccnt   │+30   │4     │D   │Number of resource entries              │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_restab    │+34   │4     │D   │Offset of resident name table           │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_enttab    │+38   │4     │D   │Offset of Entry Table                   │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_fpagetab  │+3c   │4     │D   │Offset of Fixup Page Table              │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_frectab   │+40   │4     │D   │Offset of Fixup Record Table            │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_impmod    │+44   │4     │D   │Offset of Import Module Name Table      │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_impproc   │+48   │4     │D   │Offset of Imp Procedure Name Tab        │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_datapage  │+4c   │4     │D   │Offset of Enumerated Data Pages         │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_nrestab   │+50   │4     │D   │Offset of Non-resident Names Table      │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_cbnrestab │+54   │4     │D   │Size of Non-resident Name Table         │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_autods    │+58   │4     │D   │Object # for automatic data object      │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_debuginfo │+5c   │4     │D   │Offset of the debugging info            │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_debuglen  │+60   │4     │D   │The len of the debug info in bytes      │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_heapsize  │+64   │4     │D   │use for converted 16-bit modules        │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_path      │+68   │4     │D   │full pathname                           │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_semcount  │+6c   │2     │W   │Count of threads waiting on MTE         │
│               │      │      │    │semaphore. 0 => semaphore is free       │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_semowner  │+6e   │2     │W   │Slot number of the owner of MTE semahore│
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_pfilecache│+70   │4     │D   │Pointer to file cache for               │
│               │      │      │    │Dos32CacheModule                        │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_stacksize │+74   │4     │D   │Thread 1 Stack size from the exe header │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_alignshift│+78   │2     │W   │use for converted 16-bit modules        │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_NEexpver  │+7a   │2     │W   │expver from NE header                   │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_pathlen   │+7c   │2     │W   │length of full pathname                 │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_NEexetype │+7e   │2     │W   │exetype from NE header                  │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_csegpack  │+80   │2     │W   │count of segs to pack                   │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_major_os  │+82   │1     │B   │major os version to lie about           │
├───────────────┼──────┼──────┼────┼────────────────────────────────────────┤
│smte_minor_os  │+83   │1     │B   │minor os version to lie about           │
└───────────────┴──────┴──────┴────┴────────────────────────────────────────┘


[Back: Module Table Entry for OS/2 V2.11]
[Next: Swappable Module Table Entry for OS/2 Warp V3.0]