Sebastian Lackner
22f0611cf9
ntdll/tests: Add tests for ThreadQuerySetWin32StartAddress info class.
2015-07-29 21:44:03 +02:00
Sebastian Lackner
845164004b
ntdll: Implement ThreadQuerySetWin32StartAddress info class in NtQueryInformationThread.
2015-07-29 21:44:03 +02:00
Sebastian Lackner
6ab494ceb5
ntdll: Implement ThreadQuerySetWin32StartAddress info class in NtSetInformationThread.
2015-07-29 21:44:03 +02:00
Sebastian Lackner
6156cf3134
server: Use a separate wineserver call to fetch thread times.
2015-07-29 21:44:03 +02:00
Sebastian Lackner
9562e81810
ntdll: Reimplement RtlQueueWorkItem on top of new threadpool API.
2015-07-28 09:54:18 +02:00
Sebastian Lackner
c774a8c3ae
ntdll/tests: Add basic tests for RtlQueueWorkItem.
2015-07-28 09:54:05 +02:00
Sebastian Lackner
4a1629c411
ntdll: Avoid possible deadlock by using _exit() in NtTerminateProcess.
...
When threads are killed with SIGQUIT some locks can be in an undefined
state, and it not safe to call exit handlers.
2015-07-17 14:29:04 +09:00
Dmitry Timoshkov
21c3724813
ntdll: Cache contents of IMAGE_TLS_DIRECTORY instead of saving a directory pointer.
2015-07-15 15:13:16 +09:00
Erich E. Hoover
e9d7cf99ad
ntdll: Only set the security cookie if it has not already been set.
2015-07-14 16:43:30 +09:00
Alasdair Sinclair
241b3928b1
ntdll: Add missing WINAPI to RtlDecompressFragment.
2015-07-14 14:54:54 +09:00
Sebastian Lackner
b687fee66f
ntdll: Fix incorrect assignment in assert statement (Coverity).
2015-07-13 14:44:40 +09:00
Sebastian Lackner
db1e8a686e
ntdll/tests: Add tests for RtlDecompressFragment.
2015-07-10 14:54:57 +09:00
Sebastian Lackner
0e7bd45571
ntdll/tests: Add tests for RtlDecompressBuffer.
2015-07-10 14:54:54 +09:00
Sebastian Lackner
e3503799d9
ntdll: Implement RtlDecompressFragment.
...
Based on a patch by Michael Müller.
2015-07-10 14:54:50 +09:00
Sebastian Lackner
577332f612
ntdll: Implement semi-stub for RtlGetCompressionWorkSpaceSize.
2015-07-09 17:34:48 +09:00
Sebastian Lackner
ee899dc55e
ntdll/tests: Add tests for RtlGetCompressionWorkSpaceSize.
2015-07-09 17:34:46 +09:00
Sebastian Lackner
275424e939
ntdll: Implement semi-stub for LZNT1 compression in RtlCompressBuffer.
...
This stub implementation just emits uncompressed blocks with
appropriate chunk headers.
2015-07-09 17:34:41 +09:00
Sebastian Lackner
025ea11dc4
ntdll/tests: Add tests for RtlCompressBuffer.
2015-07-09 17:34:37 +09:00
André Hentschel
7e1c886fbf
ntdll: Randomize security cookie when available.
2015-07-08 16:20:06 +09:00
Sebastian Lackner
f65f645c3f
ntdll: Add missing calls to RtlExitUserThread.
2015-07-08 16:02:24 +09:00
Sebastian Lackner
0021569778
ntdll: Try to merge threadpool wait queue buckets if possible.
...
When the number of elements per bucket is too small, then try to reduce
the number of threads by merging buckets. This is to ensure that the
number of running wait queue threads doesn't get too big.
2015-07-06 14:49:39 +09:00
Sebastian Lackner
634bbed3fb
ntdll/tests: Add threadpool wait tests with more than 63 objects.
2015-07-06 14:49:39 +09:00
Sebastian Lackner
553ae488d0
ntdll/tests: Add basic tests for threadpool wait objects.
2015-07-06 14:49:39 +09:00
Sebastian Lackner
185247576b
ntdll: Implement TpSetWait and TpWaitForWait.
2015-07-06 14:49:39 +09:00
Sebastian Lackner
f1be5dcac0
ntdll: Implement threadpool wait queues.
...
To implement waiting for an arbitrary number of handles, we group them
in buckets up to (MAXIMUM_WAIT_OBJECTS - 1) objects, and then assign a
dedicated wait queue thread. The last handle is used to notify about
changes.
2015-07-06 14:49:38 +09:00
Sebastian Lackner
4523a54c62
ntdll: Implement TpAllocWait and TpReleaseWait.
2015-07-06 14:34:20 +09:00
Sebastian Lackner
9f71015a99
ntdll/tests: Add tests for threadpool timer merging.
2015-07-03 13:06:50 +09:00
Sebastian Lackner
aefb85ddab
ntdll/tests: Add basic tests for threadpool timer functions.
2015-07-03 13:06:45 +09:00
Sebastian Lackner
cb2aae1af8
ntdll: Implement threadpool timer queues.
2015-07-03 13:06:41 +09:00
Sebastian Lackner
bd7cb07358
ntdll: Implement TpAllocTimer and TpReleaseTimer.
2015-07-03 13:06:31 +09:00
Sebastian Lackner
66c46e6960
ntdll/tests: Add tests for TpDisassociateCallback.
2015-07-03 13:06:21 +09:00
Sebastian Lackner
775d3dcecb
ntdll: Implement TpDisassociateCallback and add a separate group completion event.
2015-07-03 13:06:15 +09:00
Sebastian Lackner
8965511957
ntdll: Implement TpCallbackUnloadDllOnCompletion.
2015-07-02 14:54:13 +09:00
Sebastian Lackner
15110b1770
ntdll: Implement TpCallbackSetEventOnCompletion.
2015-07-02 14:54:04 +09:00
Sebastian Lackner
3dc1c6442a
ntdll/tests: Add tests for TpCallbackReleaseSemaphoreOnCompletion and finalization callback.
2015-07-02 14:53:56 +09:00
Sebastian Lackner
eb39cb1323
ntdll: Implement TpCallbackReleaseSemaphoreOnCompletion.
2015-07-02 14:53:50 +09:00
Sebastian Lackner
02ee5bb52d
ntdll: Implement TpCallbackReleaseMutexOnCompletion.
...
Various internal details about the order and error handling of completion
actions are documented in "Concurrent Programming on Windows" by Joe Duffy.
2015-07-02 14:53:41 +09:00
Sebastian Lackner
a9dd37be68
ntdll: Implement TpCallbackLeaveCriticalSectionOnCompletion.
...
An instance can only have one completion of each type, trying to add a
second one leads to an exception on Windows.
2015-07-02 14:53:21 +09:00
Sebastian Lackner
eb974bcd7a
ntdll: Implement instance objects and the TpCallbackMayRunLong function.
...
The instance is marked as long-running even if TpCallbackMayRunLong fails,
a second call will lead to an exception on Windows.
2015-07-02 14:53:02 +09:00
Sebastian Lackner
8fc2430c2a
ntdll: Implement threadpool RaceDll environment variable.
2015-07-02 14:52:44 +09:00
Sebastian Lackner
fa114f122b
ntdll: Add support for threadpool finalization callback.
2015-07-02 14:52:38 +09:00
Sebastian Lackner
e8d4b40386
ntdll/tests: Add tests for threadpool group cancel callback.
2015-07-02 14:52:32 +09:00
Sebastian Lackner
1839ce8697
ntdll: Add support for threadpool group cancel callback.
2015-07-02 14:52:27 +09:00
Sebastian Lackner
b75d7f064c
ntdll/tests: Add threadpool scheduler tests for work items.
2015-07-01 19:18:16 +09:00
Sebastian Lackner
17cd2a8b24
ntdll/tests: Add basic tests for threadpool work items.
2015-07-01 19:18:16 +09:00
Sebastian Lackner
e4c38f6bad
ntdll: Implement threadpool work item functions.
2015-07-01 19:18:15 +09:00
Sebastian Lackner
3606b47139
ntdll/tests: Add tests for TpAllocCleanupGroup and related functions.
2015-07-01 19:18:15 +09:00
Sebastian Lackner
68d92bceed
ntdll: Implement threadpool cleanup group functions.
2015-07-01 19:18:14 +09:00
Sebastian Lackner
7d9ec31e19
ntdll: Implement TpSetPoolMinThreads.
2015-07-01 19:18:14 +09:00
Sebastian Lackner
d56984a03d
ntdll: Implement TpSetPoolMaxThreads.
2015-07-01 19:18:13 +09:00
Sebastian Lackner
db9fc9141e
ntdll: Implement TpSimpleTryPost and basic threadpool infrastructure.
2015-07-01 19:18:13 +09:00
André Hentschel
d37f407645
ntdll: Silence warning about TAPE_GetStatus when sys/mtio.h is not available.
2015-06-30 14:42:13 +09:00
Sebastian Lackner
d082ea3eab
ntdll: Implement support for AT_ROUND_TO_PAGE flag in NtMapViewOfSection.
2015-06-26 20:35:05 +09:00
Sebastian Lackner
7a8470ea94
ntdll: NtMapViewOfSection should fail if both addr_ptr and zero_bits is set.
2015-06-26 20:35:05 +09:00
André Hentschel
8d4917e865
include: Add IMAGE_LOAD_CONFIG_DIRECTORY64 definition.
2015-06-24 15:37:02 +09:00
Nikolay Sivov
0824771423
kernel32: Export RtlCopyMemory().
2015-06-19 19:10:45 +09:00
André Hentschel
1133295267
ntdll: Set TPIDRURW inline on ARM.
2015-06-17 18:19:55 +09:00
André Hentschel
aa139d3e86
ntdll: Set platform register x18 to TEB on ARM64.
2015-06-17 18:19:55 +09:00
Mohamed Mediouni
2b095beace
ntdll: Multiply r4 with the word size in ARM for __chkstk.
2015-06-16 23:56:44 +09:00
André Hentschel
bef85a14f6
ntdll: Fix CONTEXT_ARM in RtlCaptureContext.
2015-06-15 15:29:03 +09:00
André Hentschel
cd258bef79
ntdll: Implement RtlCaptureContext on ARM64.
2015-06-15 15:29:03 +09:00
André Hentschel
bd1f7ef186
include: Rename 64-bit PState to 32-bit Cpsr on ARM64.
2015-06-15 14:51:33 +09:00
Erich E. Hoover
cdefae9ef2
ntdll: Fix IOCTL_DVD_READ_STRUCTURE expected output size.
2015-06-15 14:50:19 +09:00
Ken Thomases
3b74ac0f08
ntdll: Fix the "not found" status set by read_directory_stat() and read_directory_getattrlist() for when restart_scan is set.
2015-06-12 21:22:42 +09:00
Ken Thomases
e7fa766378
Revert "ntdll: Avoid one of the calls to getattrlist() when read_directory_getattrlist() checks the case sensitivity of the file system.".
...
This was wrong-headed and could never have worked. The second getattrlist()
call that I was trying to avoid was only necessary when the first fails. Given
that the first failed, its results can't be used to avoid the second, no matter
what information we requested.
This reverts commit 5514df9d4e
.
2015-06-12 21:22:42 +09:00
Sebastian Lackner
bdef5c5508
ntdll/tests: Add tests for info struct size for FileDispositionInformation.
2015-06-11 15:32:30 +09:00
Sebastian Lackner
8ddab2c2f4
ntdll: Fix status code when NtMapViewOfSection parameter check fails.
2015-06-08 15:34:04 +09:00
Ken Thomases
82dd799d52
ntdll: Add partial support for version 3 of DWARF CIEs which are generated by Clang/LLVM.
2015-06-05 18:40:39 +09:00
Ken Thomases
bbcfa6b4ee
ntdll: Add support for using libunwind to unwind the stack for x86_64.
...
On OS X, Apple uses compact unwind info in preference to DWARF unwind info.
2015-06-05 15:08:02 +09:00
Qian Hong
ef3ed04cdc
server: Fix type name of directory file.
2015-06-05 14:32:27 +09:00
Qian Hong
f208c50cc0
server: Fix type name of File.
2015-06-05 14:32:23 +09:00
Qian Hong
bdc223ad39
server: Fix type name of IoCompletion.
2015-06-05 14:32:15 +09:00
Qian Hong
7a7fc1e604
ntdll/tests: Add a few more ObjectTypeInformation tests.
2015-06-05 14:32:11 +09:00
Qian Hong
71080cc081
ntdll: Implemenent ObjectTypeInformation class support in NtQueryObject.
2015-06-05 14:32:01 +09:00
Sebastian Lackner
d6a044c86a
ntdll/tests: Don't call lstrlenW on non-null-terminated buffer.
2015-06-05 14:11:10 +09:00
André Hentschel
c13be7446e
ntdll: Fix returning from various ARM assembler functions.
2015-05-29 15:03:06 +09:00
André Hentschel
a18f84c0b1
ntdll: Add stub for __chkstk on ARM.
2015-05-29 15:03:05 +09:00
André Hentschel
8e0164bd26
include: Add more ARM64 CV constants.
2015-05-28 14:20:55 +09:00
Jactry Zeng
c9e1b6fb57
ntdll/tests: Test opening a directory with NULL ObjectName.
2015-05-27 17:13:08 +09:00
Ken Thomases
5514df9d4e
ntdll: Avoid one of the calls to getattrlist() when read_directory_getattrlist() checks the case sensitivity of the file system.
...
Extract a new function, get_dir_case_sensitivity_attr_by_id(), from
get_dir_case_sensitivity_attr(). Call that instead of get_dir_case_sensitivity()
from read_directory_getattrlist(). We get the device and file system IDs from
the same getattrlist() call we're already doing, so that avoids an extra call.
2015-05-22 14:11:03 +09:00
André Hentschel
dec7b246f8
ntdll: Add ARMv8 detection for ARM32.
2015-05-22 14:10:29 +09:00
André Hentschel
b5b34220cc
ntdll: Parse ARM64 CPU info.
2015-05-22 14:10:27 +09:00
Alexandre Julliard
ee1528040e
ntdll: Remove the special case for the NUL device.
2015-05-21 17:38:19 +09:00
Alexandre Julliard
950c82094b
ntdll: Add support for file I/O on device files.
2015-05-21 17:38:04 +09:00
Alexandre Julliard
c0ac2afb19
server: Create the null device and its symlink.
2015-05-21 17:24:34 +09:00
André Hentschel
74ef3af73d
ntdll: Use the correct arch value for ARM64.
2015-05-21 14:23:45 +09:00
Ken Thomases
bb89f10e5e
ntdll: Fix read_directory_getattrlist() to get the name of a symlink rather than its target, but still detect if the symlink is broken.
2015-05-21 13:59:56 +09:00
Ken Thomases
5c98448aa3
ntdll: If read_directory_getattrlist() finds that the file doesn't exist, return successful "no file" result to stop search.
2015-05-21 13:58:01 +09:00
Ken Thomases
f6926b3515
ntdll: Increase name buffer size in read_directory_getattrlist() for UTF-8 encoding.
...
The docs for getattrlist() say that ATTR_CMN_NAME can return up to NAME_MAX + 1
Unicode characters (code points) encoded in UTF-8, which means it can be up to
NAME_MAX * 3 + 1 bytes.
2015-05-21 13:57:45 +09:00
Sebastian Lackner
39abfc4d74
ntdll: Add stub for NtImpersonateAnonymousToken.
2015-05-21 13:57:05 +09:00
Matteo Bruni
cb5c92f33c
ntdll/tests: Add a test for filename casing with NtQueryDirectoryFile().
2015-05-20 17:32:19 +09:00
Matteo Bruni
2f0febe60a
ntdll: Ignore positive matches in read_directory_stat() for case-insensitive filesystems.
...
It's necessary to return the actual filename with correct casing and a
plain stat doesn't allow that. Make read_directory_stat() return the
result of the stat() call on a case-insensitive filesystem only when the
file is missing.
2015-05-20 17:32:16 +09:00
Matteo Bruni
5d65b9d0c2
ntdll: Implement a read_directory_getattrlist() function.
...
When searching for a specific filename on a case-insensitive filesystem
we first try with stat(). If stat() does find the file we currently
return the requested filename back.
That presents an issue when the application cares about the casing of the
actual file stored on-disk. Specifically, NtQueryDirectoryFile is
supposed to return the actual filename with correct casing.
One possible solution to the issue, without having to resort to manually
scanning the directory entries, is to make use of the OS X getattrlist()
function, since it can return the filename stored on the filesystem.
2015-05-20 17:32:09 +09:00
Alexandre Julliard
871ab51233
ntdll/tests: Use the correct flags for NtOpenFile.
2015-05-18 17:50:22 +09:00
Sebastian Lackner
b3913c4f77
ntdll/tests: Add tests for accessing \\Device\\Null.
2015-05-18 17:42:46 +09:00
Huw Davies
d6d703b592
ntdll/tests: Fix incorrect prototype.
2015-05-15 21:58:06 +09:00
Huw Davies
14c53a5863
ntdll/tests: Wait for pending file operations to complete.
2015-05-14 20:06:06 +09:00
Nikolay Sivov
2c98d5b90c
kernel32: Implement GetDynamicTimeZoneInformation().
2015-05-11 15:39:24 +09:00
Qian Hong
ac86cb9eba
ntdll/tests: Fixed typo.
2015-05-08 14:54:52 +09:00
André Hentschel
f78bd7f4d9
ntdll: Enable wow64 on ARM64.
2015-05-08 14:54:47 +09:00
Alexandre Julliard
193667ecd7
ntdll: Fix handling of async cancellation for directory changes.
2015-05-07 16:02:26 +09:00
Alexandre Julliard
38b7c8839c
ntdll: Don't run user APCs in NtCancelIoFile.
2015-05-07 15:38:57 +09:00
Sebastian Lackner
e40e5661ee
ntdll/tests: Add/remove todo_wine to avoid test failures.
2015-05-07 14:55:25 +09:00
Josh DuBois
44182ffb5b
ntdll: Avoid movs between rcx, rdx and xmm registers.
...
Apple's version of as chokes on movs between rcx and rdx and the xmm
registers.
2015-05-06 20:44:58 +09:00
Alexandre Julliard
c07a0561db
ntdll: Fallback to server calls for read and write on objects without a file descriptor.
2015-05-06 17:16:48 +09:00
Alexandre Julliard
860091d2fd
server: Add an async structure to the flush request to follow the common pattern.
2015-05-06 17:16:15 +09:00
Alexandre Julliard
165dd1ff36
server: Rename ioctl to irp to allow supporting various types of I/O requests.
2015-05-06 08:44:29 +09:00
Sebastian Lackner
ee6a477cab
ntdll: Return failure in NtProtectVirtualMemory when last argument is omitted.
2015-05-05 23:15:31 +09:00
Sebastian Lackner
64ee8a4a53
ntdll: Do not omit mandatory argument for VirtualProtect.
2015-05-04 20:07:58 +09:00
Sebastian Lackner
40c912b4be
ntdll: Use lockfree implementation for get_cached_fd.
2015-05-04 16:22:38 +09:00
Michael Müller
7567db85be
ntdll: Add support for Dynamic DST (daylight saving time) information in registry.
2015-04-28 15:37:54 +09:00
Thomas Faber
3d9693fa61
ntdll/tests: Avoid printing an unterminated string (DPH).
2015-04-24 14:30:04 +09:00
Jianqiu Zhang
4c41f2bb52
ntdll/tests: Add test for FileFsFullSizeInformation.
2015-04-23 20:43:19 +09:00
Stefan Leichter
a9ae8dbf14
ntdll: Add stub for WinSqmIsOptedIn.
2015-04-22 14:02:21 +09:00
Thomas Faber
bb781b4468
ntdll/tests: Ensure 4-byte alignment for ATOM_BASIC_INFORMATION.
2015-04-22 14:00:48 +09:00
Qian Hong
604c4dba80
ntdll: Correctly document the offset of ntdll_thread_data.
...
This is a follow up of 16ddc62405
.
2015-04-21 14:30:45 +09:00
Marcus Meissner
33d4125a8f
ntdll: Potential buffer overwrite (Coverity).
2015-04-20 14:38:41 +09:00
Andrew Cook
1d359a5827
server: Implement TerminateJobObject.
2015-04-07 23:15:47 +09:00
Andrew Cook
4113fd875c
ntdll: Return success for JobObjectBasicUIRestrictions.
2015-04-06 16:06:25 +09:00
Andrew Cook
5d85f57814
server: Track handle count of objects.
2015-04-03 17:07:37 +09:00
Sebastian Lackner
33c3990e4d
ntdll: Fix various bugs RtlUnwindEx on x86_64.
2015-04-03 17:07:36 +09:00
Andrew Cook
47ffeaee74
server: Implement io completion messages for job objects.
2015-04-03 00:33:29 +09:00
Andrew Cook
ecd41d1de7
server: Implement job limit flags.
2015-04-03 00:33:29 +09:00
Andrew Cook
3affd63b34
server: Implement IsProcessInJob.
2015-04-01 22:34:19 +09:00
Andrew Cook
98132f0364
server: Implement AssignProcessToJobObject.
2015-04-01 22:34:18 +09:00
Andrew Cook
0e78b0248d
server: Implement CreateJobObject.
2015-04-01 17:05:44 +09:00
Mark Harmstone
104161cfd2
ntdll: Treat strings as case-insensitive in find_window_class.
2015-03-31 00:04:44 +09:00
Piotr Caban
966c5dffed
ntdll: Improve parameter validation in RtlAddAce.
2015-03-30 20:03:44 +09:00
André Hentschel
472340052a
ntdll: Get available CPU info from FreeBSD on ARM.
2015-03-27 21:28:52 +09:00
André Hentschel
2b5deddc05
ntdll: Fix CPU level on ARM.
2015-03-27 21:28:48 +09:00
André Hentschel
a29ca210e6
ntdll: Add support for FreeBSD on ARM.
2015-03-27 21:28:44 +09:00
Michael Müller
64c48d0e63
ntdll: Define a couple more information classes.
2015-03-26 14:20:48 +09:00
Francois Gouget
f505e6fb4a
Assorted spelling fixes.
2015-03-19 21:54:14 +09:00
Sebastian Lackner
5f49f07d49
ntdll: Handle write watches in virtual_uninterrupted_write_memory.
2015-03-19 17:06:29 +09:00
Sebastian Lackner
ab91c01112
ntdll: RtlFindActivationContextSectionString should accept a NULL pointer as data.
2015-03-17 16:02:25 +09:00
Sebastian Lackner
41b24f2168
ntdll: Move all structs and definitions to the beginning in threadpool.c.
2015-03-17 14:52:07 +09:00
Francois Gouget
872e96fc4e
ntdll/tests: Remove an unneeded NONAMELESSSTRUCT directive.
2015-03-16 15:04:52 +09:00
Francois Gouget
ca1545cf17
ntdll: Remove unneeded NONAMELESSXXX directives.
2015-03-16 15:04:50 +09:00
Sebastian Lackner
2daca626d4
ntdll: Implement [Nt|Zw]QueryLicenseValue.
2015-03-13 21:53:25 +09:00
Qian Hong
c61407f651
ntdll: Removed incorrect stub message in NtQueryObject and NtSetInformationObject.
2015-03-11 12:42:35 +09:00
Sebastian Lackner
ae309c2d00
ntdll: Move static threadpool variables into a struct.
2015-03-10 15:33:20 +09:00
Qian Hong
2a098ab8a8
ntdll: Implemented FileNetworkOpenInformation class support in NtQueryInformationFile.
2015-03-10 15:18:13 +09:00
Sebastian Lackner
bf65fef8bc
ntdll: Assert when trying to replace an exiting file descriptor in fd_cache.
2015-03-04 21:50:38 +09:00
Sebastian Lackner
b282a937e2
ntdll/tests: Add tests for TpSimpleTryPost function.
2015-03-03 17:11:25 +09:00
Sebastian Lackner
d336f1fe68
ntdll/tests: Add tests for NtQueryLicenseKey.
2015-03-03 17:10:37 +09:00
Alexandre Julliard
1146e251fc
ntdll: Avoid the intermediate user APC callback.
2015-03-03 17:02:04 +09:00
Alexandre Julliard
0a241b0fcc
ntdll: Allow specifying the user APC argument in the system APC callback.
2015-03-03 17:02:03 +09:00
Alexandre Julliard
8843bc144d
server: Allow passing an argument for the user APC async I/O callbacks.
2015-03-03 17:02:03 +09:00
Alexandre Julliard
577cb166d4
ntdll: Don't queue a user APC when there is no callback function.
2015-03-02 23:00:29 +09:00
Alexandre Julliard
ff84bf8bdd
ntdll: Move NtNotifyChangeDirectoryFile to file.c and make it use the standard fileio structure.
2015-03-02 23:00:28 +09:00
Alexandre Julliard
4f43d743e0
ntdll: Use the fileio structure and callback also for ioctl calls.
2015-03-02 23:00:27 +09:00
Sebastian Lackner
6bec132c7a
ntdll: Try to handle write-watches while we're on the signal stack.
2015-02-27 14:59:08 +09:00
Uwe Bonnes
2148248976
ntdll: Add more serial speed settings.
2015-02-13 18:20:33 +09:00
Charles Davis
97bda9a05f
ntdll: Support 64-bit Mac OS.
2015-02-06 22:35:17 +09:00
Hans Leidekker
faf70e2fbd
ntdll: Fix calculation of process and thread affinity masks on systems with a large number of processors.
2015-01-21 15:31:16 +01:00
Michael Stefaniuc
52e665a3bd
ntdll/tests: Remove unused assigments (PVS-Studio).
2015-01-19 14:31:25 +01:00
Qian Hong
cffd86f195
ntdll: Make RtlAddVectoredExceptionHandler hotpatchable.
2015-01-16 16:52:20 +01:00
Qian Hong
d45bda3014
ntdll: Fixed buffer size checking for ProcessWow64Information on 64bit in NtQueryInformationProcess.
2015-01-15 11:39:42 +01:00
Nikolay Sivov
7a612654dc
ntdll: Skip context dependencies that have allowDelayedBinding attribute set.
2014-12-31 21:13:31 +01:00
Nikolay Sivov
c134466224
ntdll: Fix 'description' element parsing to allow empty elements.
2014-12-28 19:08:47 +01:00
Nikolay Sivov
37c179794e
ntdll: Accept asm.v2 as default namespace.
2014-12-28 19:08:23 +01:00
André Hentschel
9598a39bdb
ntdll: Always define UTIME_OMIT if not yet defined.
2014-12-23 20:43:01 +01:00
Sergey Kalinichev
7eed378f5d
ntdll: Add stub for RtlSetHeapInformation.
2014-12-19 22:36:17 +01:00
Erich E. Hoover
ca51e113e4
ntdll: Unify retrieving the attributes of a file.
2014-12-17 19:42:23 +01:00
André Hentschel
550f556dca
ntdll: Remove unused macros.
2014-12-09 19:36:06 +01:00
Piotr Caban
f87767bc35
ntdll: Handle ACTCTX_FLAG_ASSEMBLY_DIRECTORY_VALID flag when opening manifest in RtlCreateActivationContext.
2014-11-28 17:04:07 +01:00
Sebastian Lackner
275ee4b376
ntdll: Implement Rtl[Add|Remove]VectoredContinueHandler semi-stubs.
2014-11-14 14:16:30 +09:00
Sebastian Lackner
009b6a25bb
ntdll/tests: Add basic tests for Rtl[Add|Remove]VectoredContinueHandler.
2014-11-14 14:16:27 +09:00
André Hentschel
8fd7c73a2b
ntdll/tests: Get rid of "defined but not used" warnings on non-x86(_64) platforms.
2014-11-13 18:46:38 +09:00
Austin English
4c0ceacee0
ntdll: Add stubs for vectored continue handler.
2014-11-13 16:31:49 +09:00
Hans Leidekker
b31ed58b96
server: Set the security descriptor of named pipe objects.
2014-11-12 21:09:50 +09:00
André Hentschel
d978dcedd5
ntdll/tests: Clarify ok() conditions (PVS-Studio).
2014-11-11 14:21:31 +09:00
Sebastian Lackner
1c1e7ed016
ntdll: Add support for ATL thunk 'POP ecx; POP eax; PUSH ecx; JMP 4(%eax)'.
2014-10-21 18:51:05 +09:00
Sebastian Lackner
dcd2b0a366
ntdll: Add support for ATL thunk 'MOV this,ecx; MOV func,eax; JMP eax'.
2014-10-21 18:51:04 +09:00
Sebastian Lackner
40472cd3a7
ntdll: Add support for ATL thunk 'MOV this,edx; MOV func,ecx; JMP ecx'.
2014-10-21 18:51:02 +09:00
Sebastian Lackner
aab0d25a49
ntdll: Add support for ATL thunk 'MOV this,ecx; JMP func'.
2014-10-21 18:50:59 +09:00
Akihiro Sagawa
e94d2e0459
server: KeyNameInformation returns the full name of the key.
2014-10-15 22:01:59 +09:00
Sebastian Lackner
34b2d920b4
ntdll: Improve check_atl_thunk to prevent passing exceptions to the usermode application.
2014-10-15 11:52:06 +09:00
Sebastian Lackner
1c957ceb96
ntdll: Only check for ATL thunk if allowed by execute option flags.
...
Checking for ATL thunks can be disabled by setting MEM_EXECUTE_OPTION_DISABLE_THUNK_EMULATION.
2014-10-13 18:31:26 +09:00
Sebastian Lackner
e16996bb3d
ntdll: reset_write_watches shouldn't remove enforced exec permissions.
2014-10-13 18:31:19 +09:00
Sebastian Lackner
aa3c6111d9
ntdll: Ensure force_exec_prot is also used for views with write watch permissions.
2014-10-13 18:31:14 +09:00
Sebastian Lackner
0cf3d78167
ntdll: Avoid recursive exception handler calls when handling guard pages.
...
The ATL check leads to problems when a page is protected with guard page protection.
raise_segv_exception is called with EXCEPTION_EXECUTE_FAULT. The ATL check tries to
read the memory, and triggers another exception handler. This time the virtual_handle_fault
check is executed, and removes the guard page protection. Afterwards, when the ATL
check returns, the exception is _not_ catched by virtual_handle_fault, but instead
passed to the application.
2014-10-13 18:31:06 +09:00
André Hentschel
778c2ab6f9
ntdll: Add support for Win 8.1.
2014-10-08 17:45:51 +02:00
Michael Müller
15d013067d
ntdll: Wait until builtin dlls are unloaded before releasing the virtual view.
2014-10-07 20:22:15 +02:00
Sebastian Lackner
5272ca241b
ntdll: Set ldr.EntryPoint for main executable.
2014-10-07 20:22:13 +02:00
Michael Müller
9e69715900
ntdll: Fix handling of page fault if a guard page and write watch is triggered at the same time.
2014-10-07 20:21:56 +02:00
Akihiro Sagawa
e47ff90659
ntdll/tests: Add KeyNameInformation tests.
2014-09-29 17:48:30 +02:00
Akihiro Sagawa
2be3df3c32
ntdll/tests: Remove duplicated entry.
2014-09-29 17:48:25 +02:00
André Hentschel
6d50cfcac2
ntdll: Use a dynamic buffer for change notification data.
2014-09-23 17:17:11 +02:00
Daniel Lehman
27b3a5cce4
ntdll: Use the configured CriticalSection timeout in RtlpWaitForCriticalSection.
2014-09-11 19:30:42 +02:00
Sebastian Lackner
636dc013cd
ntdll: Use call_dll_entry_point to execute TLS callbacks.
2014-09-08 16:03:38 +02:00
Sebastian Lackner
b7f77bb1fd
ntdll: Save more registers in call_dll_entry_point on i386.
2014-09-08 16:02:17 +02:00
Felix Janda
3ae113a957
ntdll: getdents64 might have been defined previously.
2014-09-05 15:26:55 +02:00
Nikolay Sivov
7b7d8374a4
ntdll: NtWaitForMultipleObjects()'s third arguments means 'wait_any', not 'wait_all'.
2014-09-01 13:03:07 +02:00
Sebastian Lackner
b765561b49
ntdll/tests: Add tests for FILE_PIPE_INFORMATION.
...
Based on a patch by Adam Martinson.
2014-08-21 18:02:27 +02:00
Sebastian Lackner
82ce3fdcfd
server: Implement set_named_pipe_info wineserver call for NtSetInformationFile/FilePipeInformation.
...
Based on a patch by Adam Martinson.
2014-08-20 19:40:07 +02:00
Adam Martinson
55e10e4ae2
ntdll: Implement FILE_PIPE_INFORMATION for NtQueryInformationFile.
2014-08-20 19:35:44 +02:00
Ken Thomases
a14ed527d8
ntdll: In find_file_in_dir(), don't test directory entries' short names if the target name isn't a short name.
...
hash_short_file_name() will always create a short name of at least 8 characters
with the 5th being a tilde (~). If the target name isn't of that form, then it
can never match any short name constructed from the directory entries.
2014-07-30 11:31:55 -05:00
Alexandre Julliard
d7f6f8ee6c
ntdll: Define arch_prctl since it is missing on Android.
2014-07-24 20:44:50 +02:00
Francois Gouget
09ffb97fdd
ntdll: Fix the compilation by using the right mcontext_t field names for the signal context on FreeBSD.
2014-07-24 19:24:41 +02:00
Thomas Faber
b4c96633ea
include: Correctly spell STATUS_SMI_PRIMITIVE_INSTALLER_FAILED.
2014-07-23 21:24:24 +02:00
Alexandre Julliard
69d198a9eb
ntdll: Use the standard mcontext_t type for the signal context on Android.
2014-07-23 21:24:18 +02:00
Alexandre Julliard
775263aa5c
ntdll: Directly use ucontext_t instead of SIGCONTEXT on all platforms.
2014-07-23 19:07:00 +02:00
Alexandre Julliard
8d817997ce
configure: Add a check for sys/ucontext.h and include it where appropriate.
2014-07-23 19:06:58 +02:00
Alexandre Julliard
1b1ea639cd
ntdll: Use a custom signal restorer for Android.
...
Bionic doesn't provide one, even when vdso has been unmapped by the
preloader.
2014-07-17 14:51:12 +02:00
Frédéric Delanoy
ec3a9a54f5
ntdll: Avoid potential integer overflow when computing median position in bsearch.
2014-07-03 18:17:30 +02:00
Sebastian Lackner
9d82ee5cac
ntdll/tests: Add tests for DBG_RIPEXCEPTION debugger events.
2014-06-23 11:06:00 +02:00
Sebastian Lackner
2fcecdb72e
ntdll: Avoid leaking activation context in RtlCreateUserThread. (Valgrind).
2014-06-23 10:18:23 +02:00
Sebastian Lackner
cfd09b0967
ntdll: Fix leaking activation context when terminating via exit_thread(). (Valgrind).
2014-06-23 10:17:26 +02:00
Sebastian Lackner
99ac786c69
ntdll/tests: Add more tests for debug string events.
...
This patch adds additional tests, to check how debuggers handle
OUTPUT_DEBUG_STRING_EVENT events.
2014-06-20 16:30:57 +02:00
Sebastian Lackner
457f6af057
ntdll/tests: Run crashing i386 exception tests as the last step.
2014-06-20 12:20:25 +02:00
Sebastian Lackner
3aa62498da
ntdll/tests: Use an EXCEPTION_REGISTRATION_RECORD array to prevent compiler from reordering variables.
2014-06-20 12:19:53 +02:00
Sebastian Lackner
0828715179
ntdll/tests: Add exception tests for RtlUnwind on i386.
2014-06-19 19:44:34 +02:00
Sebastian Lackner
1b3d67aace
kernel32: Raise DBG_PRINTEXCEPTION_C exception in OutputDebugStringA.
2014-06-17 10:58:28 +02:00
Michael Müller
97c3bb040e
ntdll: Stub TokenAppContainerSid in NtQueryInformationToken.
2014-06-12 18:13:19 +02:00
Sebastian Lackner
dd0e9fe91e
ntdll/tests: Fix exception test failures on x86_64.
2014-06-11 19:15:01 +02:00
Jacek Caban
1d6bf952d3
ntdll: Removed no longer used defines.
2014-06-11 16:16:08 +02:00
Nikolay Sivov
5a8d73283c
ntdll: Fix LdrLockLoaderLock()/LdrUnlockLoaderLock() on 64bit.
2014-06-11 13:05:39 +02:00
Nikolay Sivov
97e2af1f73
ntdll: Implement non-blocking mode for LdrLockLoaderLock().
2014-05-16 10:52:52 +02:00
Martin Storsjo
8cb42d4135
ntdll: Align FILE_*_DIRECTORY_INFORMATION structs to 8 bytes.
2014-05-15 19:04:56 +02:00
Martin Storsjo
114444ca9c
ntdll: Don't write uninitialized bytes at the end of filenames.
2014-05-15 19:04:55 +02:00
Alexandre Julliard
2cef8dbcc2
ntdll: Determine the mapping type automatically from the WRITECOPY flag.
2014-05-13 12:28:58 +02:00
Jacek Caban
5ceb22714e
ntdll: Use MAP_PRIVATE for copy on write mappings.
2014-05-13 12:27:32 +02:00
Jacek Caban
4792cf31c5
ntdll: Always use MAP_SHARED in NtMapViewOfSection.
2014-05-08 18:27:38 +02:00
Nikolay Sivov
0563c78cb6
ntdll/tests: Fix some string leaks (Valgrind).
2014-05-06 13:47:01 +02:00
Nikolay Sivov
4a28464484
ntdll: Fix a 'tlbid' string value leak (Valgrind).
2014-05-05 12:17:51 +02:00
Alexandre Julliard
693d6e48d7
ntdll: Don't wait for writes to complete in NtFlushVirtualMemory.
2014-04-24 14:39:48 +02:00
Austin English
1a988fa465
ntdll: Make sure flags are preserved in raise_trap_exception().
2014-04-15 21:03:55 +02:00
Akihiro Sagawa
e67f84122d
ntdll: Add %gs support for NetBSD.
2014-04-14 20:19:01 +02:00
Thomas Faber
2d80ef28d0
ntdll/tests: Add tests for RtlUTF8ToUnicodeN.
2014-04-09 17:31:03 +02:00
Thomas Faber
9694360a27
ntdll/tests: Add tests for RtlUnicodeToUTF8N.
2014-04-09 17:28:37 +02:00
Sebastian Lackner
7821be356d
ntdll/tests: Add tests for dynamic unwind table.
2014-04-08 19:23:19 +02:00
Sebastian Lackner
4d8edf7612
ntdll: Implement RtlInstallFunctionTableCallback on x86_64.
2014-04-08 19:23:14 +02:00
Sebastian Lackner
98307b22fb
ntdll: Implement RtlAddFunctionTable / RtlDeleteFunctionTable for x86_64.
2014-04-08 18:28:31 +02:00
Sebastian Lackner
a71d1e389f
ntdll: Unify exception function lookup on x86_64.
2014-04-08 18:28:30 +02:00
Huw Davies
ac79e160e7
ntdll: For Android look in /proc/mounts for mounted file systems.
2014-04-07 15:34:44 +02:00
Huw Davies
2139df003f
ntdll: Add a replacement getmntent for Android.
...
Bionic has a stub function named getmntent which outputs an unimplemented message.
2014-04-07 15:34:43 +02:00
Nikolay Sivov
b82b1306a4
kernel32: Added QueryUnbiasedInterruptTime().
2014-04-02 15:50:09 +02:00
Alexandre Julliard
598c5816d9
kernel32: Don't allocate FLS index 0.
2014-03-28 17:46:03 +01:00
Jacek Caban
93920c3893
ntdll: Reserve TLS slot 0 for broken apps that compare index to 0 instead of TLS_OUT_OF_INDEXES.
2014-03-28 16:19:55 +01:00
Alexandre Julliard
395df1aa2d
ntdll: Heap handles should be 64K-aligned.
2014-03-26 11:24:30 +01:00
Dmitry Timoshkov
d5fd04f2f0
ntdll/tests: Always wait until the operation completes if returned status is STATUS_PENDING.
2014-03-21 14:14:42 +01:00
Sebastian Lackner
7ba4d119c1
ntdll: Use condition variable for RtlQueueWorkItem implementation.
2014-03-12 10:41:26 +01:00
Sebastian Lackner
9277fcfdb4
ntdll: Fix possible race-condition in iocp poller code.
2014-03-11 19:39:29 +01:00
Alexandre Julliard
0e42fd97c0
ntdll: Detect 16-bit modules and resolve imports for them.
2014-02-25 16:08:24 -06:00
Nikolay Sivov
88fc916442
ntdll: Use case-insensitive matching for typelib flags.
...
Spotted by Austin English.
2014-02-24 09:12:03 -06:00
Alexandre Julliard
ff08cd597d
ntdll: Only allocate TLS data when resolving imports.
2014-02-17 20:16:08 +01:00
Alexandre Julliard
f5fc925f0e
ntdll: Move fixup_imports to avoid forward declarations.
2014-02-17 20:15:45 +01:00
Alexandre Julliard
0f0bf58663
ntdll: Don't fixup imports for executables.
2014-02-17 20:15:44 +01:00
Alexandre Julliard
7307298ac3
ntdll: Don't fixup imports when a dll is already loaded.
2014-02-17 20:15:43 +01:00