Alexandre Julliard
44c9758d05
ntdll: Move private data to make room in the TEB for the activation context data.
2007-07-19 16:56:10 +02:00
Dmitry Timoshkov
e142779b09
ntdll: Fix compilation warnings in 64-bit mode.
2007-05-23 13:10:20 +02:00
Alexandre Julliard
5aa70b3d80
ntdll: Setup the shared user data structure at 0x7ffe0000.
2007-05-18 18:09:03 +02:00
Alexandre Julliard
aaf477f292
server: Change the timeout handling to use NT-style 64-bit timeouts everywhere.
2007-04-17 20:08:59 +02:00
Alexandre Julliard
d85121f199
ntdll: Store the file access and options in the fd cache, and get rid of the dynamic flags.
...
This avoids server round-trips for all file I/O.
2007-04-10 22:32:46 +02:00
Alexandre Julliard
9d09e699d6
ntdll: Get rid of the no longer used is_current_process function.
2007-01-18 15:18:12 +01:00
Alexandre Julliard
8891d6de48
ntdll: Block async signals during process init and thread creation.
2007-01-18 12:23:04 +01:00
Alexandre Julliard
c388c58b9f
ntdll: Make the server signal mask global.
2007-01-18 12:20:56 +01:00
Alexandre Julliard
6ca1d1b081
server: Support queuing some APCs to a process instead of a thread.
2007-01-15 22:26:32 +01:00
Alexandre Julliard
146fb0de02
ntdll: Make the virtual.c critical section uninterruptible by signals.
...
Based on a patch by Thomas Kho.
2007-01-12 20:15:52 +01:00
Alexandre Julliard
5bd513640b
ntdll: Moved the check for removable file in load_dll to the server.
2007-01-12 14:42:43 +01:00
Alexandre Julliard
822be6c90f
ntdll: Force exec permissions on all mmaps unless the app is marked NX-compatible.
2006-12-05 15:42:29 +01:00
Alexandre Julliard
83ce958793
ntdll: Store the fd type in the cache and return it in server_get_unix_fd.
2006-11-20 14:15:06 +01:00
Alexandre Julliard
511e0bb671
ntdll: FILE_GetDeviceInfo no longer needs to be public.
2006-11-03 15:20:21 +01:00
Alexandre Julliard
9ddb9294da
ntdll: Added a server_get_unix_fd function that avoids doing a dup() of the fd when not required.
2006-11-03 11:38:44 +01:00
Alexandre Julliard
28418cc919
ntdll: Maintain a file descriptor cache on the client side.
2006-11-02 20:48:19 +01:00
Alexandre Julliard
c627601c3b
server: Convert the server start time to the abs_time_t type.
2006-07-26 14:50:55 +02:00
Alexandre Julliard
3ca608b1b3
ntdll: Renamed the NTDLL_get/from_server_timeout functions since they don't deal only with timeouts.
2006-07-26 14:49:13 +02:00
Alexandre Julliard
6c9ade0529
ntdll: Allocate the PEB with NtAllocateVirtualMemory too.
2006-07-24 15:19:32 +02:00
Alexandre Julliard
0c453bc7c6
ntdll: Use NtAllocateVirtualMemory to allocate all TEBs except the first one.
2006-07-21 20:20:30 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Alexandre Julliard
d2ad6f8355
ntdll: Get registers on the client side for NtGetContextThread on the current thread.
2006-04-20 15:40:28 +02:00
Robert Shearman
ea6f3a4cc0
ntdll: Move the call to MODULE_DllThreadAttach from the kernel32
...
thread creation function to the NTDLL one.
2006-03-14 17:50:28 +01:00
Alexandre Julliard
4107751dd3
ntdll: Simplify loadorder code by using an enum instead of an array
...
to represent load order values.
Added a special value for default load order so that we can handle it
differently later on.
2006-02-22 16:30:05 +01:00
Alexandre Julliard
477b3bf566
kernel: Moved the get_startup_info call to ntdll.
2006-02-22 09:57:19 +01:00
Hans Leidekker
0844b702b4
ntdll: Add implementation of tape IOCTLs.
2006-01-26 13:23:08 +01:00
Alexandre Julliard
4ce433d826
ntdll: Move the %gs register to the ntdll_thread_regs structure.
2006-01-20 16:54:11 +01:00
Alexandre Julliard
a19e3eeb20
ntdll: Move the TEB register to the ntdll_thread_regs structure.
2006-01-20 16:18:06 +01:00
Alexandre Julliard
2878d99216
ntdll: Add debug registers to the context of all exceptions.
...
Maintain a local cache of the debug registers to avoid server calls
where possible.
2006-01-13 13:58:14 +01:00
Eric Pouech
2cdace2760
ntdll: Created infrastructure to support IOCTL for serial devices.
...
- created infrastructure in ntdll to support IOCTL for serial devices
- implemented IOCTLs in ntdll for serial break support
- implemented the kernel32 equivalent on top of those IOCTLs
2006-01-12 13:32:51 +01:00
Alexandre Julliard
2654be08d5
ntdll: Handle NtSetContextThread on the client side (as far as
...
possible) when setting the context of the current thread.
2006-01-11 20:20:32 +01:00
Alexandre Julliard
5dc6d95952
ntdll: New implementation of relay thunks.
...
New implementation of relay thunks that doesn't require modifying code
on the fly, so that the thunks can be put in the text section.
Some performance improvements.
2005-12-18 10:45:01 +01:00
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Alexandre Julliard
73c72390f8
Fixed Get/SetThreadContext to work properly on suspended threads.
...
Added a test case.
2005-11-02 20:54:12 +00:00
Alexandre Julliard
a2fb7c1644
Added an implementation of the FSCTL_DISMOUNT_VOLUME ioctl that
...
attempts to unmount the Unix device.
2005-10-28 16:45:24 +00:00
Alexandre Julliard
fb9cead92b
Support arbitrary sizes for the thread signal stack, and set the
...
default size from the MINSIGSTKSZ constant.
2005-09-14 10:36:58 +00:00
Alexandre Julliard
bc22e2f03d
Moved the FileFsDeviceInformation query to a separate function.
2005-08-24 18:27:27 +00:00
Alexandre Julliard
5617b716e7
Added a wine_unix_to_nt_file_name function to do proper pathname
...
conversions instead of relying on GetFullPathName hacks.
2005-08-11 10:41:26 +00:00
Alexandre Julliard
915aebb852
Moved the version initialization to ntdll.
...
Properly set the version fields in the PEB.
Removed some no longer used structures.
2005-08-10 13:12:27 +00:00
Alexandre Julliard
9f32a5c865
Added a VIRTUAL_alloc_teb function to allocate TEBs while making sure
...
they don't end up above the address space limit.
2005-08-09 10:43:47 +00:00
Alexandre Julliard
4de75b5a6f
Use the new RtlExitUserThread function instead of exporting
...
wine_server_exit_thread.
2005-08-02 09:55:40 +00:00
Dmitry Timoshkov
40dd77bf5a
Make VIRTUAL_HandleFault return an NTSTATUS.
2005-07-15 11:43:09 +00:00
Alexandre Julliard
3be8cb8b02
Moved initialization of the default user process parameters to ntdll.
2005-07-14 12:33:30 +00:00
Alexandre Julliard
9ad5628639
Moved the server start time to the init_thread request and got rid of
...
the init_process request (based on a patch by Felix Nawothnig).
2005-07-14 10:32:46 +00:00
Alexandre Julliard
11ad6a0ac4
Return the startup info size in the init_thread request, and allocate
...
the process parameters structure in ntdll instead of kernel.
2005-07-13 19:43:35 +00:00
Alexandre Julliard
d3a6a16efd
Initialize relay debugging earlier on now that the registry is loaded
...
by the server.
2005-07-13 14:23:06 +00:00
Mike McCormack
6b636e3e7b
Use RTL_CRITICAL_SECTION instead of CRITICAL_SECTION.
2005-06-25 18:00:57 +00:00
Alexandre Julliard
ab29aa2126
Moved the ntdll per-thread data out of the TEB into a private
...
structure stored in TEB.SystemReserved2.
2005-06-06 20:04:33 +00:00
Alexandre Julliard
e4412a618c
Removed the special casing of kernel32 and ntdll for the TEB
...
definition in winternl.h.
2005-05-16 17:52:10 +00:00
Alexandre Julliard
26050b49d5
Prefix the internal name of all register functions with __regs_ for
...
better consistency and to make automated checking possible.
2005-05-07 18:10:30 +00:00
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Alexandre Julliard
3b843d3e7d
Remove all traces of the VIRTUAL_SetFaultHandler support.
2005-04-20 16:26:23 +00:00
Robert Shearman
7572b125b5
Implement NtQueryTimer.
2004-12-13 21:10:58 +00:00
Alexander Yaworsky
8657ad8704
Make RtlCreateUserThread fail if process handle is not for the current
...
process.
2004-09-21 00:23:50 +00:00
Alexandre Julliard
9f58ee709d
Set the system directory in ntdll as soon as we have determined it.
2004-07-15 22:07:21 +00:00
Alexandre Julliard
fd9792bdc9
Added support for the IMAGE_FILE_LARGE_ADDRESS_AWARE flag.
2004-06-18 00:26:57 +00:00
Eric Pouech
db52588754
Const correctness.
2004-06-15 00:47:00 +00:00
Alexandre Julliard
9db147e5e4
Make DIR_nt_to_unix return STATUS_NO_SUCH_FILE instead of
...
STATUS_OBJECT_NAME_NOT_FOUND to indicate that the last component
didn't exist to allow distinguishing it from legitimate errors.
Export it from ntdll, renamed to wine_nt_to_unix_file_name.
2004-04-23 02:46:18 +00:00
Alexandre Julliard
174e2a6464
Reimplemented GetFileAttributesW, SetFileAttributesW and SetFileTime
...
using the corresponding ntdll functionality.
2004-04-20 00:36:29 +00:00
Alexandre Julliard
e792fb74ba
Implemented NtCreatelFile using the new symlink scheme.
...
Use NtCreateFile in the loader, and get rid of the CreateFileW upcall
hack.
2004-04-12 23:31:09 +00:00
Alexandre Julliard
670711ef25
Handle file mappings on removable media entirely inside ntdll.
2004-04-06 23:13:47 +00:00
Mike Hearn
a54e3216c3
- Add debug SnoopFromInclude/SnoopFromExclude options.
...
- Correct TRACE debug channel usage in SNOOP_SetupDLL.
- Refactor check_relay_from_relay.
2004-03-16 03:10:07 +00:00
Alexandre Julliard
f30cfa8858
Implemented NtQueryDirectoryFile (partly based on a patch by Eric
...
Pouech).
2004-03-16 01:32:02 +00:00
Alexandre Julliard
fe8ead56a8
Get rid of ntdll_get_process_heap and ntdll_get_process_pmts by using
...
standard APIs instead.
2004-03-12 01:59:35 +00:00
Alexandre Julliard
db692c8f39
Open a real file handle for drive devices, and get rid of the server
...
device hacks (based on a patch by Eric Pouech).
2004-03-04 23:00:18 +00:00
Eric Pouech
210e1abb35
Added support for Unix code page in NTDLL.
2004-01-18 22:11:52 +00:00
Alexandre Julliard
af542075e7
Don't use constructors for ntdll and kernel32 initialization.
2004-01-07 04:50:11 +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
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
f9be2f3d21
Removed some unnecessary includes.
2003-11-17 20:31:29 +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
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
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
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
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
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
Alexandre Julliard
f80b869939
Converted most of the loader code to Unicode.
2003-09-29 20:42:24 +00:00
Alexandre Julliard
2052538a47
Moved loadorder support to dlls/ntdll.
...
Removed the --dll option and replaced it by the WINEDLLOVERRIDES
environment variable.
2003-09-25 20:33:41 +00:00
Alexandre Julliard
a37e7608c7
Moved 32-bit relay and snoop support to dlls/ntdll.
2003-09-19 04:32:39 +00:00
Alexandre Julliard
97ad311e71
Moved the 32-bit builtin loader and the remaining bits of the PE
...
loader into dlls/ntdll/loader.c.
2003-09-19 04:04:57 +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
217fdab78f
Implemented NtDelayExecution and make Sleep call it.
...
The handle count must not be 0 in NtWaitForMultipleObjects (spotted by
Troy Rollo).
2003-06-30 21:00:15 +00:00
Eric Pouech
583bb3fd3e
- started implementing ntdll.NtDeviceIoControlFile and made
...
kernel32.DeviceIoControl call it
- changed cdrom ioctl function's prototype to stick to
ntdll.NtDeviceIoControlFile signature
2003-06-24 19:28:21 +00:00
Eric Pouech
b53b5bcb50
- fixed a couple of bugs in ntdll environment functions (one in trace,
...
the other one in environment variable expansion)
- the process parameters, when passed thru wineserver, are now fully
handled in ntdll, they are stored in the RTL_USER_PROCESS_PARAMETERS
structure.
- later on in kernel32 loading sequence, those parameters are copied
into STARTUPINFO shadow structures
- later modification to those paramters are now reflected to the
RTL_USER_PROCESS_PARAMETERS structure (and STARTUPINFO is kept
untouched) (for example, StdHandle setting) (Win 2k behaves like this)
- ENVDB has been removed
- command line inheritance (from unix command line) is now purely in ntdll
- all kernel32 environment functions now rely on their ntdll counterparts
- goodies: input/output handle inheritance while asking for a detached
console is better handled; a few more kernel32 environment tests now
pass ; silenced a valgrind warning in process creation
2003-06-18 03:23:22 +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
Eric Pouech
2d758c6444
Implemented a bunch of environment related NTDLL APIs.
2003-05-08 03:47:00 +00:00
Alexandre Julliard
f130f8099a
Added possibility to filter relay traces based on the module that
...
called the function. Cleaned up a few traces.
2003-04-07 23:27:54 +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
462172a3d6
Added abs_time_t structure to the server protocol, and added a dump
...
routine for it that displays the relative timeout to make timeout
values easier to interpret.
2003-04-02 22:48:59 +00:00
Alexandre Julliard
fbef57c0ce
Moved WaitForMultipleObjects to ntdll (based on a patch by Eric
...
Pouech).
Added NTDLL_get_server_timeout function to compute ntdll-style
timeouts and adapted the timer code to use it.
2003-03-31 01:37:04 +00:00
Eric Pouech
69dc0d93d5
Removed no longer needed MODREF.find_export field.
2003-03-21 21:27:16 +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
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
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
Alexandre Julliard
996c0bff59
Removed ntdll dependency on MultiByteToWideChar/WideCharToMultiByte
...
kernel32 functions, plus a few small cleanups.
2001-12-05 22:14:57 +00:00
Alexandre Julliard
bcb40b3177
Fixed a few prototypes.
2000-10-15 00:39:11 +00:00
Alexandre Julliard
46487282dd
Fixed debugstr_as/us prototypes.
2000-08-26 21:16:36 +00:00