Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
d30821a0
Commit
d30821a0
authored
May 23, 1999
by
Ulrich Weigand
Committed by
Alexandre Julliard
May 23, 1999
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added _DebugOutput (KERNEL.328), LogApiThk (KERNEL.423), LogApiThkLSF
(KERNEL32.42), LogApiThkSL (KERNEL32.44), LogCBThkSL (KERNEL32.47), and SSConfirmSmallStack (KERNEL.704).
parent
e99e844c
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
103 additions
and
6 deletions
+103
-6
kernel.spec
if1632/kernel.spec
+3
-3
wsprintf.c
misc/wsprintf.c
+44
-0
kernel32.spec
relay32/kernel32.spec
+3
-3
kernel32.c
win32/kernel32.c
+53
-0
No files found.
if1632/kernel.spec
View file @
d30821a0
...
...
@@ -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,
...
...
misc/wsprintf.c
View file @
d30821a0
...
...
@@ -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
))
);
}
relay32/kernel32.spec
View file @
d30821a0
...
...
@@ -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
...
...
win32/kernel32.c
View file @
d30821a0
...
...
@@ -40,6 +40,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.
*
* 0FB6D1 movzbl edx,cl
...
...
@@ -812,6 +853,18 @@ BOOL WINAPI SSOnBigStack()
}
/**********************************************************************
* 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
* thunks. It should probably be capable of crossing processboundaries.
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment