Commit Graph

636 Commits

Author SHA1 Message Date
Ulrich Weigand 4fd8cc37e2 Implemented PE_UnloadLibrary(). 1999-12-10 03:31:25 +00:00
Dimitrie O. Paun dd03cc19fd Make use of the DEFAULT_DEBUG_CHANNEL where appropriate.
Use the default version of FIXME, ERR, WARN, TRACE for the default
channel.
1999-12-08 03:56:23 +00:00
Ulrich Weigand 0106f85e5f Delay sending debug events until process initialization is complete. 1999-12-08 03:28:14 +00:00
Andreas Mohr a2da86898a Added .rc file support for Win16 NE modules.
Moved display.c and mouse.c to separate dll directories.
1999-12-06 01:20:00 +00:00
Eric Pouech fe08849938 Added typedef to insure compilation on all gcc&egcs versions. 1999-12-05 23:04:00 +00:00
Ulrich Weigand 2149934a2d Bugfix: Call DllEntryPoint for *every* process that loads the DLL, not
just for the first one.
Bypass 32->16->32 transition when calling DllEntryPoint of built-in.
1999-12-05 02:50:38 +00:00
Ulrich Weigand 979000e038 Call 16-bit instead of 32-bit UserSignalProc entry point.
Don't load USER32.DLL unless requested by the program.
Bugfix: Pass the correct thread ID to UserSignalProc.
1999-12-05 02:48:53 +00:00
Eric Pouech cd841a4a86 Fixed crash when map fails. 1999-12-05 02:45:52 +00:00
Sergei Turchanov d14aea2c64 Fix for GetBinaryType to return SCS_DOS_BINARY if extended signature
is unknown.
1999-12-04 04:17:37 +00:00
Ulrich Weigand 237e8e95b0 Fixed 32-bit module name handling to conform better to Win9x.
Removed OFSTRUCT passing during process creation sequence.
Bugfix: don't set exe_modref when LOAD_LIBRARY_AS_DATAFILE is set.
1999-12-04 04:04:58 +00:00
Niels Kristian Bech Jensen 1d5bc469cc Removed extra #include statements. 1999-11-21 02:14:36 +00:00
Ulrich Weigand 61206bd8a0 Simplified hInstance creation/handling.
Fixes problems with self-loaders creating DGROUP themselves.
1999-11-21 00:50:30 +00:00
Ulrich Weigand eb94c7d2c4 Adapted to new register function handling. 1999-11-13 23:54:04 +00:00
Alexandre Julliard ec7bb2391d Added support for CREATE_SUSPENDED flag in CreateProcess. 1999-11-12 03:35:25 +00:00
Ulrich Weigand d024d5e942 Bugfix: LOAD_DLL_DEBUG_EVENT lpImageName parameter was incorrect. 1999-11-10 20:15:04 +00:00
Ulrich Weigand e7957d6b48 Determine expected_version of PE buddies from the SubsystemVersion. 1999-11-10 19:45:56 +00:00
Marcus Meissner 38eae846bb Fixed the relocation hack in PE_InitTls. Added some more for the other
pointerfields in the TLS entry. (With testing help from Jussi
Jumppanen <jussij@zeusedit.com>).
1999-11-07 22:29:18 +00:00
Francois Gouget edf3e434b0 Added ICMP DLL implementation. 1999-11-07 21:22:17 +00:00
Alexandre Julliard e582158788 Fixed -debugmsg +server. 1999-11-04 02:51:24 +00:00
Eric Pouech abe722778f Added built-in msacm.drv and midimap.drv drivers. 1999-10-31 02:23:49 +00:00
Patrik Stridvall 96336324cf - Added missing configuration #if:s and #includes:s.
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Uwe Bonnes 6111ee6186 Return the size of the needed resource when buffer is NULL for LoadString(). 1999-10-24 20:39:21 +00:00
Uwe Bonnes f959be9c97 Ignore wrong hInstance. 1999-10-23 19:47:55 +00:00
Jim Aston 031f4faaff Fixed compiling with STRICT. 1999-10-23 19:00:02 +00:00
Ove Kaaven f45608f639 Winsock rewrite. Sockets are now proper win32 handles.
Internal structures are now really internal.
1999-10-23 16:53:34 +00:00
Ulrich Weigand c715dea0b2 Bugfix: don't use GetModuleHandle16 in LoadModule16/NE_CreateProcess. 1999-10-23 14:21:00 +00:00
Ulrich Weigand 8a64b83eb6 Bugfix: don't call ExitProcess() before SYSLEVEL_Init(). 1999-10-23 14:15:33 +00:00
Eric Pouech 448b34a088 Correct filename for kernel module is KRNL386.EXE. 1999-10-13 16:02:40 +00:00
Alexandre Julliard 8c81b7439d Authors: Chris Morgan <cmorgan@wpi.edu>, James Abbatiello <abbeyj@wpi.edu>
Removes extraneous comparison of data pointed to by the relocation
offset when no relocation entries exist.
1999-10-13 15:47:38 +00:00
Marcus Meissner 142d94e5b0 WPROCS.ENTRYADDRPROC needs to return something in CX too (fixes
BLINKER selfextracting executables).
1999-10-13 15:46:10 +00:00
Marcus Meissner a19862fc47 Small hack to check if we need to relocate the TLS directory or not
(some seem to need this pointer relocateable, some already do relocate
it by themselves).
1999-10-13 13:46:24 +00:00
Ulrich Weigand 8c32184814 Bugfix: *Don't* resolve PE imports if asked not to ... 1999-10-13 12:22:47 +00:00
Ulrich Weigand 2a343853ad Bugfix: When loading an executable module fails, don't perform module
cleanup before the corresponding task is destroyed.
1999-10-13 12:21:06 +00:00
Ulrich Weigand 79077f3253 Bugfix: Don't call GetVersionExA too early, to avoid breaking
automatic emulated Windows version detection.
1999-09-29 12:16:16 +00:00
Uwe Bonnes 20f7ef7355 Remember the allocated string to free it. 1999-09-28 13:08:36 +00:00
Ulrich Czekalla e91d976e17 Fix integer based resource id assumption.
Add support for string based type ids.
1999-09-27 13:31:47 +00:00
Alexandre Julliard 3d06d20bab Moved all signal support to a new platform-specific file.
Make use of the per-thread signal stack (Juergen Lock).
Fixed %fs in signal handler for non FS_sig case (Ulrich Weigand).
1999-09-27 10:58:45 +00:00
Alexandre Julliard 94822425f0 Fixed memory allocation bug. 1999-09-22 15:18:52 +00:00
Ulrich Weigand c44ab1f0fd Don't create thunk for task signal proc, call it directly. 1999-09-20 18:48:29 +00:00
Ulrich Weigand f52e109dea Set 'expected_version' of built-in and dummy modules according to
emulated Windows version.
1999-09-20 15:37:25 +00:00
Ulrich Weigand 3967b0912e Make CallTo16 return stub segment owned by KERNEL. 1999-09-20 15:33:01 +00:00
Ulrich Weigand a2d5bb393a Bugfix: Improved GetCodeHandle16 / GetCodeInfo16. 1999-09-20 15:30:27 +00:00
Alexandre Julliard 891305b980 Removed __winelib flag. 1999-09-05 16:48:16 +00:00
Pierre Mageau 4ac8db783d Changed CopyImage to accept desiredX, desiredY and LR_COPYFROMRESOURCE.
CURSORICON_FindBestIcon changed to find the correct icon.
ImageList_ReplaceIcon now calls CopyImage internally.
Assign a value for the hIconSm CLASS member (using CopyImage).
1999-09-04 11:16:48 +00:00
Huw D M Davies 8bd7585311 winspool -> winspool.drv 1999-09-04 11:05:41 +00:00
Eric Pouech c672c00f8b Do not remove .drv from filenames. 1999-09-03 12:36:20 +00:00
Ulrich Weigand c3d9f28172 Moved implementation of WOW routines to single file.
Added all missing WOW routines, fixed WOWCallback16Ex.
1999-08-18 18:31:26 +00:00
Ulrich Weigand 3df3e5372f Bugfix: restore STACK16FRAME fields in SwitchStackBack16. 1999-08-18 18:24:08 +00:00
Juergen Schmied 1e5f0fea9f New internal dll, exporting already existing path functions. 1999-08-15 17:03:37 +00:00
Michael Karcher a21fe34596 Make sure we have a dgroup before patching prologs. 1999-08-15 14:16:42 +00:00
Ulrich Weigand c50a1d05de Adapted to new-style Wine thunks.
Removed some now unnecessary function pointers.
1999-08-15 12:45:01 +00:00
Alexandre Julliard 89f079bfd1 Replaced a few calls to lstr* functions by their CRTDLL or libc
equivalent.
1999-08-08 18:54:47 +00:00
Alexandre Julliard 15de615276 Got rid of dsprintf and related macros. 1999-08-04 12:22:42 +00:00
Alexandre Julliard 7d8cfeb95c Removed IP_reg, SP_reg and FL_reg definitions to avoid potential
aliasing optimization problems.
1999-08-01 14:58:01 +00:00
Alexandre Julliard bdf83bc546 Removed SIGNAL_MaskAsyncEvents and cleaned up signal handling. 1999-08-01 14:54:16 +00:00
Alexandre Julliard a1089c59b9 Made stack manipulation macros into inline functions.
Changed a few accesses to context registers to avoid potential
aliasing optimization problems.
1999-08-01 12:51:55 +00:00
Alexandre Julliard b375678277 Changed INSTR_EmulateInstruction to use a CONTEXT86 instead of a
SIGCONTEXT.
1999-08-01 12:15:12 +00:00
Ulrich Weigand 081daf7d21 Implemented KERNEL.447 (WIN32_OldYield16). 1999-07-31 17:27:38 +00:00
Andreas Mohr 5a08a0288a Fixed the DSEG value in the SEGTABLEENTRY struct. 1999-07-31 13:11:22 +00:00
Huw D M Davies 5fce6fb707 Strip .drv extensions to MODULE_GetLoadOrder. 1999-07-30 18:06:35 +00:00
Ulrich Weigand 4d550350f3 Bugfix: Install task-entry breakpoint *after* EXE module is initialized. 1999-07-30 18:05:07 +00:00
Ulrich Weigand 53477e49c5 GetModuleHandle16: treat Win32 modules correctly. 1999-07-30 17:55:44 +00:00
Ulrich Weigand d0e15a6b72 Work around 'local extern declaration with attribute' gcc bug. 1999-07-25 11:22:20 +00:00
Ulrich Weigand 2f4bd6617f Unify startup sequence for Wine and WineLib. 1999-07-24 12:20:24 +00:00
Ulrich Weigand 8dbffe70fb Removed MODULE_GetWndProcEntry16().
Use 32-bit window procedures in COMMDLG instead.
1999-07-24 10:27:58 +00:00
Eric Pouech 1564a6ded8 Work around gcc sig11 fault. 1999-07-18 18:38:40 +00:00
Uwe Bonnes e5266e8a44 Add WINAPI for EntryAddrProc. 1999-07-15 16:09:05 +00:00
Ulrich Weigand 5e59b1a5b4 Added support for 32-bit NE code segments. 1999-07-15 14:31:44 +00:00
Eric Pouech 5d04f652f6 Compiler warnings fix. 1999-07-12 13:41:20 +00:00
Ulrich Weigand cfa977d9da Fixed bugs introduced by 'register' and 'return' function changes. 1999-07-12 13:39:10 +00:00
Alexandre Julliard 4220b29be9 Take advantage of the new registers saved in the STACK16FRAME to turn
some 'register' functions into normal functions.
Removed the few remaining 'return' functions to simplify relay
handling.
1999-07-11 17:20:01 +00:00
Marcus Meissner e32a317b76 Removed the old, historical and no longer working IPC support. 1999-07-11 14:13:56 +00:00
Howard Abrams 132774804e Added checks for sys/errno.h, sys/signal.h and sys/mman.h. 1999-07-10 13:16:29 +00:00
Ulrich Weigand 7b81ed4a3c Improved behaviour of GetModuleHandle16 w.r.t dummy modules.
Don't try to call WEP of dummy modules in FreeLibrary16().
1999-07-10 11:42:30 +00:00
Ulrich Weigand a3afeef325 Fix InitTask() to work if DGROUP was manually resized. 1999-07-10 10:18:26 +00:00
Marcus Meissner 79a3f80008 Made string compare case insensitive in GetModuleHandle16() as a
quick fix for WinWord 6.
1999-07-10 10:12:43 +00:00
Joshua Thielen a49bb2661d Fixed DestroyAcceleratorTable and implemented CreateAcceleratorTableW. 1999-07-04 12:55:10 +00:00
Marcus Meissner 423813e30c When enumerating resource, only use the lower 31 bit of the name as
the offset (for the highest bit is '1'). Should fix wine-net/257.
1999-07-04 12:44:29 +00:00
Marcus Meissner 623c0d6f94 some small include fixes, some checks for NULL ptrs,
loader/elf.c: fixed the "lib" insertion
crtdll: added fsopen()
dinput: return that we are attached.
1999-07-03 16:01:42 +00:00
Ulrich Weigand 3c717e437c Bugfix: TASK_CallToStart didn't pass correct hInstance to app. 1999-07-03 15:36:45 +00:00
Ulrich Weigand fbea530884 On NE process creation, move major part of NE EXE module loading and
NE instance creation into the child process.
1999-07-03 12:26:29 +00:00
Alexandre Julliard 617955db88 Changed CONTEXT into CONTEXT86 everywhere we really want an i386
context.
Added #ifdef __i386__ around accesses to 386 registers in the generic
CONTEXT structure.
1999-06-26 18:40:24 +00:00
Patrik Stridvall 1ed4ecffa8 ANSI C fixes.
Removed warnings.
Made the include files self-sufficient.
Some Solaris fixes.
1999-06-26 14:58:24 +00:00
Dave Pickles fec232930b Ensure that the command-line passed to the various *CreateProcess
functions contains the path to the program being invoked.
1999-06-26 11:48:26 +00:00
Uwe Bonnes f1e1c3994c NE_LoadFileModule: Free module when NE_LoadDLLs fails. 1999-06-26 10:19:14 +00:00
Alexandre Julliard ebe29ef376 Further server optimizations:
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard 0a860a01f9 Merged THDB and TEB structures.
Made SetLastError(), GetCurrentThreadId() and PROCESS_Current() inline.
1999-06-22 11:43:42 +00:00
Alexandre Julliard 94eedf1df0 Use exceptions instead of ctx_debug_call. 1999-06-18 18:25:59 +00:00
Alexandre Julliard 1eeed68514 Moved signal handling to exception.c, generate exceptions on signals.
Added hook for debugger in exception handling (temporary).
1999-06-18 18:21:24 +00:00
Ulrich Weigand 5d617e5002 Fix compiler warning. 1999-06-18 16:59:37 +00:00
Marcus Meissner 1ab8907fce Fixed ambigous else/brace problem, moved "name" computation in
CreateProcess _before_ outputting it in the FIXME_()s.
1999-06-13 08:39:04 +00:00
Ulrich Weigand 23f4b09cc3 Removed broken hack to support shared DLLs (e.g. USER32.DLL) and
replaced it by a somewhat less broken hack :-/
1999-06-13 08:34:42 +00:00
Alexandre Julliard a099a555c3 Converted to the new debug interface, using script written by Patrik
Stridvall.
1999-06-12 15:45:58 +00:00
Patrik Stridvall fdcfdb9a6d Added missing/wrong includes. 1999-06-12 14:55:11 +00:00
Patrik Stridvall 4bf335497d Removed direct references to CLASS internals. 1999-06-12 14:52:15 +00:00
Guy Albertelli 0e65b38ff3 Add new "walk" command options to list processes and modref's. 1999-06-12 10:49:36 +00:00
Eric Pouech 63c7cdf196 Made the service thread instanciable in every process. 1999-06-12 08:24:23 +00:00
Ove Kaaven e78e1af43e Various DPMI fixes and preliminary DPMI raw mode switch handler. 1999-06-12 08:09:52 +00:00
Ulrich Weigand 85bcb2e152 Release Win16Lock during PROCESS_Create. 1999-06-12 06:41:16 +00:00
Marcus Meissner 905884dcdd Trying to fix sigaltstack() problem reported by Debian users.
SIGTRAP might be undefined (beos).
1999-06-07 17:43:47 +00:00
Ulrich Weigand d523e4dbe6 Consult ne.operating_system field for NE files in GetBinaryType(). 1999-06-07 17:37:43 +00:00
Ulrich Weigand ed49003188 16-bit scheduler reorganized: run all tasks in their own thread.
Process creation sequence adapted to new scheduler.
1999-06-06 14:47:50 +00:00
Ulrich Weigand ad6657e334 Removed SERVICE_Exit(). 1999-06-06 14:43:34 +00:00
Guy Albertelli 38d7da8d52 Use SearchPath to test for existance of programs in lpCmdLine
processing. For lpApplName do not append ".exe" and use
DOSFS_GetFullName to locate the program. Move module find process
after flag testing and provide quick exit if not found.
1999-06-06 09:04:29 +00:00
Alexandre Julliard 54a39e253c Got rid of THREAD_InitDone.
Made THREAD_Current() inline.
Moved server tid into TEB.
1999-05-29 14:27:26 +00:00
Gerald Pfeifer 61e18d463d Fixed compilation erros on non-Linux systems. 1999-05-29 10:54:25 +00:00
Alexandre Julliard bda3969d98 Removed process argument to PROCESS_CallUserSignalProc. 1999-05-24 15:01:05 +00:00
Ulrich Weigand 89fc6fda97 Moved WINSOCK network IO event handling to special thread.
Removed EVENT_WaitNetEvent, introduced a global scheduler event.
1999-05-24 08:13:02 +00:00
Alexandre Julliard d131a17ee0 Use the new debug functions to send debug events at appropriate places.
Pass the process creation flags to PROCESS_Create.
1999-05-23 20:02:04 +00:00
Ulrich Weigand 4698dc5677 Added UserRepaintDisable16(). 1999-05-22 19:02:04 +00:00
Ulrich Weigand 8c2dc8b1b8 Adapted to event synchronization changes. 1999-05-22 18:58:36 +00:00
Ove Kaaven 6ba5914005 Fixed silly EINTR bug with starting dosmod. 1999-05-22 18:48:09 +00:00
Ulrich Weigand c319c669fb Added ExitKernel16 (replacing USER_ExitWindows), ExitProcess16, and
MapProcessHandle; stub for BUNNY_351.
1999-05-22 16:18:36 +00:00
Bertho Stultiens d88e7661e0 Bugfix: Prevent null-pointer dereference in TRACE argument list in
RES_FindResource
1999-05-22 11:26:33 +00:00
Bertho Stultiens 8b36b6317b Fixed wrong NE module registration so that resources work. 1999-05-22 11:25:24 +00:00
Ulrich Weigand 6315a7f334 Fix swapped FreeLibary return values. Handle FreeLibrary( 0 ) better.
Fix DLL_PROCESS_DETACH call sequence bugs resulting from nested
FreeLibrary calls.
1999-05-22 10:44:39 +00:00
Ove Kaaven e54d4d15c4 Added MZ_Current() (returns current LPDOSTASK) and DOSVM_Wait()
(DOSVM idle message loop), and fields hConInput and hConOutput.
1999-05-22 10:40:15 +00:00
Marcus Meissner 2b898806ec glide2x loadorder is "so,native". 1999-05-17 16:06:42 +00:00
Ulrich Weigand fdd6429632 Release Win16Lock when calling LoadLibrary32 from 16-bit code. 1999-05-17 15:00:13 +00:00
Alexandre Julliard 0a277b638c Adapted for new register functions support (ESP_reg in register
functions now points after the arguments).
1999-05-13 16:21:37 +00:00
Alexandre Julliard b6ecb9a2ab Changed some error handling a bit. 1999-05-12 10:15:41 +00:00
Alexandre Julliard 4cd0776938 Use OpenFile() to test for file existence, so that the path gets
searched.
1999-05-09 16:05:08 +00:00
Uwe Bonnes f445ba78ab Fixed extension handling in LoadLibrary16. 1999-05-08 18:21:05 +00:00
Patrik Stridvall 896889f317 ANSI C fixes. 1999-05-08 12:50:36 +00:00
Ulrich Czekalla 6e709a1ed0 Bugfix: get_sobasename was off by one pointer increment. 1999-05-08 12:37:34 +00:00
Ulrich Weigand e9caf93bbb Removed TIMER_SwitchQueue. 1999-05-08 10:47:23 +00:00
Marcus Meissner 013d08805a Stop winelib programs on fault instead of endless faultlooping. 1999-05-08 10:44:43 +00:00
Ulrich Weigand 1c971e3364 Some initialization sequence bugfixes:
- Initialize process crst for 16-bit processes.
- Don't crash due to uninitialized stack frames in WineLib.
- Map system DLLs before calling UserSignalProc.
- Signal USIG_PROCESS_CREATE only *after* the env_db is filled.
1999-05-08 09:58:47 +00:00
Ulrich Weigand b613a105b6 Bugfix: all PE modules were marked 'internal'. 1999-05-08 09:51:47 +00:00
Ulrich Weigand ef61c0b632 Initialize WIN_CritSection earlier. 1999-05-08 09:45:50 +00:00
Ulrich Weigand 70b2e383a0 Fixed various stupid bugs in services thread routines.
Added SERVICE_Exit routine to kill the services thread.
1999-05-04 16:43:38 +00:00
Ulrich Weigand 6ce4006137 Bugfix: release Win16Lock in WinExec16, CallProc[Ex]32W_16. 1999-05-03 09:22:55 +00:00
Ulrich Weigand b8fa2962e5 Load system DLLs into WineLib applications. 1999-05-03 09:22:05 +00:00
Alexandre Julliard 481a8e263c Bug fixes. 1999-05-03 08:58:25 +00:00
Alexandre Julliard 1c4c409f04 Don't initialise the stacks for 32-bit processes. 1999-05-02 19:10:04 +00:00
Alexandre Julliard e8c6a08cd9 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
Some changes to the initialisation sequence for 32-bit processes.
1999-05-02 14:33:41 +00:00
Alexandre Julliard 06c275a643 Converted to the new debugging interface (done with the help of the
script written by Patrik Stridvall).
1999-05-02 14:32:27 +00:00
Eric Pouech 281c927317 - got rid of all the internal MM tweaks to load builtin MCI
drivers. They are all seen as drivers, loaded as DLLs and standard
  module loadorder is used to know which type to use (builtin vs
  native).
- first full working implementation of mmThread??? functions (to
  support gracefully native MCI drivers).
- support of mmShowMMCPLPropertySheet.
- fix of some heap validate bugs (thanks to Ulrich for reporting them).
1999-05-02 10:21:49 +00:00
Guy Albertelli 4f6d7f38dc Fix CreateProcessA to implement correct actions on ambiguous command
line names (try longer and longer strings).
1999-05-02 10:17:31 +00:00
Bertho Stultiens 014855850e Only try to append ".dll" if a library is loaded implicitely. 1999-05-02 09:21:31 +00:00
Bertho Stultiens 7168070b01 The load order parser should not always complain about extensions. 1999-04-26 14:55:24 +00:00
Eric Pouech abd79ddda4 Fixed loading of native NE dlls. 1999-04-26 14:53:32 +00:00
Bertho Stultiens d1895a776c Built-in dlls now have resources attached via the PE-header like
normal dlls. This enables the use of the resource API.
1999-04-25 18:31:35 +00:00
Patrik Stridvall c7a8dde118 #pragma pack(?) changed to #include "*pack*.h" 1999-04-25 12:36:53 +00:00
Eric Pouech 658191ee00 wine.conf should not overrule content of burned in data in
loadorder.c.
1999-04-25 12:23:26 +00:00
Marcus Meissner 333d1e2f8e debug.h must be last in list of includes. 1999-04-25 11:03:11 +00:00
Ulrich Weigand 287f1f0eab Return 32-bit module in GetModuleHandle16() if appropriate. 1999-04-25 11:02:33 +00:00
Marcus Meissner a739a69c41 Use DllOverrides from wine.ini as defaults also in
loadorder.c (merged in some MM dlls lines from Eric Poeuch).
1999-04-25 09:15:25 +00:00
Marcus Meissner f070fda20d autoconf fixes and cleanups (check for dlopen() in libc too). 1999-04-24 12:02:14 +00:00
Gerald Pfeifer 8102f7487d #else branch compile fix. 1999-04-22 09:15:31 +00:00
Bertho Stultiens 3b5c29f539 Change wine's dlopen search-patch strategy not using the environment
and added #if:s to seperate the code out if libdl isn't availble.
1999-04-22 09:13:38 +00:00
Bertho Stultiens f4b6e82b84 Do not increment module refCount if self is loaded from within
DllEntryPoint during the attach notification.
1999-04-22 08:56:40 +00:00
Bertho Stultiens 964e0460f4 Reimplementation of GetModuleHandle16 according to how win95 handles
it (thanks to Marcus Meissner <marcus@jet.franken.de>).
1999-04-21 14:26:17 +00:00
Bertho Stultiens 94bb5bb1a7 Removed non-portable hacks and replaced them with more general
versions.
1999-04-19 16:44:22 +00:00
Bertho Stultiens af5745f504 Attach notifications must be send after all recursive dependencies are
loaded and not before.
1999-04-19 16:32:31 +00:00
Patrik Stridvall b4b9fae671 New debug scheme with explicit debug channels declaration. 1999-04-19 14:56:29 +00:00
Alexandre Julliard 3c9cf42d00 Removed extra call to TASK_StartTask. 1999-04-18 14:44:26 +00:00
Eric Pouech 85aac70064 Fixed memory freeing. 1999-04-18 13:31:34 +00:00
Alexandre Julliard db000ee3e8 Fixed toolhelp routines usage in GetModuleFromPath (reported by Bertho
Stultiens).
1999-04-18 13:18:42 +00:00
Bertho Stultiens c1d1cfe976 Reorganization of the loader to correctly load and free libraries and
implementation of load order to load different types of libraries.
1999-04-18 12:14:06 +00:00
Bertho Stultiens cebb2f1157 New files to support load order and partial stubs for elfdlls. 1999-04-18 12:09:21 +00:00
Kevin Holbrook a8f8bef098 Fix ambiguous else warning. 1999-04-18 09:33:20 +00:00
Marcus Meissner d8a8b00ae0 Disable AC bit on receiving alignment exceptions. 1999-04-18 09:22:12 +00:00
Andreas Mohr dca5e56b90 - Implemented proper ("real", compressed) Win16 entry tables.
- Fixed MyAlloc (AKA NE_AllocateSegment).
- Implemented PatchCodeHandle16.
1999-04-16 08:17:17 +00:00
Marcus Meissner f31ec0b08a FreeBSD 3 multithreading final fix. Do not use libc_r, libc is just as
reentrant concerning errno. Revert unneeded FreeBSD hack to
loader/signal.c from last patch.
1999-04-15 16:38:38 +00:00
Ulrich Weigand d1e2239ff0 Bugfix: Always release the Win16Lock in TASK_Reschedule. 1999-04-15 15:30:33 +00:00
Marcus Meissner c26063818f - Started multithreading for FreeBSD (incomplete, but some
applications now at least start up again).
- Use _thread_sys_sigaction/_thread_sys_sigaltstack.
- CR2 on pagefault gets passed in sc_err (some kind of kludge in
  FreeBSD owns fault handling we can use)
1999-04-11 15:20:29 +00:00
Ulrich Weigand 7761cbe0b6 Implemented 'kernel services thread'. 1999-04-11 15:01:20 +00:00
Bertho Stultiens 1b34697ad3 FreeLibrary partial implementation. 1999-04-11 14:52:24 +00:00
Ulrich Weigand 2e658768dc Send USIG_PROCESS_CREATE signal.
Bugfix: GetProcessDword offset -8 should return parent process ID.
1999-04-11 12:06:04 +00:00
Bertho Stultiens c6ba86377e GetModuleFromPath now checks for loaded modules via filenames which
were specified without a path.
1999-04-10 16:47:47 +00:00
Marcus Meissner 574ef76b9f Added some SetLastError()s in GetProcAddress() and LoadLibrary(). 1999-04-03 16:23:47 +00:00
Ove Kaaven 240bdacb8d Made DOSVM_GetTimer survive EAGAIN errors... 1999-04-01 11:53:52 +00:00
Ulrich Weigand e392a0c975 Added USER32.UserSignalProc to Callout table.
Implemented built-in UserSignalProc().
Don't announce Win3.1-style USER handler any more.
1999-04-01 11:44:52 +00:00
Ulrich Weigand 8139c30125 Implemented PROCESS_CallUserSignalProc().
Send USER signals at various appropriate places.
Moved [GS]etProcessDword() to scheduler/process.c.
1999-04-01 11:43:05 +00:00
Marcus Meissner 9c6735e6a2 "foo" was not translated to "foo.so" in elf loader. 1999-04-01 10:09:46 +00:00
Ulrich Weigand 6903156eb5 Allow NULL NE resource handler; call the default handler directly.
Removed WPROCS / Callbacks support for WineLib resource handlers.
1999-04-01 10:08:21 +00:00
Jess Haas 1ff60f3451 Fixed CreateProcessA so it can handle commandlines with arguments and
no .exe.
1999-03-28 15:00:44 +00:00
Jess Haas 0f6efae8bf Fixed GetModuleHandle16. 1999-03-28 14:57:37 +00:00
Marcus Meissner d208d8264a Empty DOSVM_QueueEvent for !MZ_SUPPORTED. 1999-03-28 12:34:25 +00:00
Ulrich Weigand e469a583ca Fixed sequence of DLL_PROCESS_DETACH notification calls.
Moved PE_MODREF flags to WINE_MODREF level.
Better handling of LoadLibraryEx flags.
PE_InitTls() changed to work only on the current thread.
1999-03-27 16:45:57 +00:00
Ulrich Weigand da5779e5bd Allow UserYield16 to be called from 32-bit thread. 1999-03-27 16:10:52 +00:00
Stephane Lussier 35ffc5d8c0 Made the timer code thread safe. 1999-03-25 13:23:26 +00:00
Ove Kaaven 5394258a90 Added infrastructure and definitions for general-purpose event and IRQ
handling for the Wine dos box. Removed the obsolete MZ_Tick. Added
event message loop, message handling, CLI/STI handling, and minimal
PIC support.
1999-03-25 10:53:08 +00:00
Ove Kaaven 9ea09ca866 Added handling of SIGUSR2 for the new event interruption handling,
bumping up the protocol revision. Made some debug messages not be
output when it's not necessary.
1999-03-25 10:52:03 +00:00
Ulrich Weigand 0092390cd6 Bugfix: cope with quoted arguments for CreateProcess(). 1999-03-22 17:47:36 +00:00
Ulrich Weigand 919a8109aa Fixed typo in SizeofResource(). 1999-03-22 17:47:13 +00:00
Andreas Mohr ad2ffe5022 Cosmetics. 1999-03-22 14:52:46 +00:00
Sergey Turchanov 5ffd2df797 Implementation for FreeLibraryAndExitThread.
Made GetBinaryType = GetBinaryTypeA.
1999-03-22 12:35:48 +00:00
Ulrich Weigand 93b23d746d Run Win32 processes in their own threads.
Process exit sequence adapted.
1999-03-22 10:35:44 +00:00
Alexandre Julliard f016752b45 Changed process initialisation to use the new server requests.
Started to move the process init to the right context, not finished yet.
1999-03-21 19:26:25 +00:00
Andreas Mohr 3292030ada Fixed typo. 1999-03-21 08:51:51 +00:00
Marcus Meissner 6b9dd2e098 Lots of warning fixed, one missing WINAPI in ddraw.c added. 1999-03-18 17:39:57 +00:00
Ulrich Weigand 892627b12b Pass CreateProcess() SECURITY_ATTRIBUTES through to PROCESS_Create(). 1999-03-16 16:29:26 +00:00
Ulrich Weigand b211ec4c95 Fix compiler warnings. 1999-03-16 10:39:16 +00:00
Marcus Meissner 7f95bb7f75 Use MESSAGE_RESOURCE_* defines from SDK headers, updated LoadMessage*
code.
1999-03-15 15:13:14 +00:00
Jim Aston 2e1cafa288 Renamed wintypes.h to windef.h. 1999-03-14 16:35:05 +00:00
Theodore S. Hetke 5d1d777e69 Added tracing for delayed imports and removed the fixme. 1999-03-14 15:18:08 +00:00
Uwe Bonnes f59d2f6155 Make GetModuleHandle16 only look for module names, not path names. 1999-03-14 13:44:04 +00:00
Peter Ganten 4e5b11680f Fix CreateProcess to handle lpCommandline better. 1999-03-13 17:05:39 +00:00
Marcus Meissner 1a27fe6b1a Mask out the upper 12 bits from the resourceid, just like win95 does. 1999-03-13 12:49:31 +00:00
Ulrich Weigand 1442253dfa Deleted NE_FreePEResource(). 1999-03-10 14:04:39 +00:00
Ulrich Weigand 1b938b1817 Adapted to cursor/icon handling changes. 1999-03-10 14:03:06 +00:00
Ulrich Weigand 0511282627 Allow accessing both NE and PE resources with both 16- and 32-bit API.
Hook cursor/icon destruction into FreeResource (like Win95).
1999-03-10 14:02:06 +00:00
Ulrich Weigand aa23b0bd63 Bugfix: Allow lpCommandLine == NULL in CreateProcess(). 1999-03-10 13:28:54 +00:00
Juergen Schmied 3de25095ed Fix use of wrong prototype from ntdll.h. 1999-03-09 17:44:58 +00:00
Marcus Meissner de43ef45ec Fixed a lot of warnings using WINE_UNUSED, casts, commenting out and
additional {}. Rewrote GetCreationModeFromSTGM so we don't get
"possible use of uninitialized variable".
1999-02-28 19:56:59 +00:00
Andreas Mohr e518f4743c Added support for quoted file names in CreateProcess(). 1999-02-28 19:28:44 +00:00
Alexandre Julliard 96c08d817c Use server handles directly for Win32 handles. Removed use of K32OBJ. 1999-02-28 13:27:56 +00:00
David Luyer ee517e863e - fixed missing stdlib.h and string.h includes everywhere
- removed a couple of unneeded stdlib.h and stdio.h includes
1999-02-28 12:27:56 +00:00
Alexandre Julliard 8feb3bc177 Process and thread id now use the server-side id instead of an
obfuscated pointer.
1999-02-28 12:25:03 +00:00
Ulrich Weigand f6a9361942 Adapted to CreateProcess changes. 1999-02-28 11:19:10 +00:00
Ulrich Weigand fe14b6603d NE modules adapted to CreateProcess changes.
LoadModule16/LoadLibrary16 reorganization.
1999-02-28 11:17:03 +00:00
Ulrich Weigand 6e0d38603e Process creation sequence reorganized:
- Removed instance data segment for all but NE modules.
- Check binary type in CreateProcess before loading module.
- Unix process creation moved from WinExec to CreateProcess.
- Bugfix: fill in thdb->teb.htask16 member correctly.
1999-02-28 11:14:32 +00:00
Alexandre Julliard a396029270 Large-scale renaming of all Win32 functions and types to use the
standard Windows names.
1999-02-26 11:11:13 +00:00
Pavel Roskin 85f5304fa5 Made message "Resource not found" WARN. 1999-02-25 16:37:46 +00:00
Ulrich Weigand 1d90d69f08 Modified process creation sequence: call PE_CreateModule in the
context of the new process (in TASK_CallToStart).
Changed all PE/Module routines so as to always operate on the current
process; adapted all callers.
1999-02-24 14:27:07 +00:00
Marcus Meissner 219cfd8387 Optimized away more includes, readded some #includes for necessary
prototypes.
1999-02-24 13:05:13 +00:00
Michael Veksler 3fbb8dc829 - Fix headers to include less or smaller header files.
- Fix header and source files to include missing header files to avoid
  warnings and errors.
1999-02-21 18:23:26 +00:00
Marcus Meissner 4ede296356 Change "g" (general regs) into "r" (hardregs) in clone / modify_ldt /
wine_sigaction __PIC__ cases, since "g" will not work with
-fomit-frame-pointer ("g" is referenced using %esp which was
invalidated before). Bug found and (other) fix suggested by
<daniel@mat.utfsm.cl> Daniel Serpell.
1999-02-21 18:18:42 +00:00
Stephane Lussier b50272bd75 Fix problem where you need mouse activity to unlock some 16 bits
thread with multi-threaded apps.
1999-02-21 18:15:26 +00:00
Uwe Bonnes 688221460b Only append .dll if no extension yet. 1999-02-19 15:35:23 +00:00
Marcus Meissner 04c3e1d456 Removed a lot of occurences of windows.h (and added necessary other
includes).
1999-02-19 10:37:02 +00:00
Marcus Meissner 317af320cf Optimized include/*.h: (recursively) include all headers needed by
this .h file, but only those. Necessary fixes to a lot of .c files,
started optimizing "windows.h" away from some of them. Moved
GetCurrentTask prototype to wine/winbase16.h.
1999-02-17 13:51:06 +00:00
Joseph Pranevich ebc0e5e0a4 Moved initialization until later. Also moved around code a bit to be
consistant.
1999-02-14 11:15:47 +00:00
Marcus Meissner 9faa7d735a Moved the if1632/signal.c stuff into loader/signal.c, adapted function
pointers for wine_debug and INSTR_EmulateInstruction.
1999-02-13 17:55:17 +00:00
Alexandre Julliard 4b461128d6 Added input queue to server-side console object,
read/write_console_input requests, and use them for
Read/WriteConsoleInput.
1999-01-31 19:04:30 +00:00
Ulrich Weigand 6d76a209db Modify NE_FindTypeSection and NE_FindResourceFromType so as to be
usable by the VERSION code.
1999-01-31 10:13:44 +00:00
Ulrich Weigand 9a61495c8f Added GetResDirEntryA for use by the VERSION code. 1999-01-31 10:13:13 +00:00
Marcus Meissner 03479f8adb Fixed a lot of warnings for possible problems. 1999-01-28 10:06:38 +00:00
Ove Kaaven e257cb5af2 Moved DOS handle allocation slightly, to fix potential memory
leaks and lost handles. Also removed some useless init code.
1999-01-24 19:00:46 +00:00
Andreas Mohr a7894d9311 Implemented Int 0x15/0xc0: BIOS - GET CONFIG and some other BIOS
data.
1999-01-24 09:32:10 +00:00
Andreas Mohr 94e4485bff Implemented WIN16_CallMsgFilter32, WIN16_DispatchMessage32,
DrawAnimatedRects16 (stub), FormatMessage16, WIN16_GetMessage32,
WIN16_PeekMessage32 and WIN16_TranslateMessage32.
1999-01-23 14:15:17 +00:00
Marcus Meissner b12e72d685 DOS programs use handles 0-4 without opening/closing any of those
handles first. Split up Init from AllocDosHandle and call it from
the DOSVM.
1999-01-23 14:01:08 +00:00
Marcus Meissner 688c565880 Fixed accelerator handling. ACCEL16 used internal, ACCEL32 for Win32
API, PE_ACCEL for PE Accelerators. See documentation/accelerators.
1999-01-22 17:09:46 +00:00
Ulrich Weigand 901ca36b19 Allow passing task handles to GetThreadQueue() and SetFastQueue(). 1999-01-20 13:35:34 +00:00
Ulrich Weigand c4137d510a Check module name length in ModuleNext(). 1999-01-20 13:08:23 +00:00
Alexandre Julliard 8da12c43a9 Group commit for recovery after disk crash.
See Changelog for changes WRT release 990110.
1999-01-17 16:55:11 +00:00
Alexandre Julliard 638f169b1e Recovery of release 990110 after disk crash.
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
Joseph Pranevich 3aa839f558 Set console video mode when loading DOS app. (Eventually, I want to
mimic Windows 9x's behavior by setting the video mode only when non
INT 21 calls are used to allow for arbitrary-sized consoles).
1999-01-03 16:16:14 +00:00
Alexandre Julliard 0562539d18 Implemented file sharing checks in the server.
Added set file time server request.
Overall clean up of the file handling (DOS device handling is now
broken, should be redone).
1999-01-03 11:55:56 +00:00
Michael Veksler ca1bc866cf Moves more stuff from windows.h.
- include/winuser.h - interface relevant to user32.spec
- include/wine/winuser16.h - the old 16 bit interface (internal use)
- include/winbase.h - some minor updates to keep things coherent.
- Lot of other files made to include wine/winuser16.h, which is no
  longer included from windows.h
1999-01-01 18:57:33 +00:00
Alexandre Julliard 1392658679 Use Win32 file handles instead of Unix ones. 1999-01-01 16:55:02 +00:00
Alexandre Julliard f8e741bcbe Take into account handle inheritance flag. 1999-01-01 16:53:11 +00:00
Alexandre Julliard 55443878fc Removed client-side wait functions; all waiting is now done through
the server.
1998-12-31 15:52:06 +00:00
Alexandre Julliard 338e757d08 Added beginnings of server-side file handling.
Added -debugmsg +server support.
Better server request dumping for varargs requests.
1998-12-27 15:28:54 +00:00
Joseph Pranevich 06591f671f Add support for selection of console mode drivers to use using the
-console option. Currently "tty", "ncurses", and "xterm" are
supported.
Add stubs for resizing the screen on mode changes.
1998-12-25 08:48:56 +00:00
Ove Kaaven b8e7a833c7 Added some new dosmod communication possibilities, including
activating a dosmod-specific setitimer(), and the capture of some
common signals, which is returned to Wine (previously a SIGILL
would just cause a "dosmod sync lost" without explanation, now it
invokes the Wine debugger). Invokes int 08 upon receipt of dosmod
SIGALRM, thus simulating the DOS timer. Made DOS interrupt calls
be reported by -debugmsg +relay instead of -debugmsg +int. And
fixed non-i386 compilation of dosmod. (Anything else?!)
1998-12-24 16:23:01 +00:00
Ulrich Weigand a844189d1a Desktop window queue handling adapted. 1998-12-24 15:17:02 +00:00
Ulrich Weigand ff35e1fb13 Use Callout table instead of direct GetProcAddress.
UserYield moved to USER.
1998-12-24 15:13:54 +00:00