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
d3fb25cd
Commit
d3fb25cd
authored
Nov 17, 2003
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Moved a few definitions used in only one source file out of module.h.
parent
8fb98a41
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
34 additions
and
55 deletions
+34
-55
ne_module.c
dlls/kernel/ne_module.c
+3
-3
ne_segment.c
dlls/kernel/ne_segment.c
+21
-6
process.c
dlls/kernel/process.c
+10
-3
module.h
include/module.h
+0
-43
No files found.
dlls/kernel/ne_module.c
View file @
d3fb25cd
...
...
@@ -225,7 +225,7 @@ NE_MODULE *NE_GetPtr( HMODULE16 hModule )
/**********************************************************************
* NE_RegisterModule
*/
void
NE_RegisterModule
(
NE_MODULE
*
pModule
)
static
void
NE_RegisterModule
(
NE_MODULE
*
pModule
)
{
pModule
->
next
=
hFirstModule
;
hFirstModule
=
pModule
->
self
;
...
...
@@ -390,7 +390,7 @@ void NE_WalkModules(void)
*
* Fill in 'resloader' fields in the resource table.
*/
void
NE_InitResourceHandler
(
NE_MODULE
*
pModule
)
static
void
NE_InitResourceHandler
(
NE_MODULE
*
pModule
)
{
static
FARPROC16
proc
;
...
...
@@ -1577,7 +1577,7 @@ static BOOL16 NE_FreeModule( HMODULE16 hModule, BOOL call_wep )
/* Free the referenced modules */
pModRef
=
(
HMODULE16
*
)
NE_MODULE_TABLE
(
pModule
);
pModRef
=
(
HMODULE16
*
)
((
char
*
)
pModule
+
pModule
->
modref_table
);
for
(
i
=
0
;
i
<
pModule
->
modref_count
;
i
++
,
pModRef
++
)
{
NE_FreeModule
(
*
pModRef
,
call_wep
);
...
...
dlls/kernel/ne_segment.c
View file @
d3fb25cd
...
...
@@ -79,6 +79,22 @@ struct relocation_entry_s
#define NE_RELTYPE_OSFIXUP 3
#define NE_RELFLAG_ADDITIVE 4
/* Self-loading modules contain this structure in their first segment */
typedef
struct
{
WORD
version
;
/* Must be "A0" (0x3041) */
WORD
reserved
;
FARPROC16
BootApp
;
/* startup procedure */
FARPROC16
LoadAppSeg
;
/* procedure to load a segment */
FARPROC16
reserved2
;
FARPROC16
MyAlloc
;
/* memory allocation procedure,
* wine must write this field */
FARPROC16
EntryAddrProc
;
FARPROC16
ExitProc
;
/* exit procedure */
WORD
reserved3
[
4
];
FARPROC16
SetOwner
;
/* Set Owner procedure, exported by wine */
}
SELFLOADHEADER
;
#define SEL(x) ((x)|1)
static
void
NE_FixupSegmentPrologs
(
NE_MODULE
*
pModule
,
WORD
segnum
);
...
...
@@ -108,7 +124,7 @@ static const char *NE_GetRelocAddrName( BYTE addr_type, int additive )
BOOL
NE_LoadSegment
(
NE_MODULE
*
pModule
,
WORD
segnum
)
{
SEGTABLEENTRY
*
pSegTable
,
*
pSeg
;
WORD
*
pModuleTable
;
HMODULE16
*
pModuleTable
;
WORD
count
,
i
,
offset
,
next_offset
;
HMODULE16
module
;
FARPROC16
address
=
0
;
...
...
@@ -139,7 +155,7 @@ BOOL NE_LoadSegment( NE_MODULE *pModule, WORD segnum )
if
(
!
pSeg
->
filepos
)
return
TRUE
;
/* No file image, just return */
pModuleTable
=
NE_MODULE_TABLE
(
pModule
);
pModuleTable
=
(
HMODULE16
*
)((
char
*
)
pModule
+
pModule
->
modref_table
);
hf
=
NE_OpenFile
(
pModule
);
TRACE_
(
module
)(
"Loading segment %d, hSeg=%04x, flags=%04x
\n
"
,
...
...
@@ -861,7 +877,7 @@ static void free_init_list( struct ne_init_list *list )
static
void
fill_init_list
(
struct
ne_init_list
*
list
,
HMODULE16
hModule
)
{
NE_MODULE
*
pModule
;
WORD
*
pModRef
;
HMODULE16
*
pModRef
;
int
i
;
if
(
!
(
pModule
=
NE_GetPtr
(
hModule
)))
return
;
...
...
@@ -881,10 +897,9 @@ static void fill_init_list( struct ne_init_list *list, HMODULE16 hModule )
pModule
->
misc_flags
|=
0x80
;
/* Recursively attach all DLLs this one depends on */
pModRef
=
NE_MODULE_TABLE
(
pModule
);
pModRef
=
(
HMODULE16
*
)((
char
*
)
pModule
+
pModule
->
modref_table
);
for
(
i
=
0
;
i
<
pModule
->
modref_count
;
i
++
)
if
(
pModRef
[
i
]
)
fill_init_list
(
list
,
(
HMODULE16
)
pModRef
[
i
]
);
if
(
pModRef
[
i
]
)
fill_init_list
(
list
,
pModRef
[
i
]
);
/* Add current module */
add_to_init_list
(
list
,
pModule
);
...
...
dlls/kernel/process.c
View file @
d3fb25cd
...
...
@@ -34,7 +34,6 @@
#include "thread.h"
#include "drive.h"
#include "file.h"
#include "heap.h"
#include "module.h"
#include "options.h"
#include "kernel_private.h"
...
...
@@ -46,6 +45,14 @@ WINE_DEFAULT_DEBUG_CHANNEL(process);
WINE_DECLARE_DEBUG_CHANNEL
(
server
);
WINE_DECLARE_DEBUG_CHANNEL
(
relay
);
typedef
struct
{
LPSTR
lpEnvAddress
;
LPSTR
lpCmdLine
;
LPSTR
lpCmdShow
;
DWORD
dwReserved
;
}
LOADPARMS32
;
static
UINT
process_error_mode
;
static
HANDLE
main_exe_file
;
...
...
@@ -1746,7 +1753,7 @@ UINT WINAPI WinExec( LPCSTR lpCmdLine, UINT nCmdShow )
*/
HINSTANCE
WINAPI
LoadModule
(
LPCSTR
name
,
LPVOID
paramBlock
)
{
LOADPAR
AMS
*
params
=
(
LOADPARAMS
*
)
paramBlock
;
LOADPAR
MS32
*
params
=
paramBlock
;
PROCESS_INFORMATION
info
;
STARTUPINFOA
startup
;
HINSTANCE
hInstance
;
...
...
@@ -1775,7 +1782,7 @@ HINSTANCE WINAPI LoadModule( LPCSTR name, LPVOID paramBlock )
if
(
params
->
lpCmdShow
)
{
startup
.
dwFlags
=
STARTF_USESHOWWINDOW
;
startup
.
wShowWindow
=
params
->
lpCmdShow
[
1
];
startup
.
wShowWindow
=
((
WORD
*
)
params
->
lpCmdShow
)
[
1
];
}
if
(
CreateProcessA
(
filename
,
cmdline
,
NULL
,
NULL
,
FALSE
,
0
,
...
...
include/module.h
View file @
d3fb25cd
...
...
@@ -98,44 +98,11 @@ typedef struct
/* of segment in memory */
}
SEGTABLEENTRY
;
/* Self-loading modules contain this structure in their first segment */
#include <pshpack1.h>
typedef
struct
{
WORD
version
;
/* Must be "A0" (0x3041) */
WORD
reserved
;
FARPROC16
BootApp
;
/* startup procedure */
FARPROC16
LoadAppSeg
;
/* procedure to load a segment */
FARPROC16
reserved2
;
FARPROC16
MyAlloc
;
/* memory allocation procedure,
* wine must write this field */
FARPROC16
EntryAddrProc
;
FARPROC16
ExitProc
;
/* exit procedure */
WORD
reserved3
[
4
];
FARPROC16
SetOwner
;
/* Set Owner procedure, exported by wine */
}
SELFLOADHEADER
;
typedef
struct
{
LPSTR
lpEnvAddress
;
LPSTR
lpCmdLine
;
UINT16
*
lpCmdShow
;
DWORD
dwReserved
;
}
LOADPARAMS
;
#include <poppack.h>
/* Resource types */
#define NE_SEG_TABLE(pModule) \
((SEGTABLEENTRY *)((char *)(pModule) + (pModule)->seg_table))
#define NE_MODULE_TABLE(pModule) \
((WORD *)((char *)(pModule) + (pModule)->modref_table))
#define NE_MODULE_NAME(pModule) \
(((OFSTRUCT *)((char*)(pModule) + (pModule)->fileinfo))->szPathName)
...
...
@@ -164,15 +131,9 @@ enum binary_type
/* module.c */
extern
NTSTATUS
MODULE_DllThreadAttach
(
LPVOID
lpReserved
);
extern
enum
binary_type
MODULE_GetBinaryType
(
HANDLE
hfile
);
extern
FARPROC16
WINAPI
WIN32_GetProcAddress16
(
HMODULE
hmodule
,
LPCSTR
name
);
extern
void
MODULE_WalkModref
(
DWORD
id
);
/* loader/ne/module.c */
extern
NE_MODULE
*
NE_GetPtr
(
HMODULE16
hModule
);
extern
void
NE_DumpModule
(
HMODULE16
hModule
);
extern
void
NE_WalkModules
(
void
);
extern
void
NE_InitResourceHandler
(
NE_MODULE
*
pModule
);
extern
void
NE_RegisterModule
(
NE_MODULE
*
pModule
);
extern
WORD
NE_GetOrdinal
(
HMODULE16
hModule
,
const
char
*
name
);
extern
FARPROC16
WINAPI
NE_GetEntryPoint
(
HMODULE16
hModule
,
WORD
ordinal
);
extern
FARPROC16
NE_GetEntryPointEx
(
HMODULE16
hModule
,
WORD
ordinal
,
BOOL16
snoop
);
...
...
@@ -193,10 +154,6 @@ extern void NE_InitializeDLLs( HMODULE16 hModule );
extern
void
NE_DllProcessAttach
(
HMODULE16
hModule
);
extern
void
NE_CallUserSignalProc
(
HMODULE16
hModule
,
UINT16
code
);
/* loader/pe_resource.c */
extern
HRSRC
PE_FindResourceW
(
HMODULE
,
LPCWSTR
,
LPCWSTR
);
extern
HRSRC
PE_FindResourceExW
(
HMODULE
,
LPCWSTR
,
LPCWSTR
,
WORD
);
/* loader/loadorder.c */
extern
void
MODULE_GetLoadOrderW
(
enum
loadorder_type
plo
[],
const
WCHAR
*
app_name
,
const
WCHAR
*
path
,
BOOL
win32
);
...
...
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