Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-cw
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-cw
Commits
95086f45
Commit
95086f45
authored
May 16, 2005
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moved data structures for 16-bit relay calls to winbase16.h and
removed builtin16.h.
parent
0cdc0479
Hide whitespace changes
Inline
Side-by-side
Showing
9 changed files
with
101 additions
and
142 deletions
+101
-142
ne_module.c
dlls/kernel/ne_module.c
+0
-1
ne_segment.c
dlls/kernel/ne_segment.c
+0
-1
relay16.c
dlls/kernel/relay16.c
+0
-1
snoop16.c
dlls/kernel/snoop16.c
+0
-1
relay.c
dlls/winedos/relay.c
+1
-1
builtin16.h
include/builtin16.h
+0
-95
stackframe.h
include/stackframe.h
+0
-41
winbase16.h
include/wine/winbase16.h
+100
-0
spec16.c
tools/winebuild/spec16.c
+0
-1
No files found.
dlls/kernel/ne_module.c
View file @
95086f45
...
...
@@ -37,7 +37,6 @@
#include "wownt32.h"
#include "module.h"
#include "toolhelp.h"
#include "builtin16.h"
#include "stackframe.h"
#include "excpt.h"
#include "wine/exception.h"
...
...
dlls/kernel/ne_segment.c
View file @
95086f45
...
...
@@ -39,7 +39,6 @@
#include "kernel_private.h"
#include "module.h"
#include "stackframe.h"
#include "builtin16.h"
#include "toolhelp.h"
#include "wine/debug.h"
...
...
dlls/kernel/relay16.c
View file @
95086f45
...
...
@@ -31,7 +31,6 @@
#include "wine/winbase16.h"
#include "module.h"
#include "stackframe.h"
#include "builtin16.h"
#include "kernel_private.h"
#include "wine/unicode.h"
#include "wine/library.h"
...
...
dlls/kernel/snoop16.c
View file @
95086f45
...
...
@@ -33,7 +33,6 @@
#include "kernel_private.h"
#include "module.h"
#include "stackframe.h"
#include "builtin16.h"
#include "toolhelp.h"
#include "wine/debug.h"
...
...
dlls/winedos/relay.c
View file @
95086f45
...
...
@@ -20,8 +20,8 @@
*/
#include "dosexe.h"
#include "thread.h"
#include "wine/winbase16.h"
#include "wine/debug.h"
#include "builtin16.h"
WINE_DEFAULT_DEBUG_CHANNEL
(
int
);
...
...
include/builtin16.h
deleted
100644 → 0
View file @
0cdc0479
/*
* Win16 built-in DLLs definitions
*
* Copyright 1999 Ulrich Weigand
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation; either
* version 2.1 of the License, or (at your option) any later version.
*
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Lesser General Public License for more details.
*
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
*/
#ifndef __WINE_BUILTIN16_H
#define __WINE_BUILTIN16_H
#include <windef.h>
#include <wine/windef16.h>
struct
_CONTEXT86
;
struct
_STACK16FRAME
;
#include <pshpack1.h>
#ifdef __i386__
typedef
struct
{
WORD
pushw_bp
;
/* pushw %bp */
BYTE
pushl
;
/* pushl $target */
void
(
*
target
)();
WORD
call
;
/* call CALLFROM16 */
short
callfrom16
;
}
ENTRYPOINT16
;
typedef
struct
{
BYTE
pushl
;
/* pushl $relay */
void
*
relay
;
BYTE
lcall
;
/* lcall __FLATCS__:glue */
void
*
glue
;
WORD
flatcs
;
WORD
lret
;
/* lret $nArgs */
WORD
nArgs
;
DWORD
arg_types
[
2
];
/* type of each argument */
}
CALLFROM16
;
#else
typedef
struct
{
void
(
*
target
)();
WORD
call
;
/* call CALLFROM16 */
short
callfrom16
;
}
ENTRYPOINT16
;
typedef
struct
{
WORD
lret
;
/* lret $nArgs */
WORD
nArgs
;
DWORD
arg_types
[
2
];
/* type of each argument */
}
CALLFROM16
;
#endif
#include <poppack.h>
/* argument type flags for relay debugging */
enum
arg_types
{
ARG_NONE
=
0
,
/* indicates end of arg list */
ARG_WORD
,
/* unsigned word */
ARG_SWORD
,
/* signed word */
ARG_LONG
,
/* long or segmented pointer */
ARG_PTR
,
/* linear pointer */
ARG_STR
,
/* linear pointer to null-terminated string */
ARG_SEGSTR
/* segmented pointer to null-terminated string */
};
/* flags added to arg_types[0] */
#define ARG_RET16 0x80000000
/* function returns 16-bit value */
#define ARG_REGISTER 0x40000000
/* function is register */
extern
WORD
__wine_call_from_16_word
();
extern
LONG
__wine_call_from_16_long
();
extern
void
__wine_call_from_16_regs
();
#endif
/* __WINE_BUILTIN16_H */
include/stackframe.h
View file @
95086f45
...
...
@@ -32,47 +32,6 @@
#include <thread.h>
#include <wine/winbase16.h>
#include <pshpack1.h>
/* 32-bit stack layout after CallTo16() */
typedef
struct
_STACK32FRAME
{
DWORD
restore_addr
;
/* 00 return address for restoring code selector */
DWORD
codeselector
;
/* 04 code selector to restore */
EXCEPTION_REGISTRATION_RECORD
frame
;
/* 08 Exception frame */
SEGPTR
frame16
;
/* 10 16-bit frame from last CallFrom16() */
DWORD
edi
;
/* 14 saved registers */
DWORD
esi
;
/* 18 */
DWORD
ebx
;
/* 1c */
DWORD
ebp
;
/* 20 saved 32-bit frame pointer */
DWORD
retaddr
;
/* 24 return address */
DWORD
target
;
/* 28 target address / CONTEXT86 pointer */
DWORD
nb_args
;
/* 2c number of 16-bit argument bytes */
}
STACK32FRAME
;
/* 16-bit stack layout after CallFrom16() */
typedef
struct
_STACK16FRAME
{
STACK32FRAME
*
frame32
;
/* 00 32-bit frame from last CallTo16() */
DWORD
edx
;
/* 04 saved registers */
DWORD
ecx
;
/* 08 */
DWORD
ebp
;
/* 0c */
WORD
ds
;
/* 10 */
WORD
es
;
/* 12 */
WORD
fs
;
/* 14 */
WORD
gs
;
/* 16 */
DWORD
callfrom_ip
;
/* 18 callfrom tail IP */
DWORD
module_cs
;
/* 1c module code segment */
DWORD
relay
;
/* 20 relay function address */
WORD
entry_ip
;
/* 22 entry point IP */
DWORD
entry_point
;
/* 26 API entry point to call, reused as mutex count */
WORD
bp
;
/* 2a 16-bit stack frame chain */
WORD
ip
;
/* 2c return address */
WORD
cs
;
/* 2e */
}
STACK16FRAME
;
#include <poppack.h>
#define CURRENT_STACK16 ((STACK16FRAME*)MapSL((SEGPTR)NtCurrentTeb()->WOW32Reserved))
#define CURRENT_DS (CURRENT_STACK16->ds)
...
...
include/wine/winbase16.h
View file @
95086f45
...
...
@@ -165,6 +165,106 @@ typedef struct
DWORD
dwAllocCount
;
}
WINDEBUGINFO16
,
*
LPWINDEBUGINFO16
;
/* definitions specific to Wine 16-bit relaying support */
/* 32-bit stack layout after __wine_call_to_16() */
typedef
struct
_STACK32FRAME
{
DWORD
restore_addr
;
/* 00 return address for restoring code selector */
DWORD
codeselector
;
/* 04 code selector to restore */
EXCEPTION_REGISTRATION_RECORD
frame
;
/* 08 Exception frame */
SEGPTR
frame16
;
/* 10 16-bit frame from last CallFrom16() */
DWORD
edi
;
/* 14 saved registers */
DWORD
esi
;
/* 18 */
DWORD
ebx
;
/* 1c */
DWORD
ebp
;
/* 20 saved 32-bit frame pointer */
DWORD
retaddr
;
/* 24 return address */
DWORD
target
;
/* 28 target address / CONTEXT86 pointer */
DWORD
nb_args
;
/* 2c number of 16-bit argument bytes */
}
STACK32FRAME
;
/* 16-bit stack layout after __wine_call_from_16() */
typedef
struct
_STACK16FRAME
{
STACK32FRAME
*
frame32
;
/* 00 32-bit frame from last CallTo16() */
DWORD
edx
;
/* 04 saved registers */
DWORD
ecx
;
/* 08 */
DWORD
ebp
;
/* 0c */
WORD
ds
;
/* 10 */
WORD
es
;
/* 12 */
WORD
fs
;
/* 14 */
WORD
gs
;
/* 16 */
DWORD
callfrom_ip
;
/* 18 callfrom tail IP */
DWORD
module_cs
;
/* 1c module code segment */
DWORD
relay
;
/* 20 relay function address */
WORD
entry_ip
;
/* 22 entry point IP */
DWORD
entry_point
;
/* 26 API entry point to call, reused as mutex count */
WORD
bp
;
/* 2a 16-bit stack frame chain */
WORD
ip
;
/* 2c return address */
WORD
cs
;
/* 2e */
}
STACK16FRAME
;
#ifdef __i386__
typedef
struct
{
WORD
pushw_bp
;
/* pushw %bp */
BYTE
pushl
;
/* pushl $target */
void
(
*
target
)();
WORD
call
;
/* call CALLFROM16 */
short
callfrom16
;
}
ENTRYPOINT16
;
typedef
struct
{
BYTE
pushl
;
/* pushl $relay */
void
*
relay
;
BYTE
lcall
;
/* lcall __FLATCS__:glue */
void
*
glue
;
WORD
flatcs
;
WORD
lret
;
/* lret $nArgs */
WORD
nArgs
;
DWORD
arg_types
[
2
];
/* type of each argument */
}
CALLFROM16
;
#else
/* __i386__ */
typedef
struct
{
void
(
*
target
)();
WORD
call
;
/* call CALLFROM16 */
short
callfrom16
;
}
ENTRYPOINT16
;
typedef
struct
{
WORD
lret
;
/* lret $nArgs */
WORD
nArgs
;
DWORD
arg_types
[
2
];
/* type of each argument */
}
CALLFROM16
;
#endif
/* argument type flags for relay debugging */
enum
arg_types
{
ARG_NONE
=
0
,
/* indicates end of arg list */
ARG_WORD
,
/* unsigned word */
ARG_SWORD
,
/* signed word */
ARG_LONG
,
/* long or segmented pointer */
ARG_PTR
,
/* linear pointer */
ARG_STR
,
/* linear pointer to null-terminated string */
ARG_SEGSTR
/* segmented pointer to null-terminated string */
};
/* flags added to arg_types[0] */
#define ARG_RET16 0x80000000
/* function returns 16-bit value */
#define ARG_REGISTER 0x40000000
/* function is register */
extern
WORD
__wine_call_from_16_word
();
extern
LONG
__wine_call_from_16_long
();
extern
void
__wine_call_from_16_regs
();
#include <poppack.h>
#define INVALID_HANDLE_VALUE16 ((HANDLE16) -1)
...
...
tools/winebuild/spec16.c
View file @
95086f45
...
...
@@ -30,7 +30,6 @@
#include "wine/exception.h"
#include "stackframe.h"
#include "builtin16.h"
#include "module.h"
#include "build.h"
...
...
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