Added _DebugOutput (KERNEL.328), LogApiThk (KERNEL.423), LogApiThkLSF
(KERNEL32.42), LogApiThkSL (KERNEL32.44), LogCBThkSL (KERNEL32.47), and SSConfirmSmallStack (KERNEL.704).
This commit is contained in:
parent
e99e844c75
commit
d30821a0ff
|
@ -269,7 +269,7 @@ file krnl386.exe
|
|||
325 pascal16 LogParamError(word ptr ptr) LogParamError16
|
||||
326 return IsRomFile 2 0
|
||||
327 register K327() HandleParamError
|
||||
328 stub _DebugOutput
|
||||
328 pascal16 _DebugOutput() _DebugOutput
|
||||
329 pascal16 K329(str word) DebugFillBuffer
|
||||
332 long THHOOK(0 0 0 0 0 0 0 0)
|
||||
334 pascal16 IsBadReadPtr(segptr word) IsBadReadPtr16
|
||||
|
@ -335,7 +335,7 @@ file krnl386.exe
|
|||
420 pascal GetFileAttributes(ptr) GetFileAttributes16
|
||||
421 pascal16 SetFileAttributes(ptr long) SetFileAttributes16
|
||||
422 pascal16 GetDiskFreeSpace(ptr ptr ptr ptr ptr) GetDiskFreeSpace16
|
||||
423 stub LogApiThk
|
||||
423 pascal16 LogApiThk(str) LogApiThk
|
||||
431 pascal16 IsPeFormat(str word) IsPeFormat16
|
||||
432 stub FileTimeToLocalFileTime
|
||||
434 pascal16 UnicodeToAnsi(ptr ptr word) UnicodeToAnsi16
|
||||
|
@ -510,7 +510,7 @@ file krnl386.exe
|
|||
701 stub SSOnBigStack
|
||||
702 stub SSCall
|
||||
703 stub CallProc32WFix
|
||||
704 stub SSConfirmSmallStack
|
||||
704 register SSConfirmSmallStack() SSConfirmSmallStack
|
||||
|
||||
|
||||
# Win95 krnl386.exe also exports ordinals 802-864,
|
||||
|
|
|
@ -10,6 +10,8 @@
|
|||
#include "winuser.h"
|
||||
#include "ldt.h"
|
||||
#include "stackframe.h"
|
||||
#include "module.h"
|
||||
#include "global.h"
|
||||
#include "debug.h"
|
||||
|
||||
DEFAULT_DEBUG_CHANNEL(string)
|
||||
|
@ -666,3 +668,45 @@ INT WINAPIV wsnprintfW( LPWSTR buffer, UINT maxlen, LPCWSTR spec, ... )
|
|||
va_end( valist );
|
||||
return res;
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* _DebugOutput (KERNEL.328)
|
||||
*/
|
||||
void WINAPIV _DebugOutput( void )
|
||||
{
|
||||
VA_LIST16 valist;
|
||||
WORD flags;
|
||||
SEGPTR spec;
|
||||
int i, nSeg = 0;
|
||||
NE_MODULE *pModule;
|
||||
char caller[101], temp[512];
|
||||
|
||||
/* Decode caller address */
|
||||
pModule = NE_GetPtr( CURRENT_STACK16->cs );
|
||||
if ( pModule )
|
||||
{
|
||||
SEGTABLEENTRY *pSeg = NE_SEG_TABLE( pModule );
|
||||
for ( i = 0; i < pModule->seg_count; i++, pSeg++ )
|
||||
if ( GlobalHandleToSel16( pSeg->hSeg ) == CURRENT_STACK16->cs )
|
||||
{
|
||||
nSeg = i+1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if ( nSeg )
|
||||
sprintf( caller, "%s %02X:%04X", NE_MODULE_NAME( pModule ),
|
||||
nSeg, CURRENT_STACK16->ip );
|
||||
else
|
||||
sprintf( caller, "%04X:%04X", CURRENT_STACK16->cs, CURRENT_STACK16->ip );
|
||||
|
||||
/* Build debug message string */
|
||||
VA_START16( valist );
|
||||
flags = VA_ARG16( valist, WORD );
|
||||
spec = VA_ARG16( valist, SEGPTR );
|
||||
wvsnprintf16( temp, sizeof(temp), (LPCSTR)PTR_SEG_TO_LIN(spec), valist );
|
||||
|
||||
/* Output */
|
||||
DPRINTF( "_DebugOutput: %s %04X %s\n",
|
||||
caller, flags, debugstr_an(temp, sizeof(temp)) );
|
||||
}
|
||||
|
||||
|
|
|
@ -56,12 +56,12 @@ import ntdll.dll
|
|||
39 register FreeMappedBuffer() FreeMappedBuffer
|
||||
40 register OT_32ThkLSF() OT_32ThkLSF
|
||||
41 stdcall ThunkInitLSF(long str long str str) ThunkInitLSF
|
||||
42 stub LogApiThkLSF
|
||||
42 register LogApiThkLSF() LogApiThkLSF
|
||||
43 stdcall ThunkInitLS(long str long str str) ThunkInitLS
|
||||
44 stub LogApiThkSL
|
||||
44 register LogApiThkSL() LogApiThkSL
|
||||
45 register Common32ThkLS() Common32ThkLS
|
||||
46 stdcall ThunkInitSL(long str long str str) ThunkInitSL
|
||||
47 stub LogCBThkSL
|
||||
47 register LogCBThkSL() LogCBThkSL
|
||||
48 stdcall ReleaseThunkLock(ptr) ReleaseThunkLock
|
||||
49 stdcall RestoreThunkLock(long) RestoreThunkLock
|
||||
50 stdcall AddAtomA(str) AddAtomA
|
||||
|
|
|
@ -39,6 +39,47 @@ DECLARE_DEBUG_CHANNEL(win32)
|
|||
* *
|
||||
***********************************************************************/
|
||||
|
||||
/***********************************************************************
|
||||
* LogApiThk (KERNEL.423)
|
||||
*/
|
||||
void WINAPI LogApiThk( LPSTR func )
|
||||
{
|
||||
TRACE_(thunk)( "%s\n", func );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* LogApiThkLSF (KERNEL32.42)
|
||||
*
|
||||
* NOTE: needs to preserve all registers!
|
||||
*/
|
||||
void WINAPI REGS_FUNC(LogApiThkLSF)( CONTEXT *context )
|
||||
{
|
||||
LPSTR func = (LPSTR)STACK32_POP( context );
|
||||
TRACE_(thunk)( "%s\n", func );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* LogApiThkSL (KERNEL32.44)
|
||||
*
|
||||
* NOTE: needs to preserve all registers!
|
||||
*/
|
||||
void WINAPI REGS_FUNC(LogApiThkSL)( CONTEXT *context )
|
||||
{
|
||||
LPSTR func = (LPSTR)STACK32_POP( context );
|
||||
TRACE_(thunk)( "%s\n", func );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* LogCBThkSL (KERNEL32.47)
|
||||
*
|
||||
* NOTE: needs to preserve all registers!
|
||||
*/
|
||||
void WINAPI REGS_FUNC(LogCBThkSL)( CONTEXT *context )
|
||||
{
|
||||
LPSTR func = (LPSTR)STACK32_POP( context );
|
||||
TRACE_(thunk)( "%s\n", func );
|
||||
}
|
||||
|
||||
/***********************************************************************
|
||||
* Generates a FT_Prolog call.
|
||||
*
|
||||
|
@ -811,6 +852,18 @@ BOOL WINAPI SSOnBigStack()
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* SSConfirmSmallStack KERNEL.704
|
||||
*
|
||||
* Abort if not on small stack.
|
||||
*
|
||||
* This must be a register routine as it has to preserve *all* registers.
|
||||
*/
|
||||
void WINAPI SSConfirmSmallStack( CONTEXT *context )
|
||||
{
|
||||
/* We are always on the small stack while in 16-bit code ... */
|
||||
}
|
||||
|
||||
/**********************************************************************
|
||||
* SSCall
|
||||
* One of the real thunking functions. This one seems to be for 32<->32
|
||||
|
|
Loading…
Reference in New Issue