Changeset 679 for GPL/trunk/include/stacktoflat.h
- Timestamp:
- Mar 18, 2021, 8:57:36 PM (4 years ago)
- Location:
- GPL/trunk
- Files:
-
- 2 edited
Legend:
- Unmodified
- Added
- Removed
-
GPL/trunk
- Property svn:mergeinfo changed
/GPL/branches/uniaud32-linux-3.2.102 (added) merged: 611-614 /GPL/branches/uniaud32-next (added) merged: 615-678
- Property svn:mergeinfo changed
-
GPL/trunk/include/stacktoflat.h
r32 r679 26 26 #define __STACKTOFLAT_H__ 27 27 28 extern ULONG TKSSBase;29 #pragma aux TKSSBase "_TKSSBase"30 31 extern ULONG GetTKSSBase();32 #pragma aux GetTKSSBase "GetTKSSBase" \33 value [eax];34 35 #ifdef KEE36 28 extern ULONG stacksel; //16 bits stack selector 37 29 #pragma aux stacksel "stacksel" … … 39 31 extern ULONG stackbase; //32 bits stackbase 40 32 #pragma aux stackbase "stackbase" 41 #endif42 33 43 #ifdef FLATSTACK44 45 #ifdef KEE46 34 //Convert 16:16 stack based address to 0:32 flat addresss 47 35 #define __Stack16ToFlat(addr) (LINEAR)((ULONG)(addr&0xffff) + stackbase) 48 #else49 //Convert 16:16 stack based address to 0:32 flat addresss50 #define __Stack16ToFlat(addr) (LINEAR)((((ULONG)addr)&0xffff) + *(ULONG *)TKSSBase)51 #endif52 53 //stack is already flat54 #define __Stack32ToFlat(addr) (LINEAR)addr55 56 #else57 //Convert 16:16 stack based address to 0:32 flat addresss58 #define __Stack16ToFlat(addr) (LINEAR)((((ULONG)addr)&0xffff) + *(ULONG *)TKSSBase)59 60 //Convert 16:16 stack based address to 0:32 flat addresss61 #define __Stack32ToFlat(addr) (LINEAR)((((ULONG)addr)&0xffff) + *(ULONG *)TKSSBase)62 #endif63 36 64 37 // Convert 16:16 pointer to 16:32 … … 115 88 #define FLATPTR(a) GETFLATPTR((char FAR48 *)a) 116 89 117 #ifdef KEE118 90 #define FlatToSel(addr32) ((stacksel << 16) | (((ULONG)addr32 - stackbase) & 0xffff)) 119 #else120 //Only valid for stack based pointer!!121 ULONG FlatToSel(ULONG addr32);122 #endif123 91 124 92 #endif
Note:
See TracChangeset
for help on using the changeset viewer.