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
cf6f12f3
Commit
cf6f12f3
authored
Nov 07, 2001
by
Ove Kaaven
Committed by
Alexandre Julliard
Nov 07, 2001
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Added RunInThread callout to winedos.
parent
309ed4e1
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
23 additions
and
11 deletions
+23
-11
module.c
dlls/winedos/module.c
+5
-0
winedos.spec
dlls/winedos/winedos.spec
+1
-0
callback.h
include/callback.h
+2
-0
dosexe.h
include/dosexe.h
+2
-0
dpmi.c
msdos/dpmi.c
+13
-11
No files found.
dlls/winedos/module.c
View file @
cf6f12f3
...
...
@@ -421,6 +421,11 @@ LPDOSTASK WINAPI MZ_AllocDPMITask( void )
return
lpDosTask
;
}
void
WINAPI
MZ_RunInThread
(
PAPCFUNC
proc
,
ULONG_PTR
arg
)
{
proc
(
arg
);
}
static
void
MZ_InitTimer
(
int
ver
)
{
if
(
ver
<
1
)
{
...
...
dlls/winedos/winedos.spec
View file @
cf6f12f3
...
...
@@ -12,6 +12,7 @@ debug_channels (int module relay)
@ stdcall LoadDosExe(str long) MZ_LoadImage
@ stdcall Exec(ptr str long ptr) MZ_Exec
@ stdcall Exit(ptr long long) MZ_Exit
@ stdcall RunInThread(ptr long) MZ_RunInThread
@ stdcall Enter(ptr) DOSVM_Enter
@ stdcall Wait(long long) DOSVM_Wait
...
...
include/callback.h
View file @
cf6f12f3
...
...
@@ -37,11 +37,13 @@ typedef struct {
BOOL
WINAPI
(
*
Exec
)(
CONTEXT86
*
context
,
LPCSTR
filename
,
BYTE
func
,
LPVOID
paramblk
);
void
WINAPI
(
*
Exit
)(
CONTEXT86
*
context
,
BOOL
cs_psp
,
WORD
retval
);
int
WINAPI
(
*
Enter
)(
CONTEXT86
*
context
);
void
WINAPI
(
*
RunInThread
)(
PAPCFUNC
proc
,
ULONG_PTR
arg
);
void
WINAPI
(
*
Wait
)(
int
read_pipe
,
HANDLE
hObject
);
void
WINAPI
(
*
QueueEvent
)(
int
irq
,
int
priority
,
void
(
*
relay
)(
CONTEXT86
*
,
void
*
),
void
*
data
);
void
WINAPI
(
*
OutPIC
)(
WORD
port
,
BYTE
val
);
void
WINAPI
(
*
SetTimer
)(
unsigned
ticks
);
unsigned
WINAPI
(
*
GetTimer
)(
void
);
BYTE
WINAPI
(
*
KbdReadScan
)(
BYTE
*
ascii
);
}
DOSVM_TABLE
;
extern
DOSVM_TABLE
Dosvm
;
...
...
include/dosexe.h
View file @
cf6f12f3
...
...
@@ -37,8 +37,10 @@ extern BOOL WINAPI MZ_Exec( CONTEXT86 *context, LPCSTR filename, BYTE func, LPVO
extern
void
WINAPI
MZ_Exit
(
CONTEXT86
*
context
,
BOOL
cs_psp
,
WORD
retval
);
extern
LPDOSTASK
WINAPI
MZ_Current
(
void
);
extern
LPDOSTASK
WINAPI
MZ_AllocDPMITask
(
void
);
extern
void
WINAPI
MZ_RunInThread
(
PAPCFUNC
proc
,
ULONG_PTR
arg
);
extern
INT
WINAPI
DOSVM_Enter
(
CONTEXT86
*
context
);
extern
void
WINAPI
DOSVM_Wait
(
INT
read_pipe
,
HANDLE
hObject
);
extern
DWORD
WINAPI
DOSVM_Loop
(
LPVOID
lpExtra
);
extern
void
WINAPI
DOSVM_QueueEvent
(
INT
irq
,
INT
priority
,
DOSRELAY
relay
,
LPVOID
data
);
extern
void
WINAPI
DOSVM_PIC_ioport_out
(
WORD
port
,
BYTE
val
);
extern
void
WINAPI
DOSVM_SetTimer
(
UINT
ticks
);
...
...
msdos/dpmi.c
View file @
cf6f12f3
...
...
@@ -80,17 +80,19 @@ BOOL DPMI_LoadDosSystem(void)
ERR
(
"could not load winedos.dll, DOS subsystem unavailable
\n
"
);
return
FALSE
;
}
Dosvm
.
Current
=
(
void
*
)
GetProcAddress
(
DosModule
,
"GetCurrent"
);
Dosvm
.
LoadDPMI
=
(
void
*
)
GetProcAddress
(
DosModule
,
"LoadDPMI"
);
Dosvm
.
LoadDosExe
=
(
void
*
)
GetProcAddress
(
DosModule
,
"LoadDosExe"
);
Dosvm
.
Exec
=
(
void
*
)
GetProcAddress
(
DosModule
,
"Exec"
);
Dosvm
.
Exit
=
(
void
*
)
GetProcAddress
(
DosModule
,
"Exit"
);
Dosvm
.
Enter
=
(
void
*
)
GetProcAddress
(
DosModule
,
"Enter"
);
Dosvm
.
Wait
=
(
void
*
)
GetProcAddress
(
DosModule
,
"Wait"
);
Dosvm
.
QueueEvent
=
(
void
*
)
GetProcAddress
(
DosModule
,
"QueueEvent"
);
Dosvm
.
OutPIC
=
(
void
*
)
GetProcAddress
(
DosModule
,
"OutPIC"
);
Dosvm
.
SetTimer
=
(
void
*
)
GetProcAddress
(
DosModule
,
"SetTimer"
);
Dosvm
.
GetTimer
=
(
void
*
)
GetProcAddress
(
DosModule
,
"GetTimer"
);
Dosvm
.
Current
=
(
void
*
)
GetProcAddress
(
DosModule
,
"GetCurrent"
);
Dosvm
.
LoadDPMI
=
(
void
*
)
GetProcAddress
(
DosModule
,
"LoadDPMI"
);
Dosvm
.
LoadDosExe
=
(
void
*
)
GetProcAddress
(
DosModule
,
"LoadDosExe"
);
Dosvm
.
Exec
=
(
void
*
)
GetProcAddress
(
DosModule
,
"Exec"
);
Dosvm
.
Exit
=
(
void
*
)
GetProcAddress
(
DosModule
,
"Exit"
);
Dosvm
.
Enter
=
(
void
*
)
GetProcAddress
(
DosModule
,
"Enter"
);
Dosvm
.
RunInThread
=
(
void
*
)
GetProcAddress
(
DosModule
,
"RunInThread"
);
Dosvm
.
Wait
=
(
void
*
)
GetProcAddress
(
DosModule
,
"Wait"
);
Dosvm
.
QueueEvent
=
(
void
*
)
GetProcAddress
(
DosModule
,
"QueueEvent"
);
Dosvm
.
OutPIC
=
(
void
*
)
GetProcAddress
(
DosModule
,
"OutPIC"
);
Dosvm
.
SetTimer
=
(
void
*
)
GetProcAddress
(
DosModule
,
"SetTimer"
);
Dosvm
.
GetTimer
=
(
void
*
)
GetProcAddress
(
DosModule
,
"GetTimer"
);
Dosvm
.
KbdReadScan
=
(
void
*
)
GetProcAddress
(
DosModule
,
"KbdReadScan"
);
return
TRUE
;
}
...
...
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