Commit Graph

928 Commits

Author SHA1 Message Date
Alexandre Julliard 8db8368ee7 Keep the file handle of 16-bit modules open while the module is
loaded. This makes it possible to remove the InstallShield hack in
OpenFile16.
Moved LoadLibrary32_16 to kernel.
2003-09-18 04:35:34 +00:00
Alexandre Julliard aaf3503ea5 Moved almost all remaining process, thread, fiber and exception
functions to dlls/kernel.
2003-09-17 05:31:32 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 7df1b9e03a Start using the exported TEB structure from winternl.h where
possible.
2003-08-28 19:57:35 +00:00
Alexandre Julliard 6aca040f86 Moved a few more functions to dlls/kernel. 2003-08-26 02:29:48 +00:00
Alexandre Julliard 0ac9690081 Moved 16-bit relay and snoop support to dlls/kernel. 2003-08-26 02:28:59 +00:00
Alexandre Julliard 9ca159b61a Moved 16-bit builtin module handling to dlls/kernel/ne_module.c. 2003-08-23 23:07:10 +00:00
Alexandre Julliard 5fbb446cfc Moved most of the 16-bit task support and NE module loader to
dlls/kernel.
2003-08-23 00:03:40 +00:00
Alexandre Julliard d8e34ebc21 Renamed system.dll to system.drv. 2003-08-19 03:27:45 +00:00
Dmitry Timoshkov 6f66c1c75b Windows ignores values of e_cparhdr and e_crlc of the MZ header. 2003-08-18 19:51:42 +00:00
Pierre d'Herbemont 89321f49bd Add Mach-O (Darwin file format) support. 2003-07-21 20:02:50 +00:00
Francois Gouget 3ca761220a Spelling fixes (s/occured/occurred/ and variants). 2003-07-15 20:53:39 +00:00
Alexandre Julliard d27b8c96eb Avoid accessing uninitialized variable in TASK_Create (spotted by
Robert Shearman).
2003-07-02 04:32:38 +00:00
Eric Pouech 675b75597b - removed next & prev fields from WINE_MODREF and implement instead
the three linked lists in LDR_MODULE
- added PEB_LDR_DATA structure to PEB
- removed a couple of no longer needed global & static variables
2003-07-01 03:38:56 +00:00
Alexandre Julliard 6bc5091160 Start to make use of the proper PEB structure for process
information.
2003-05-22 03:44:01 +00:00
Alexandre Julliard 7c836cf954 Moved a couple of 16-bit module functions from to loader/ne/module.c. 2003-05-21 18:32:17 +00:00
Alexandre Julliard 81e72d8f2d Moved all process initialisation code to process.c and removed
loader/main.c.
2003-05-20 19:21:43 +00:00
Alexandre Julliard c7a51eec43 Only create the 16-bit dummy module when we need really it. 2003-05-20 02:32:26 +00:00
Alexandre Julliard 54100873d3 Avoid using the MapHModule functions. 2003-05-16 20:17:52 +00:00
Alexandre Julliard 1ed73fae13 Call the user signal proc for exe modules too, to avoid duplicating
the module cleanup code.
2003-05-16 20:16:56 +00:00
Alexandre Julliard c963e25c0e Get rid of the 32-bit user signal proc since we always run builtin
USER now.  Moved USER module cleanups to the 16-bit signal proc.
2003-05-15 23:11:00 +00:00
Alexandre Julliard adb532903c Rewrote module TLS support and moved it to ntdll. 2003-05-14 19:51:14 +00:00
Alexandre Julliard d9bab57477 Added support for calling the TLS callback functions. 2003-05-08 04:13:26 +00:00
Alexandre Julliard ce4d111cd8 Moved the EnumResource* functions to the kernel dll, and fixed their
prototypes.
2003-05-07 03:21:26 +00:00
Alexandre Julliard 424202bd9a Moved most of the kernel resource APIs to dlls/kernel. 2003-04-30 00:53:23 +00:00
Alexandre Julliard fedc411743 Moved the functionality of starting Win16 and DOS programs from the
common process startup into a separate winevdm application.
2003-04-27 00:47:58 +00:00
Alexandre Julliard 7dd3f7c786 Silently ignore 'so' loadorder in the config file instead of
displaying an error.
2003-04-27 00:40:23 +00:00
Alexandre Julliard 0412cc55d2 Rewrote most of the import fixup code to avoid doing redundant work
for every entry point. Moved it all to dlls/ntdll/loader.c.
Various optimizations in the other loader routines.
2003-04-05 05:16:11 +00:00
Alexandre Julliard 5980477dcc Fetch the exe module directly from the PDB instead of calling
LdrGetDllHandle.
2003-04-05 05:13:33 +00:00
Alexandre Julliard 39f73ddeaa Merged PE_InitDLL into MODULE_InitDLL.
Fixed a few traces.
2003-04-04 19:50:17 +00:00
Eric Pouech 69dc0d93d5 Removed no longer needed MODREF.find_export field. 2003-03-21 21:27:16 +00:00
Eric Pouech 7b91b82680 Rewrote mapping of module into memory using only NTDLL APIs. 2003-03-21 00:46:08 +00:00
Alexandre Julliard 195574e2d8 Added memcpy_unaligned to libwine_port. 2003-03-20 23:44:36 +00:00
Eric Pouech 19e050eb6f Moved WINE_MODREF.flags to WINE_MODREF.ldr.Flags, and make use of the
same flags values as Win2000.
2003-03-20 23:40:08 +00:00
Eric Pouech f94c8b85b9 Move some fields (refCount, tls_index and module) from WINE_MODREF to
LDR_MODULE.
2003-03-20 22:05:26 +00:00
Eric Pouech 9b79d698b2 Moved the module loading/unloading code and the remaining needed
static variables to ntdll.
2003-03-20 04:55:59 +00:00
Alexandre Julliard 500a2f95f7 Partially implemented LdrLock/UnlockLoaderLock. 2003-03-20 04:29:21 +00:00
Alexandre Julliard 03e4ea1789 Make GetModuleFileNameA call GetModuleFileNameW. Small cleanups. 2003-03-18 20:07:12 +00:00
Eric Pouech 84d1a8ff8c - added LDR_MODULE structure to WINE_MODREF and made dummy filling of
this structure
- implementation of LdrFindEntry
- implementation of GetModuleFileName[AW] on top of LdrFindEntry
2003-03-18 18:29:13 +00:00
Alexandre Julliard 803b5686ef Cleaned up load_library_as_datafile(). 2003-03-14 23:17:45 +00:00
Eric Pouech 32872b1a57 - implementation of LdrLoadDll out of loader/module.c
- in impacted functions, ensure that we only use ntdll functions
- for internal loading, start using NTDLL style for error reporting
- making use of new LdrLoadDll
2003-03-14 05:01:20 +00:00
Eric Pouech 1efa50e47e - implementation of LdrUnloadDll out of loader/module.c
- in impacted functions, ensure that we only use ntdll functions
- making use of new LdrUnloadDll
2003-03-14 04:00:52 +00:00
Eric Pouech f3a73ef7af - implemented LdrGetProcedureAddress and made use of it for
GetProcAddress
- implemented LdrGetDllHandle and made use of it in GetModuleHandle
- removed MODULE_DllThreadDetach from loader/module.c (should have
  been removed in a previous patch)
2003-03-06 23:41:37 +00:00
Eric Pouech d4fcc4bd06 Removed SO loading type. 2003-03-05 02:50:25 +00:00
Eric Pouech 7d6096480a - added Ldr* information to include/winternl.h
- exported a few functions/global vars from module.h while we move
  code from loader/module.c to dlls/ntdll/loader.c
- implemented LdrShutdownProcess, LdrShutdownThread and
  LdrDisableThreadCalloutsForDll (and made use of them)
2003-03-04 04:36:56 +00:00
Alexandre Julliard 60d40cd246 Only do the unload_dll server call at the time we actually unload the
dll.
2003-02-28 21:52:08 +00:00
Alexandre Julliard ce13153821 Moved LDT selector allocation routines to libwine.
Added support for correct locking of all LDT operations.
Added separate functions to manipulate the %fs selector, which allows
using a global GDT selector on recent Linux kernels.
2003-02-26 20:34:45 +00:00
Alexandre Julliard ac13d2f47e Print thread ids in traces with only 4 digits now that they are small
integers.
2003-02-18 23:29:47 +00:00
Alexandre Julliard 851d25d977 Set default loadorder to native for dlls that contain an explicit
path.
2003-02-17 01:49:47 +00:00
Warren Baird 39f73a2203 Increase size of insufficiently big stack allocated buffer used for
error messages in ELF_LoadLibraryExA.
2003-02-12 01:17:55 +00:00
Rein Klazes 33be954e62 In PE_fixup_imports report "module file not found" only in case of a
"file not found" error. Otherwise report failure and error number.
2003-02-11 22:21:24 +00:00
Matthew Davison 60009b9a56 Removed calls to HEAP_strdupAtoW. 2003-01-23 23:07:38 +00:00
Dimitrie O. Paun 297f3d898d Define NONAMELESS{STRUCT,UNION} explicitly in the files that need them. 2003-01-07 20:36:20 +00:00
Alexandre Julliard bcf41605d2 Debug channels cleanup. 2002-12-17 21:09:50 +00:00
Alexandre Julliard df357055e2 Don't crash in DirectedYield16 if no other task is running. 2002-12-13 00:39:17 +00:00
Dimitrie O. Paun 737d4be892 Move excpt.h out of include/msvcrt/ as it does not conflict with any
standard Unix header.
2002-12-12 23:34:01 +00:00
Alexandre Julliard 309b37023d Also trace implicitly loaded dlls for +loaddll. 2002-12-12 22:05:22 +00:00
Patrik Stridvall 75dee506ae Replace 0x%p with %p. 2002-12-05 19:56:15 +00:00
Alexandre Julliard 9169729b0b Merged font.h and path.h into gdi.h. Moved x11font.h to
dlls/x11drv. Removed a number of unnecessary #includes.
2002-12-03 19:18:41 +00:00
Alexandre Julliard 11f361a29c Removed no longer needed PROFILE_LoadWineIni(). 2002-11-23 02:24:53 +00:00
Andrew John Hughes ed800c69c8 Build ntdll with -DSTRICT. 2002-11-21 03:45:01 +00:00
Alexandre Julliard 82aeebd783 Added wrapper to replace llseek+lread to avoid HANDLE/HFILE
conversions.
2002-11-21 00:04:01 +00:00
Jukka Heinonen 1a665058e8 Removed last users of msdos/interrupts.c. 2002-11-21 00:02:09 +00:00
Eric Pouech d09b9ccb39 Don't fully process FreeLibrary when process is stopping. 2002-11-15 04:14:27 +00:00
Patrik Stridvall cf07e10017 Don't use wine/unicode.h in the header files, include it directly
where needed instead.
2002-10-23 20:20:59 +00:00
Patrik Stridvall 1298eb4053 Fixed mismatches between the Wine headers and the Microsoft headers. 2002-10-23 18:50:10 +00:00
Alexandre Julliard f3215eba4a Get/SetFastQueue16 should use HQUEUE16 handles. 2002-10-19 17:20:44 +00:00
Alexandre Julliard 9534d4f0fe Added wine_memcpy_unaligned function to avoid gcc memcpy
optimizations.
2002-10-18 00:27:38 +00:00
Alexandre Julliard c5c48eb677 Fixed reference count handling to support LoadLibrary during a process
attach.
2002-10-15 02:25:19 +00:00
Alexandre Julliard 613ead7f0f Fixed some handle conversions in prevision of void* handles. 2002-10-04 00:27:10 +00:00
Dimitrie O. Paun e70d08be31 By default, we should use our own dlls. 2002-09-25 00:16:52 +00:00
Patrik Stridvall b5bb32c09a Fixed some issues found by winapi_check. 2002-09-24 18:29:39 +00:00
Michael Stefaniuc 9d2b862883 Convert HRSRC to a void*. 2002-09-16 22:47:05 +00:00
Alexandre Julliard 81bdcf126f Removed references to advapi32 registry functions from some of the
kernel functions.
2002-09-13 17:47:44 +00:00
Patrik Stridvall 9c1de6de30 Moved all the content of the DDK files ntdef.h and ntddk.h to
winternl.h.
2002-09-12 22:07:02 +00:00
Patrik Stridvall 51e6c0ccb1 MSVC compatibility fixes. 2002-08-31 19:04:14 +00:00
Alexandre Julliard 3fa613cf61 Moved internal context macros out of winnt.h.
Added SET_AX etc. macros to avoid non-portable pointer manipulations.
2002-08-31 18:47:00 +00:00
Patrik Stridvall 9aab47ed24 MSVC compatibility fixes. 2002-08-28 23:42:34 +00:00
Mike McCormack f5d21eb2bf Don't cache file handles for NE executable modules so that we don't
lock the CDROM.
2002-08-27 02:05:21 +00:00
Dmitry Timoshkov d75aed2c92 Convert most of the file APIs to Unicode. 2002-08-27 01:13:58 +00:00
Dmitry Timoshkov 1467bbd5a4 Relax a bit PE consistency checks.
Return BINARY_DOS type if extended header was not recognized.
2002-08-27 00:34:41 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Alexandre Julliard 0eec45a97b Force loadorder of 16-bit dlls to builtin if their 32-bit counterpart
has already been loaded as builtin.
2002-08-16 20:02:54 +00:00
Dmitry Timoshkov 10cd651ef3 Set up exception handler around WEP call. 2002-08-16 01:44:21 +00:00
Alexandre Julliard befbb0e441 Make behavior of builtin executables closer to that of builtin dlls.
Fixed case sensitivity of builtin executables.
2002-08-14 21:12:58 +00:00
Alexandre Julliard a5dea216cc Implemented the RtlImage* functions, and use them to replace the
PE_HEADER macro.
2002-08-09 19:57:38 +00:00
Alexandre Julliard 526531eb6c Create at most one glue file for a single dll.
Avoid the intermediate .tmp.o file when building programs.
2002-08-01 18:36:58 +00:00
Alexandre Julliard 7375597fe2 Fixed some handle type mismatches and added a few casts in prevision
of void* handles.
2002-07-31 19:26:03 +00:00
Alexandre Julliard 267ca68253 Fixed HANDLE<->HFILE conversions, since they will be different types
when handles are void*.
2002-07-31 17:20:00 +00:00
Alexandre Julliard 29f265fab1 Set the correct permissions on the PE image sections. 2002-07-29 23:59:26 +00:00
Alexandre Julliard 13f2a17eb2 Convert HTASK to void* (based on a patch by Michael Stefaniuc). 2002-07-28 23:48:27 +00:00
Alexandre Julliard 891d23e57f Added support for ordinal hint in PE_FindExportedFunction. 2002-07-24 19:04:41 +00:00
Alexandre Julliard 7015ce3096 No need to call GetModuleFileName16 now that GetModuleFileNameA
handles 16-bit tasks.
2002-07-05 01:28:10 +00:00
Alexandre Julliard 83886f23fa Fixed GetModuleFileNameW return value.
Quiet dll loading error message.
2002-07-05 01:27:19 +00:00
Joshua Thielen 1cef2974ab Changed GetModuleFileNameA to use GetCurrentTask instead of
MODULE32_LookupHMODULE when called by a 16-bit task.
2002-07-05 00:16:41 +00:00
Alexandre Julliard 958732d21c Fixed warnings. 2002-07-02 02:09:39 +00:00
Alexandre Julliard 69622dbdcc Added support for path wildcards of the form "*dllname" in load order
specifications.
Only use wildcard entry for dlls that don't specify an explicit path.
Removed the old DllOverrides syntax support.
Misc cleanups and optimizations.
2002-06-25 00:23:23 +00:00
Alexandre Julliard bc524e92d2 Avoid loading programs into the DOS memory area. 2002-06-20 22:54:26 +00:00
Alexandre Julliard 2ad28d62d7 Don't go through the export table if we are not tracing anything. 2002-06-13 21:54:12 +00:00
Alexandre Julliard 221b438287 Don't free the stack selector, it's freed in ExitThread anyway (thanks
to Christian Costa).
2002-06-04 17:55:48 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard 55e845d11b Removed most inclusions of options.h.
Removed a few no longer used PROFILE_* functions.
2002-05-23 19:40:18 +00:00
Alexandre Julliard 7fbd74ea55 Replaced the GET/PUT_UA macros by memcpy. Fixed a few big-endian
issues.
2002-05-23 02:53:10 +00:00
Alexandre Julliard 3536316a31 New loading scheme for Winelib apps, makes them behave like builtin
dlls and takes load order into account. Install them in dlldir.
Improved MODULE_GetBinaryType to recognize ELF binaries.
Added a wrapper script to setup the environment when running directly
from inside the source tree.
2002-05-22 21:32:49 +00:00
Francois Gouget 2204b50a95 Fixed the WinExec prototype. 2002-05-19 22:21:45 +00:00
Alexandre Julliard 0aa28b5b8d Export the debugging API from libwine instead of ntdll.
Removed debugres_[aw].
2002-05-17 02:55:48 +00:00
Alexandre Julliard 9bb05fc48e Specify the complete source file list for a dll inside the main
makefile and get rid of the subdirectories makefiles.
2002-05-14 18:36:54 +00:00
Andreas Mohr 01c8ec3a9c Spelling/error messages fixes. 2002-04-02 19:47:30 +00:00
Eric Pouech cb934a116a Removed a couple of now obsolete FIXMEs. 2002-04-01 21:03:30 +00:00
Alexandre Julliard c4912ecd5f Don't strip out .exe extension. 2002-03-28 22:06:56 +00:00
Alexandre Julliard 6db8abaf93 Removed service thread support. 2002-03-23 20:46:41 +00:00
Alexandre Julliard 55ce53d5d7 Properly handle loadorder specifications containing a .dll extension. 2002-03-22 01:01:09 +00:00
Alexandre Julliard aeb566052f Correctly fill parent pid, module size and module name in process and
module snapshots. Based on patches by Eric Pouech and Andreas Mohr.
2002-03-22 00:21:23 +00:00
Alexandre Julliard 0799c1a780 Added LGPL standard comment, and copyright notices where necessary.
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Peter Hunnisett 73ab649ced New file msvcrt/excpt.h. Move some stuff out of winnt.h into it. 2002-02-25 20:10:35 +00:00
Patrik Stridvall 57e5784c21 Move __stdcall/__cdecl to the right place. 2002-02-02 18:42:11 +00:00
Alexandre Julliard 64781643dd Do not use the PEB lock as loader lock, use a separate critical
section for that (and for the graphics drivers).
2002-02-02 18:13:50 +00:00
Alexandre Julliard cd3afa895b LOAD_LIBRARY_AS_DATAFILE modules must be mapped like normal files, not
like PE images. Fixed resource loading to handle that.
2002-01-31 23:32:57 +00:00
Bill Medland ca5b201310 Prevent trying to handle uninitialised memory as a string. 2002-01-18 18:58:08 +00:00
Alexandre Julliard 7c822cc0dc Removed obsolete dosmod. 2002-01-06 18:38:45 +00:00
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Alexandre Julliard d7b76822ef Use MapLS/UnMapLS instead of SEGPTR_* macros. 2001-12-20 00:19:40 +00:00
Alexandre Julliard 9fcd89a5d8 Removed unnecessary includes. 2001-12-17 22:12:23 +00:00
Alexandre Julliard 8eeed94f5f Export DestroyIcon32 from user32 and use GetProcAddress to call it
from FreeResource16.
2001-12-17 21:40:56 +00:00
Andrew Lewycky ffc9df2d0c do_relocations: process relocation blocks with a VirtualAddress of 0,
stop once SizeOfBlock == 0.
2001-11-30 23:08:02 +00:00
Alexandre Julliard 9caa71eef4 Redesign of the server communication protocol to allow arbitrary sized
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Eric Pouech 0b83d4cbc6 New console code based on Win32 windows. 2001-11-23 23:04:58 +00:00
Dmitry Timoshkov 6b6596a1e3 Fixed packing and layout of many system structures. 2001-11-23 18:44:43 +00:00
Francois Gouget 070e749cfb Don't prefix %p with 0x.
Various English fixes.
2001-11-06 21:01:32 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Alexandre Julliard ac2e4f1e3d Don't keep main exe and dlls handles open when the file is on
removable media.
2001-10-25 19:52:12 +00:00
Francois Gouget 386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Francois Gouget e5ddd26dd7 When including config.h, include it first. 2001-10-14 16:18:52 +00:00
Francois Gouget b60c4ce0f0 Don't print NULL strings (crashes on Solaris).
Small code maintainability tweak in ShellExecuteExA.
Two typo fixes in winmm.
2001-10-14 16:15:05 +00:00
Andreas Mohr f359895daf Yet another documentation/message text patch. 2001-10-02 17:49:20 +00:00
Francois Gouget 9dc5b97b35 Only use winsock2.h in Wine. 2001-08-28 18:39:03 +00:00
Bill Medland 65fc1c92d4 Added LOAD_WITH_ALTERED_SEARCH_PATH support to LoadLibraryEx. 2001-08-24 21:13:02 +00:00
Josh Thielen 378fc22b4a Wrong handle was being closed. 2001-08-11 18:24:01 +00:00
Jörg Mayer e5b5af9d66 Fixed a few signed/unsigned and "unsigned < 0 always true" warnings. 2001-08-10 22:49:35 +00:00
Eric Pouech 624cbd7c47 Fixes for Solaris X86. 2001-08-10 22:29:21 +00:00
Andreas Mohr da920ee9b9 Spelling fixes. 2001-08-09 21:16:55 +00:00
Alexandre Julliard 7c4b14031e Fixed HTASK/HTASK16 handle mismatch. 2001-07-30 19:01:01 +00:00
Patrik Stridvall 2344798c46 Fixed some warnings. 2001-07-26 21:44:44 +00:00
Alexandre Julliard 5edf4e1cef Removed a few unnecessary Callouts. 2001-07-26 20:12:54 +00:00
Alexandre Julliard 1922c72b8a Removed unnecessary inclusion of heap.h. 2001-07-25 00:43:29 +00:00
Alexandre Julliard 5f728cae70 Removed HEAP_strdupA. 2001-07-24 21:45:22 +00:00
Alexandre Julliard f899ef07a6 Removed some unnecessary includes. 2001-07-23 00:04:00 +00:00
Alexandre Julliard 37e9503ae8 Moved server.h to include/wine. 2001-07-19 00:39:09 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Alexandre Julliard ca4fa36584 Don't call SNOOP_RegisterDLL on builtins. 2001-07-12 02:46:55 +00:00