Commit Graph

751 Commits

Author SHA1 Message Date
Alexandre Julliard 7412125e46 Updates for the new loadorder handling of 16-bit dlls. 2004-01-05 21:19:22 +00:00
Mike Hearn 43cb03be3a Implemented RegFlushKey and NtFlushKey. 2004-01-03 00:38:30 +00:00
Mike Hearn 5f5034ff3b Print exe name when initialization fails. 2003-12-31 00:11:48 +00:00
Alexandre Julliard 5c92266987 Fixed RtlUnwind signature (reported by Pierre d'Herbemont). 2003-12-30 19:26:19 +00:00
Mike McCormack 9acaadea3f Return an SID when GetTokenInformation is called with class
TokenOwner.
2003-12-30 19:17:05 +00:00
Hans Leidekker 73593d7eed Check if a function exists before testing it. 2003-12-15 20:18:50 +00:00
Marcus Meissner 34528b91a9 Fixed potentially uninitialised sz. 2003-12-15 19:46:51 +00:00
Francois Gouget 8f63a714b2 Try not to display uninitialized data in traces (found by Valgrind). 2003-12-13 01:34:40 +00:00
Jon Griffiths ae0ca56453 Added RtlNtStatusToDosErrorNoTeb, RtlGet/Set/RestoreLastWin32Error,
RtlGUIDFromString, RtlStringFromGUID.
2003-12-12 05:56:44 +00:00
Dimitrie O. Paun 2eaefbd1a4 Move content of global.h into the appropriate private headers. 2003-12-08 21:58:55 +00:00
Alexandre Julliard bb4ddfec28 Added a WINEDEBUG environment variable that allows turning on debug
output as early as possible during startup.
2003-12-05 00:17:41 +00:00
Jon Griffiths 03ce33f629 Implement the Rtlp* registry functions. 2003-12-04 20:52:12 +00:00
Alexandre Julliard f752be843e Implement some more register functions using DEFINE_REGS_ENTRYPOINT to
make them available for imports.
2003-12-04 05:51:01 +00:00
Alexandre Julliard e85491274d Moved the DEFINE_REGS_ENTRYPOINT macros to include/wine/port.h.
Removed the C fallback code, do that in the callers instead.
2003-12-04 05:48:03 +00:00
Alexandre Julliard 86c905ab0c We no longer need a special case for codepages on startup,
initialization is done in the correct order now.
2003-12-04 05:13:03 +00:00
Alexandre Julliard 0382aead65 Removed no longer used extra space allocated in the modref structure. 2003-12-03 20:28:41 +00:00
Alexandre Julliard f3f435ffa1 Added wine_server_release_fd function to release the fd returned by
wine_server_handle_to_fd. Fixed a couple of potential fd leaks.
2003-12-01 23:01:12 +00:00
Alexandre Julliard 854e59d9ec Allow RELAY_SetupDLL to be called twice on the same dll. 2003-12-01 22:49:33 +00:00
Alexandre Julliard 2ae6f4bd24 Fixed bitmap range checking to avoid integer overflows. 2003-11-29 00:23:23 +00:00
Francois Gouget 82bff6bddd Only convert '/'s to '\\'s up to the '\0' as the rest of the buffer
may not be initialized (found by Valgrind).
2003-11-28 23:36:06 +00:00
Alexandre Julliard 402b79a1e8 Porting fixes. 2003-11-27 00:59:36 +00:00
Dmitry Timoshkov 602c4a7e8a Fix another RtlReAllocateHeap call. 2003-11-26 22:03:21 +00:00
Alexandre Julliard cba157e998 Better support for loading exe files as libraries.
Make sure kernel32 and ntdll have a full path name even though they
are loaded before we know the system dir.
2003-11-25 05:28:57 +00:00
Alexandre Julliard 6281d82e87 Store the thread entry point in the startup info passed to the new
thread instead of the TEB.
2003-11-25 03:42:05 +00:00
Alexandre Julliard 9e73f55af3 Store the last error code at the TEB offset used by NT instead of the
Win9x one.
2003-11-25 01:53:23 +00:00
Alexandre Julliard 16b4411669 Removed MODULE_GetLoadOrderA. 2003-11-25 01:03:04 +00:00
Dimitrie O. Paun c762f5d7af RtlHeapReAllocate() should not allocate memory.
Add small test to make sure it doesn't return.
Don't import ntdll for tests, we need to load it dynamically.
2003-11-25 01:02:02 +00:00
Robert Shearman 3842103c74 Handle EIO file error. 2003-11-21 23:53:44 +00:00
Dimitrie O. Paun f448b79e79 RtlReAllocateHeap() does not allocate memory. 2003-11-20 23:44:13 +00:00
Alexandre Julliard 746d900b04 Force minimum stack size to 1Mb for Xlib. 2003-11-18 00:14:17 +00:00
Alexandre Julliard f9be2f3d21 Removed some unnecessary includes. 2003-11-17 20:31:29 +00:00
Alexandre Julliard 8fb98a41e0 Added wine_ldt_is_system() to replace the IS_SELECTOR_SYSTEM macro,
and stop exporting the WINE_LDT_FIRST_ENTRY constant.
2003-11-17 20:12:56 +00:00
Alexandre Julliard daeccba704 Moved the exec_wine_binary function to the wine library, and use it to
exec the wineserver too.
2003-11-11 22:21:29 +00:00
Alexandre Julliard dfe1df6408 Make sure the protection flags on the memory view of the PE header
match the actual mmap protection.
2003-11-11 22:06:59 +00:00
Ulrich Czekalla fd5e811c4e Added stubs for AccessCheckByType, AddAuditAccessAce,
GetNamedSecurityInfoA, GetNamedSecurityInfoW.
Implemented ConvertStringSecurityDescriptorToSecurityDescriptorW,
DeleteAce, MakeAbsoluteSD, GetAclInformation, ConvertStringSidToSidW,
RtlDeleteAce, RtlQueryInformationAcl.
2003-11-11 22:03:24 +00:00
Carlos Lozano b40a287e03 NtReadFile checks that offset is not null. 2003-11-11 21:57:07 +00:00
Jukka Heinonen d7ee5f3f31 Fix race in real mode event handling.
Merge real mode pending event checking routines.
Remove some obsolete code.
2003-11-11 00:44:10 +00:00
Alexandre Julliard 50fba7ffec Moved the remaining SYSDEPS_* functions to the wine_pthread interface.
Let the pthread library allocate the stack itself.
2003-11-09 01:25:23 +00:00
Alexandre Julliard 4dba172e55 Added server_abort_thread to replace SYSDEPS_AbortThread.
Removed no longer used SIGNAL_Block and SIGNAL_Reset.
Moved some internal ntdll definitions to ntdll_misc.h.
2003-11-06 00:08:05 +00:00
Alexandre Julliard 8574412e1e Added wine_pthread_create_thread and wine_pthread_exit_thread to the
pthread support, and removed the corresponding SYSDEPS functions.
Moved stack allocation for new threads to wine_pthread_create_thread
to allow more flexibility.
2003-11-05 23:31:11 +00:00
Ulrich Czekalla da10653f6f Implemented RtlSelfRelativeToAbsoluteSD and RtlMakeSelfRelativeSD.
Fixed some related SE_SELF_RELATIVE bugs.
2003-11-05 01:41:20 +00:00
Alexandre Julliard 063cff8686 Use the signal stack pointer to determine the current thread.
Converted the SIGUSR2 handler to use setup_exception (probably still
not working properly).
2003-11-05 00:52:29 +00:00
Alexandre Julliard 7924f421e9 Allocate the TEB and signal stack separately from the main stack.
Dynamically allocate the initial TEB too so that it is properly
page-aligned.
2003-11-04 04:50:18 +00:00
Gerald Pfeifer bcb09c198d The CDDA case of CDROM_RawRead() no longer works on FreeBSD -CURRENT,
remove it.  Also, combine the FreeBSD and NetBSD NYI notes.
2003-11-04 04:23:49 +00:00
Alexandre Julliard a062677a95 Allocate a memory view for builtin dlls so that VirtualQuery returns
something sensible.
2003-11-03 22:23:09 +00:00
Alexandre Julliard 7fcc737faa Fixed type and protection values returned by NtQueryVirtualMemory to
be closer to what Windows does.
Allow using MEM_SYSTEM without MEM_RESERVE to avoid 64k alignment.
Use pread instead of lseek+read when faking mmap.
2003-11-03 22:21:55 +00:00
Alexandre Julliard 7370f60120 Implemented RtlCreateUserThread, and use it to move thread creation to
ntdll.
2003-10-31 00:16:20 +00:00
Alexandre Julliard 0f95d5498d Fixed race in %gs selector restoring during vm86 mode return.
Minor cleanups.
2003-10-30 23:15:56 +00:00
Pavel Roskin 0f252372b7 Include ntdll_misc.h to avoid undefined reference to GetProcessHeap
when compiled without optimization.
2003-10-30 23:06:41 +00:00
Alexandre Julliard 07931f2d70 Removed no longer needed SIGNAL_Unblock() function. 2003-10-28 21:46:46 +00:00
Alexandre Julliard 54b1d87daf Implemented Add/RemoveVectoredExceptionHandler. 2003-10-28 21:22:50 +00:00
Alexandre Julliard 4cb001967a Switch back to the main process stack before calling exception
handlers.
2003-10-28 00:30:55 +00:00
Alexandre Julliard 8f1b861e27 Repaired relay debugging for kernel and ntdll (spotted by Uwe
Bonnes).
2003-10-28 00:25:32 +00:00
Uwe Bonnes d0f86f640b get_full_path_helper: Handle the case \\.\\ as intended; fix length
arguments for memmove.
2003-10-28 00:07:56 +00:00
Alexandre Julliard 2e4f0bc9ba Use sigsetjmp instead of setjmp in Wine internal exception handlers to
make sure the signal mask is restored properly.
2003-10-24 04:30:13 +00:00
Alexandre Julliard f9df57d94d Call the application entry point from kernel32, some apps depend on
that.
2003-10-24 00:32:36 +00:00
Alexandre Julliard 8824c38e9e Simplified signal stack allocation a bit, and avoid allocating it on
non-i386 platforms.
2003-10-22 03:26:53 +00:00
Alexandre Julliard 5e4e0de15f A signal stack is not needed on PowerPC. 2003-10-22 03:25:38 +00:00
Dave Belanger 2c39191ef1 Fix splitpath and wsplitpath for the file extension. 2003-10-21 23:51:06 +00:00
Alexandre Julliard bbc5242fbc Fixed handling of relay and snoop include/exclude lists to behave as
documented (based on a patch by Rein Klazes).
2003-10-16 00:24:49 +00:00
Alexandre Julliard 2937826866 Rewrote splitpath and wsplitpath to avoid modifying the path
separators.
2003-10-15 02:34:51 +00:00
Jukka Heinonen 46f29944c3 Remove races from DPMI async event handling. 2003-10-14 05:20:34 +00:00
Gerald Pfeifer 9b4b21b7b0 Fix function pointer variable declaration in __wine_process_init(). 2003-10-14 05:19:24 +00:00
Alexandre Julliard e55d5937ac Set or clear the BeingDebugged flag in the PEB when a debugger is
attached to or detached from a process.
Don't send exception events to the server unless a debugger is
present.
2003-10-14 01:30:42 +00:00
Alexandre Julliard 08a64e6e6a Moved the pthread emulation into the main binary so that we don't need
to link it against ntdll.
2003-10-10 23:37:18 +00:00
Alexandre Julliard a438ebc509 Fixed importing of dlls with no exports (reported by Warren Baird).
Don't crash on an empty load order specification (reported by Maxime
Bellengé).
Try to avoid crashing when an import is missing for a builtin dll.
2003-10-10 23:28:51 +00:00
Alexandre Julliard 21066d0d44 Link kernel32 as a normal dll. 2003-10-10 00:23:47 +00:00
Alexandre Julliard 410e6b7b39 Changed the init code to make libwine load only ntdll and transfer
control to it, and then have ntdll load kernel32 using the normal
loader mechanisms.
Get rid of BUILTIN32_LoadExeModule.
2003-10-10 00:12:17 +00:00
Alexandre Julliard 5cb5aa6346 Use the Rtl bitmap functions to implement Tls allocation.
Get rid of the PDB structure.
2003-10-09 19:58:56 +00:00
Alexandre Julliard 96118aeafb Added a few missing exports. 2003-10-09 05:00:41 +00:00
Alexandre Julliard 20e73d739a Moved the constructor for the initial TEB to ntdll so that it runs as
early as possible on startup.
2003-10-09 04:59:03 +00:00
Alexandre Julliard 67d9f38059 Added __wine_set_signal_fs function to avoid sharing the
SYSLEVEL_Win16CurrentTeb variable between kernel and ntdll.
On the kernel side, replaced SYSLEVEL_Win16CurrentTeb by
CallTo16_TebSelector stored directly in the asm relay code to avoid a
run-time relocation.
2003-10-08 22:59:22 +00:00
Alexandre Julliard 2de67b8428 Duplicate parts of the relay debugging init code into kernel to avoid
referencing ntdll internal symbols.
2003-10-08 22:41:12 +00:00
Alexandre Julliard 0de2fde550 Moved build_command_line back to kernel and make it handle Unicode
properly.
2003-10-08 22:38:52 +00:00
Pavel Roskin e5e1844d24 Include ntdll_misc.h to get the GetCurrentProcess/ThreadId macros. 2003-10-08 22:34:37 +00:00
Pavel Roskin 3ec73af37f Include ntdll_misc.h to get the GetCurrentProcess/ThreadId macros. 2003-10-08 19:11:08 +00:00
Pavel Roskin 91f234f267 Eliminate dependency on SetLastError(). 2003-10-08 19:10:33 +00:00
Alexandre Julliard 687ecfa312 Moved a few more functions to the dlls/kernel directory. 2003-10-08 04:24:49 +00:00
Alexandre Julliard b81d9e7cf4 Link all remaining files that contain kernel APIs into kernel32.dll
instead of ntdll.dll. Removed a number of no longer needed files.
2003-10-08 03:57:02 +00:00
Alexandre Julliard 953849f2fc Added hack to call CreateFileW through a pointer so that we don't need
to link to kernel functions.
Commented out SMB support in NtReadFile for now.
2003-10-08 03:51:31 +00:00
Alexandre Julliard 01def427b7 Pass the cdrom device path in CDROM_InitRegistry so that ntdll doesn't
need to call DRIVE_GetDevice.
Get rid of GetDriveType calls.
2003-10-08 02:59:22 +00:00
Alexandre Julliard 87ae825bf8 Get rid of the argv0 and full_argv0 global variables. 2003-10-08 00:45:01 +00:00
Alexandre Julliard af192f83b6 Store a "removable" flag instead of the full drive type in the server
file object; this way we don't need to use GetDriveTypeW in the loader
code.
Make sure we always have a valid builtin_load_info pointer.
2003-10-08 00:25:32 +00:00
Alexandre Julliard 146afcc98c Removed references to GetSystemDirectoryW.
Optimized module lookup a bit.
Keep track of the modref pointer across builtin dll loads to avoid
having to look it up by name afterwards.
2003-10-07 22:56:34 +00:00
Rein Klazes c6c404dcd6 Added a check for <scsi/scsi.h> and include it in dlls/ntdll/cdrom.c. 2003-10-07 22:49:22 +00:00
Alexandre Julliard 5d9422b09f Rewrite of the dll file search algorithm to better deal with the
broken behavior of RtlDosSearchPath_U.
2003-10-07 03:48:42 +00:00
Alexandre Julliard 509e4d175a A couple more fixes in RtlGetFullPathName_U.
Reverted my previous fix in RtlDosSearchPath_U, extension handling is
supposed to be broken.
2003-10-07 03:46:34 +00:00
Alexandre Julliard 632676b17e Moved the final process init and dependency loading to
dlls/ntdll/loader.c, (ab)using the LdrInitializeThunk entry point.
2003-10-06 21:18:51 +00:00
Alex Pasadyn 0f5db95401 Fix buffer length error code for NtQueryInformationToken. 2003-10-06 21:04:06 +00:00
Daniel Marmier 0348649853 Fixed warnings with gcc option "-Wwrite-strings". 2003-10-06 21:03:32 +00:00
Alexandre Julliard 841f898663 Converted process creation to Unicode. 2003-10-04 04:09:41 +00:00
Alexandre Julliard 5e3549bf3b Implemented RtlCreateProcessParameters and related functions. 2003-10-04 03:11:57 +00:00
Eric Pouech 7760413f6b Fixed a couple of bugs in RtlGetFullPathName_U. 2003-10-04 03:06:58 +00:00
Uwe Bonnes 6d59b887cd SNOOP_ShowDebugmsgSnoop(): check for NULL function name. 2003-10-04 03:05:58 +00:00
Michael Günnewig 4d375d1b8b Fixed warnings with gcc option "-Wwrite-strings". 2003-10-04 03:04:45 +00:00
Alexandre Julliard fbb5390a32 Avoid closing the cdrom if we failed to open it. 2003-10-03 04:35:55 +00:00
Pavel Roskin 8956e41b82 Add support for SCSI CD-ROMs to CDROM_GetInterfaceInfo().
Fix device number for IDE CD-ROMs.  Return 0 for unsupported drives.
2003-10-03 04:33:25 +00:00
Alexandre Julliard 4137aecaa5 Changed LdrLoadDll to only search for the dll in the specified path,
using ntdll functions.
Moved LOAD_WITH_ALTERED_SEARCH_PATH functionality to LoadLibraryEx
where it belongs.
2003-10-02 04:58:49 +00:00
Alexandre Julliard 28c3c2f0f0 Fixed a couple of bugs in RtlDosSearchPath_U and RtlGetFullPathName_U.
Make RtlDoesFileExists_U do something useful by calling CreateFileW
for now.
2003-10-02 04:43:45 +00:00
Gerald Pfeifer aa0f37940f Cast time_t parameters to fprintf(...,"%l",...) to long. 2003-10-02 04:29:30 +00:00