Commit Graph

985 Commits

Author SHA1 Message Date
Zebediah Figura 455b707ea2 ntdll: Return STATUS_PENDING when restarting asyncs.
Fixes: 1eb56b20ba
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 10:27:03 +02:00
Gerald Pfeifer cac8c971a7 ntdll: Fix init_builtin_dll for FreeBSD again.
Commit e9cfc97d46

    Revert "ntdll: Add a Wine-specific class in NtQueryVirtualMemory
    to retrieve the init functions of a module."

    This reverts commits e5339ecbc6 and
    18408b18f3.

broke the build on FreeBSD.

Adjust the return value for FreeBSD as well.

Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-23 10:26:29 +02:00
Brendan Shanks d49822c8a1 ntdll: Generate SMBIOS tables on Apple Silicon Macs.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51557
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:49 +02:00
Brendan Shanks fb675cefbd ntdll: Factor out get_smbios_from_iokit().
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:49 +02:00
Brendan Shanks 2868881c63 ntdll: Factor out SMBIOS table creation.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-20 22:45:49 +02:00
Charles Davis dd882794d2 ntdll: Use posix_fallocate() instead of fallocate().
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-15 19:34:21 +02:00
Gabriel Ivăncescu 2fe70331d9 ntdll: Implement JobObjectBasicProcessIdList for NtQueryInformationJobObject.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 21:24:14 +02:00
Zebediah Figura 1eb56b20ba ntdll: Explicitly return whether an async is complete in async_callback_t.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:31:20 +02:00
Zebediah Figura 5af74129bd ntdll: Do not fill the IOSB if a device IRP failed synchronously.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:30:17 +02:00
Zebediah Figura 1ee382c706 server: Pass the async result size as part of apc_call_t.
Only really an optimization (plus it makes the code a little conceptually simpler).

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-14 18:30:09 +02:00
Alexandre Julliard 1649785bec Revert "ntdll: Stub power request APIs."
This reverts commit ca2b701249.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51741
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 23:21:21 +02:00
Alexandre Julliard e9cfc97d46 Revert "ntdll: Add a Wine-specific class in NtQueryVirtualMemory to retrieve the init functions of a module."
This reverts commits e5339ecbc6 and
18408b18f3.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51596
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-09-10 20:22:11 +02:00
Alexandre Julliard ea6308e364 ntdll: Declare the syscall functions array explicitly.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Alexandre Julliard 7ae1c396ac ntdll: Store the syscall argument table on the PE side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Alexandre Julliard d017c704f0 ntdll: Add a helper function to set a syscall table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Akihiro Sagawa 8a3e0d686e ntdll: Fix use-after-free.
Fixes a regression introduced by 76f949577a.
nt_name or redir is used in open_unix_file() because attr.ObjectName
points to either of them.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51702
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-30 22:49:58 +02:00
Huw Davies dd37c3c4a0 ntdll: Remove unnecessary casts on macOS registers.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 18:06:29 +02:00
Huw Davies 3fa8503de5 ntdll: Remove old macOS register names.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-27 18:06:29 +02:00
Alexandre Julliard ff04d8a4c2 ntdll: Move the syscall dispatcher implementation to the platform-specific files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 11:25:38 +02:00
Alexandre Julliard 847db3c1d3 ntdll: Store the syscall table in the syscall frame on all platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 10:47:38 +02:00
Alexandre Julliard 77f5e2963f ntdll: Store the syscall flags in the syscall frame on all platforms.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-26 10:47:38 +02:00
Alistair Leslie-Hughes 16a7976de9 ntdll: Add NtTraceControl/ZwTraceControl stubs.
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-25 10:49:13 +02:00
Alexandre Julliard 88c5184b4d ntdll: Consistently fixup the machine type for IL-only binaries.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51668
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-24 17:40:40 +02:00
Alexandre Julliard ee99bd4bc1 ntdll: Always send a Wow context to the server for Wow64 processes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 11:34:49 +02:00
Alexandre Julliard 6da06c1541 ntdll: Fix floating point exception codes in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 11:33:46 +02:00
Alexandre Julliard 2736fabc58 ntdll: Don't handle breakpoint interrupts in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 11:33:32 +02:00
Alexandre Julliard 8a8889340f ntdll: Fix exception information for SSE floating point faults.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-20 11:32:17 +02:00
Gerald Pfeifer 6468e445bd ntdll: Always return a value in get_builtin_init_funcs.
This only showed up in the #ifdef __FreeBSD__ case, so did not appear
on other platforms during testing.

Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-19 11:16:08 +02:00
Alex Henrie cf43c365ce ws2_32: Re-add support for getting IP_HDRINCL on raw sockets.
This reverts most of commit e001319304.

My previous diagnosis was incorrect: Windows does support both getting
and setting IP_HDRINCL, but only on raw sockets. Very old versions of
Windows also accept it on UDP sockets.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:08:01 +02:00
Alex Henrie 169553916e ntdll: Check for unsupported socket protocol+option combinations.
Windows supports none of these options on TCP. Linux supports all of
them on TCP. Mac OS supports some of them on TCP, but sets EOPNOTSUPP
instead of EINVAL for the ones that it doesn't support. So, Wine needs
to do its own check for whether the option may be used with the socket.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-18 20:07:59 +02:00
Alex Henrie e001319304 ws2_32: Drop support for getting the IP_HDRINCL socket option.
Windows only supports setting this option, not getting it.

Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 20:02:23 +02:00
Alexandre Julliard 94f63ea23f ntdll: Add support for user callbacks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 18:16:43 +02:00
Alexandre Julliard b56a4b3efc ntdll: Implement KiUserCallbackDispatcher().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 11:55:39 +02:00
Alexandre Julliard daa1886a2c ntdll: Add a stub for NtCallbackReturn().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-17 11:52:35 +02:00
Alex Henrie f68923dca0 ws2_32: Hook up IPV6_RECVTCLASS.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-16 18:40:29 +02:00
Alexandre Julliard faaad36429 ntdll: Make get_builtin_unix_funcs() static.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-13 11:38:25 +02:00
Zebediah Figura a8d2de6092 ntdll: Make wine_build a hidden symbol.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-13 11:36:36 +02:00
Zebediah Figura 7c10730e04 ntdll: Make alloc_fs_sel() a hidden symbol.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-13 11:36:33 +02:00
Alexandre Julliard e309bad98c include: Add a private header for Unix libraries definitions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-12 17:30:21 +02:00
Gerald Pfeifer 59da79021a ntdll: Only use sysinfo function when present.
On some systems <sys/sysinfo.h> may be present while the sysinfo
function may not, or at least not as part of standard libraries,
so check whether the function is actually available before using
it.

This fixes builds on FreeBSD with the devel/libsysinfo present.

Signed-off-by: Gerald Pfeifer <gerald@pfeifer.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Alexandre Julliard 2941e51855 ntdll: Avoid CDECL on internal functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:50 +02:00
Alexandre Julliard d7add38218 ntdll: Make __wine_unix_call() WINAPI to follow syscall conventions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-11 23:00:49 +02:00
Alexandre Julliard 572817948a ntdll: Add a custom type for the Unix functions table handle.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 18:07:32 +02:00
Alexandre Julliard d91d05b80a ntdll: Add a Wine-specific NtQueryVirtualMemory() query to retrieve the Unix call table.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 18:06:50 +02:00
Alexandre Julliard c29f650474 ntdll: Load the Unix dll at the same time as the PE one, but don't map it yet.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Alexandre Julliard ccd9008d8d ntdll: Don't try to load .so dlls for a different machine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Alexandre Julliard 18408b18f3 ntdll: Make release_builtin_module() static.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-10 17:53:55 +02:00
Alex Henrie 21752cc956 ntdll: Add missing break to case IPV6_PKTINFO.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-06 10:40:35 +02:00
Martin Storsjö 29922c2276 loader: Add support for ARM linux in the preloader.
Since 28fe84da45, the main exe image
must be mappable at its desired base address, which essentially
requires the preloader.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51539
Signed-off-by: Martin Storsjö <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 23:11:23 +02:00
Alexandre Julliard 61b123fae9 ntdll: Set the I/O status block through the 32-bit pointer for Wow64 processes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 23:11:20 +02:00
Alexandre Julliard 28754a04ef ntdll: Only update the I/O status block at function exit.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 23:11:15 +02:00
Alexandre Julliard 156c34ea03 ntdll: Add a helper function to get the iosb pointer to pass to the server.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 20:43:28 +02:00
Alexandre Julliard 460755a007 ntdll: Avoid some duplicate async definitions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-05 20:43:28 +02:00
Alex Henrie cade5944be ws2_32: Hook up IPV6_PKTINFO.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 23:20:40 +02:00
Alex Henrie 71d1bb60f1 ws2_32: Hook up IPV6_HOPLIMIT.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 22:06:11 +02:00
Gabriel Ivăncescu 26724c3ef4 ntdll: Fix offsetof syntax for IOCTL_AFD_WINE_GET_IRLMP_ENUMDEVICES.
Signed-off-by: Gabriel Ivăncescu <gabrielopcode@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:28 +02:00
Huw Davies 41e84b3f07 ntdll: Return STATUS_NOT_SUPPORTED if dlinfo() is not present.
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 21:48:27 +02:00
Alexandre Julliard e30f091f3b wow64cpu: Restore the full 32-bit context when changed externally.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 14:27:24 +02:00
Alexandre Julliard 3dd6cafe3d ntdll: Use the 32-bit __wine_ctrl_routine() in Wow64 processes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 12:48:31 +02:00
Alexandre Julliard 44de9743bf ntdll: Store the 32-bit PEB in the process initial 32-bit context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 12:43:07 +02:00
Alexandre Julliard 0bce76d830 ntdll: Move the loading of the global options to the Unix side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-04 11:45:51 +02:00
Alexandre Julliard e5339ecbc6 ntdll: Add a Wine-specific class in NtQueryVirtualMemory to retrieve the init functions of a module.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Alexandre Julliard c6373abc10 ntdll: Update the MEMORY_INFORMATION_CLASS enumeration.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Alexandre Julliard 669d1cce03 ntdll: Add a magic parameter to NtFreeVirtualMemory() for releasing address space.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-03 23:41:05 +02:00
Francois Gouget d84e84c126 ntdll: Improve the Nt{Query,Set}TimerResolution() stubs.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 22:57:38 +02:00
Alexandre Julliard 9bf46d5ce6 ntdll: Make wine_nt_to_unix_file_name() and wine_unix_to_nt_file_name() follow NT syscall conventions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 22:57:38 +02:00
Zebediah Figura 8c47f02cb5 ws2_32: Move the setsockopt(TCP_NODELAY) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:18 +02:00
Zebediah Figura b1669e3a4c ws2_32: Move the getsockopt(TCP_NODELAY) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:15 +02:00
Zebediah Figura 3e09e25068 ws2_32: Move the getsockopt(IRLMP_ENUMDEVICES) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:12 +02:00
Zebediah Figura 55c761540d ws2_32: Move the setsockopt(IPX_PTYPE) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:10 +02:00
Zebediah Figura ce1c5ffcae ws2_32: Move the getsockopt(IPX_PTYPE) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-08-02 11:32:07 +02:00
Zebediah Figura bf633a97a0 ws2_32: Move the setsockopt(IPV6_V6ONLY) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:46:15 +02:00
Zebediah Figura 43dfa9d437 ws2_32: Move the getsockopt(IPV6_V6ONLY) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:46:11 +02:00
Zebediah Figura 81ba59bb21 ws2_32: Move the setsockopt(IPV6_UNICAST_IF) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:46:08 +02:00
Zebediah Figura a6b880a042 ws2_32: Move the getsockopt(IPV6_UNICAST_IF) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:46:04 +02:00
Zebediah Figura 717766e58f ws2_32: Move the setsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:45:58 +02:00
Zebediah Figura 40adc6a295 ws2_32: Move the getsockopt(IPV6_UNICAST_HOPS) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 13:45:55 +02:00
Alexandre Julliard b08b4b8213 server: Store the entry point as image-relative in pe_image_info_t.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51539
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-30 12:14:30 +02:00
Zebediah Figura 15bc605224 ws2_32: Move the setsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:21 +02:00
Zebediah Figura aab6e604a9 ws2_32: Move the getsockopt(IPV6_MULTICAST_LOOP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:19 +02:00
Zebediah Figura a3f3ecf126 ws2_32: Move the setsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:17 +02:00
Zebediah Figura 15b3ab9b5b ws2_32: Move the getsockopt(IPV6_MULTICAST_IF) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:13 +02:00
Zebediah Figura 6760eea1f0 ws2_32: Move the setsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-29 10:16:10 +02:00
Zebediah Figura 5dffe2263d ws2_32: Move the getsockopt(IPV6_MULTICAST_HOPS) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura 6d2fb6f135 ws2_32: Move the setsockopt(IPV6_DROP_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura e1a34ce063 ws2_32: Move the setsockopt(IPV6_DONTFRAG) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura a615e67792 ws2_32: Move the getsockopt(IPV6_DONTFRAG) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Zebediah Figura ef54a8c318 ws2_32: Move the setsockopt(IPV6_ADD_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-28 22:07:05 +02:00
Alexandre Julliard eb6fcd3cb9 ntdll: Rename the SYSTEM_MODULE and SYSTEM_MODULE_INFORMATION structures.
To be consistent with the _EX version.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 16:39:55 +02:00
Zebediah Figura a06bcd03b9 ws2_32: Move the setsockopt(IP_UNICAST_IF) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:40 +02:00
Zebediah Figura 5819c52f3a ws2_32: Move the getsockopt(IP_UNICAST_IF) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:38 +02:00
Zebediah Figura 9715bd258c ws2_32: Move the setsockopt(IP_UNBLOCK_SOURCE) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:34 +02:00
Zebediah Figura bcf777fd18 ws2_32: Move the setsockopt(IP_TTL) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-27 10:58:30 +02:00
Zebediah Figura 86e521d5bb ntdll: Fill the I/O status block with the results of the recv_socket call in sock_recv().
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 20:14:20 +02:00
Zebediah Figura 4c639d6926 ntdll: Fill the I/O status block with the results of the send_socket call in sock_send().
The server might change the status. In particular, if we got a short but nonzero
write on a nonblocking socket, try_send() would return STATUS_DEVICE_NOT_READY
and hence leave the I/O status block unfilled. The server subsequently massages
this into STATUS_SUCECSS, causing a garbage size to be eventually returned from
ws2_32 send().

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51439
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 20:14:18 +02:00
Martin Storsjo 23b44e8df6 ntdll: Fix arm64 call_user_exception_dispatcher with kernel stack for syscalls.
Don't call KiUserExceptionDispatcher directly on the stack pointer
stored in the CONTEXT, but use the one stored in syscall_frame
(which includes the stack allocation in e.g. RtlRaiseException).

This fixes unwinding test cases that worked before
08c4419a49.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-26 19:42:25 +02:00
Zebediah Figura 6f3e5090ee ntdll: Do not accept sizeof(struct WS_sockaddr_in6_old).
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 19:03:19 +02:00
Alexandre Julliard 3fb4d1f779 ntdll: Always clear the returned handle in Nt object functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-23 17:38:32 +02:00
Paul Gofman 20fff538c4 ntdll: Add stub for ProcessInstrumentationCallback info class in NtSetInformationProcess().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 15:37:03 +02:00
Paul Gofman b335b69368 ntdll: Add SystemKernelDebuggerInformationEx info class to NtQuerySystemInformation().
Signed-off-by: Paul Gofman <pgofman@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 15:36:32 +02:00
Zebediah Figura dae60a374e ntdll: Use a separate +unwind debug channel for unwinding on x86-64.
Constant spam from unwinding routines makes +seh logs hard to read, especially
for programs that throw a lot of exceptions as part of normal execution. Since
unwind information is rarely useful, don't display it unless specifically
requested.

Make +unwind the default channel in these files, though, since there are more
unwind messages than exception messages.

Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:30:48 +02:00
Brendan Shanks ae73f35d53 ntdll: Fix locale detection on Mac.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-19 12:20:24 +02:00
Zebediah Figura 7986d4e299 ws2_32: Move the getsockopt(IP_TTL) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-10 15:38:42 +02:00
Zebediah Figura b605fca9b3 ws2_32: Move the setsockopt(IP_TOS) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-10 15:38:40 +02:00
Zebediah Figura a6f457b0ea ws2_32: Move the getsockopt(IP_TOS) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-10 15:38:37 +02:00
Zebediah Figura 38a6ac7a32 ws2_32: Move the setsockopt(IP_PKTINFO) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-10 15:38:35 +02:00
Zebediah Figura bbfe350749 ws2_32: Move the getsockopt(IP_PKTINFO) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-10 15:38:02 +02:00
Alexandre Julliard 1ce08530c3 ntdll: Use the 32-bit RtlUserThreadStart as initial Eip in the 32-bit context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 21:10:29 +02:00
Alexandre Julliard 37705d9ff6 ntdll: Don't restore %fs selector on nested signals.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 21:08:46 +02:00
Zebediah Figura ecce6909d6 ws2_32: Move the setsockopt(IP_OPTIONS) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 11:00:23 +02:00
Zebediah Figura eafb3f6108 ws2_32: Move the getsockopt(IP_OPTIONS) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 11:00:21 +02:00
Zebediah Figura ffb732bb31 ws2_32: Move the setsockopt(IP_MULTICAST_TTL) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 11:00:18 +02:00
Zebediah Figura e276b99afa ws2_32: Move the getsockopt(IP_MULTICAST_TTL) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 11:00:16 +02:00
Zebediah Figura 0debf58b6a ws2_32: Move the setsockopt(IP_MULTICAST_LOOP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-09 11:00:12 +02:00
Alexandre Julliard 3f9d49809d ntdll: Avoid calling NtReadFile() from the Unix side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 16:49:53 +02:00
Alexandre Julliard 07f8b0c84a ntdll: Avoid calling NtCreateFile() from the Unix side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 16:49:41 +02:00
Alexandre Julliard 76f949577a ntdll: Avoid calling NtOpenFile() from the Unix side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 16:49:23 +02:00
Alexandre Julliard f690266c11 ntdll: Add a helper function to open a file object.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 16:49:10 +02:00
Alexandre Julliard 92a66c08ba ntdll: Pass a length pointer instead of an IO_STATUS_BLOCK to the async callbacks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 16:21:51 +02:00
Zebediah Figura 2de3effee4 ws2_32: Move the getsockopt(IP_MULTICAST_LOOP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:49:58 +02:00
Zebediah Figura 9ad2f988c7 ws2_32: Move the setsockopt(IP_MULTICAST_IF) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:49:56 +02:00
Zebediah Figura 946c4649e0 ws2_32: Move the getsockopt(IP_MULTICAST_IF) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:49:53 +02:00
Zebediah Figura f0533d9a5a ws2_32: Move the setsockopt(IP_HDRINCL) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:49:49 +02:00
Zebediah Figura 342795edb3 ws2_32: Move the getsockopt(IP_HDRINCL) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-08 10:49:46 +02:00
Alexandre Julliard 27ecc6ba5f ntdll: Fix iosb handling in NtCancelIoFile().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 16:33:29 +02:00
Alexandre Julliard 3a32ea8e91 ntdll: Add support for LdrSystemDllInitBlock.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 16:33:29 +02:00
Alexandre Julliard 390d71b091 ntdll: Also load the Wow64 ntdll for the main exe target machine.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 16:33:29 +02:00
Alexandre Julliard 3190a5bcdd ntdll: Make the ntdll exports and relocations processing more generic.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 16:33:29 +02:00
Zebediah Figura e49e79de99 ws2_32: Move the setsockopt(IP_DROP_SOURCE_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 11:33:26 +02:00
Zebediah Figura af3efd38ab ws2_32: Move the setsockopt(IP_DROP_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-07 11:33:23 +02:00
Alexandre Julliard 216d241178 winebuild: Save/restore the %fs register in the syscall dispatcher on Linux.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:26 +02:00
Alexandre Julliard c42384b5a1 ntdll: Switch back to the pthread %fs register in signal handlers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:26 +02:00
Alexandre Julliard a7b6b4f0d0 ntdll: Allocate a 32-bit %fs selector on Linux in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 15:50:25 +02:00
Alexandre Julliard cec3db10f4 ntdll: Store the pthread TEB value on thread init.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-06 12:31:53 +02:00
Zebediah Figura bedd92ca06 server: Explicitly return whether a select request was immediately signaled.
This fixes a regression introduced by 97afac469f.

If we make a request on an asynchronous device handle, and the IRP handler
returns STATUS_PENDING, wait_async() will return STATUS_PENDING, as intended.
However, if the async object is signaled before the user has a chance to call
wait_async() [e.g. if get_next_device_request is called quickly enough], select
will return STATUS_PENDING immediately, which causes server_select() to think
the object is not signaled, and wait for a select reply forever.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51277
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51295
Signed-off-by: Zebediah Figura <zfigura@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 19:55:18 +02:00
Alexandre Julliard 0426430563 ntdll: Implement NtWow64GetNativeSystemInformation().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 13:41:30 +02:00
Alexandre Julliard 5071a28743 ntdll: Implement SystemEmulation* information classes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-05 13:41:27 +02:00
Zebediah Figura 42e0155f50 ws2_32: Move the setsockopt(IP_DONTFRAGMENT) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 10:02:08 +02:00
Zebediah Figura f38bb98a49 ws2_32: Move the getsockopt(IP_DONTFRAGMENT) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 10:02:08 +02:00
Zebediah Figura 1276c73feb ws2_32: Move the setsockopt(IP_BLOCK_SOURCE) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 10:02:08 +02:00
Zebediah Figura 1749a43cc7 ws2_32: Move the setsockopt(IP_ADD_SOURCE_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-02 10:02:08 +02:00
Alexandre Julliard eb69da2a9c ntdll: Implement NtQueryInformationToken(TokenSessionId).
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46595
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard b20cbd0d57 ntdll: Return the session id in NtQuerySystemInformation(SystemProcessInformation).
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard bf4105b731 ntdll: Implement NtQueryInformationProcess(ProcessSessionInformation).
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard ad93413c71 server: Store session id in the process and return it at process init time.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Zebediah Figura e759da260e server: Use a separate request to retrieve the object name.
A deleted key returns STATUS_KEY_DELETED when ObjectNameInformation is
requested, but succeeds when ObjectBasicInformation is requested.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 22:34:31 +02:00
Alexandre Julliard 11d6c52f32 ntdll: Use the CPU area to get/set the Wow64 context on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 12:46:00 +02:00
Alexandre Julliard 4acecd8619 ntdll: Initialize the Wow64 context on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 12:46:00 +02:00
Alexandre Julliard bedfb31d7c ntdll: Add a helper function to retrieve the CPU area context on the Unix side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 12:46:00 +02:00
Alexandre Julliard 8794879335 ntdll: Clear the 32-bit TLS for ZeroTlsCell in Wow64 mode.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 10:32:24 +02:00
Alexandre Julliard 3469ebf90e ntdll: Implement RtlWow64GetThreadSelectorEntry().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 10:32:24 +02:00
Zebediah Figura 96766e6794 ws2_32: Move the setsockopt(IP_ADD_MEMBERSHIP) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-07-01 08:37:50 +02:00
Roman Pišl 0ec555e58e ntdll: Don't pretend that the whole address space is reserved on non-i386.
This is analogous to 61dcca5dbf.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=50735
Signed-off-by: Roman Pišl <rpisl@seznam.cz>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-30 20:01:20 +02:00
Zebediah Figura 9eea22f724 ws2_32: Move the setsockopt(SO_REUSEADDR) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 19:55:22 +02:00
Zebediah Figura f7cb96e53c ws2_32: Move the getsockopt(SO_REUSEADDR) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 19:55:22 +02:00
Alexandre Julliard 7404ef3ef5 ntdll: Don't rely on get_thread_context() updating the context flags.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 15:25:42 +02:00
Alexandre Julliard 19f19d0e2e ntdll: Implement NtWow64AllocateVirtualMemory64().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 14:51:25 +02:00
Alexandre Julliard bfd2d1d77d ntdll: Implement NtWow64Read/WriteVirtualMemory64().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 12:42:57 +02:00
Qian Hong 4e84a553a8 ntdll: Truncate files through the server.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-29 12:37:25 +02:00
Alexandre Julliard ee65ea88ee ntdll: Only update the data that was requested in the destination context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-27 11:42:32 +02:00
Alexandre Julliard 8ac411ed6d server: Support both native and wow64 register contexts.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-27 11:42:32 +02:00
Alexandre Julliard f64d86eb0a ntdll: Support converting server contexts from one machine to another.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-26 11:11:01 +02:00
Alexandre Julliard 0ffbec44f3 ntdll: Initialize the RealClientId field in the TEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 22:48:47 +02:00
Zebediah Figura 061e85a548 ws2_32: Move the setsockopt(SO_OOBINLINE) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 10:23:19 +02:00
Zebediah Figura afa71f9a12 ws2_32: Move the getsockopt(SO_OOBINLINE) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 10:23:15 +02:00
Zebediah Figura 130b549671 ws2_32: Move the setsockopt(SO_LINGER) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 10:23:05 +02:00
Zebediah Figura f52df002b0 ws2_32: Move the getsockopt(SO_LINGER) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-25 10:23:02 +02:00
Alexandre Julliard 6b86b41912 server: Simplify the naming of the YMM regs.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-24 21:41:21 +02:00
Alexandre Julliard f626349c0a server: Use separate handles for thread and context in get_thread_context.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-24 11:00:24 +02:00
Zebediah Figura a7f39e3fbb ws2_32: Move the setsockopt(SO_KEEPALIVE) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-24 10:27:17 +02:00
Zebediah Figura 8aaef4cafd ws2_32: Move the getsockopt(SO_KEEPALIVE) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-24 10:27:14 +02:00
Zebediah Figura 759408c3ae ws2_32: Move the setsockopt(SO_BROADCAST) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-23 20:44:58 +02:00
Zebediah Figura d9b281e5c7 ws2_32: Move the getsockopt(SO_BROADCAST) implementation to ntdll.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-23 20:44:58 +02:00
Alexandre Julliard fed7e7a78b ntdll: Simulate a syscall return when starting a thread.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 18:35:20 +02:00
Alexandre Julliard db26df5934 ntdll: Go through the syscall return path for syscall faults.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-21 18:35:20 +02:00
Alexandre Julliard c0012ecdd7 ntdll: Ignore faults caused by alignment check on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-18 16:48:48 +02:00
Gijs Vermeulen 836ec1d7ed ntdll: Avoid declaration-after-statement warning.
Signed-off-by: Gijs Vermeulen <gijsvrm@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:02:04 +02:00
Alexandre Julliard de89ce1bfe ntdll: Support growing both 32- and 64-bit stacks.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:01:38 +02:00
Alexandre Julliard e91d19a58a ntdll: Remove special case for setting permissions on stack pages.
We are running on the kernel stack at this point.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:01:38 +02:00
Alexandre Julliard 7b4ca95ab6 ntdll: Add a helper to get the Wow64 TEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 20:01:37 +02:00
Zebediah Figura 569f1ac018 ws2_32: Move the getpeername() implementation to ntdll.
This adds todo_wine to a couple of tests; however, these are overly zealous
invalid parameter tests, and fixing them is nontrivial.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-17 09:19:31 +02:00
Alexandre Julliard b572cf3025 ntdll: Copy the implementation of __wine_dbg_output to the PE side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 15:37:46 +02:00
Alexandre Julliard 0702d6b886 ntdll: Don't allow single-stepping through syscalls.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51273
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 15:05:24 +02:00
Zebediah Figura 02309b72f7 server: Implement IOCTL_AFD_GETSOCKNAME.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 09:03:20 +02:00
Zebediah Figura f98ea26c67 server: Partially implement IOCTL_AFD_BIND.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-16 09:03:20 +02:00
Zebediah Figura 69549fc0c7 server: Implement IOCTL_AFD_GET_EVENTS.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-15 20:42:52 +02:00
Alexandre Julliard c2d84da813 ntdll: Copy the implementation of __wine_dbg_strdup and __wine_dbg_header to the PE side.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-15 20:42:25 +02:00
Alexandre Julliard 2084fbd93d ntdll: Store the debug info in the TEB block after the 32-bit TEB.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-15 20:42:25 +02:00
Alexandre Julliard 588d91aecf ntdll: Store the current PEB in a global variable.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-15 20:42:25 +02:00
Alexandre Julliard a5cec4f5fb ntdll: Always use the TEB that was passed to signal_start_thread().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 18:32:24 +02:00
Alexandre Julliard 9a430dc6db ntdll: Also pass the TEB to signal_exit_thread().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 18:32:24 +02:00
Alexandre Julliard 2849ca9db4 ntdll: Move the XSTATE definitions to the platform-specific files.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 18:32:24 +02:00
Alexandre Julliard bcc587887a ntdll: Don't update cached registers if NtGetContextThread() fails.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 18:32:24 +02:00
Zebediah Figura 79c102d6be ntdll: Reserve space for the whole 64-bit YMM context in struct x86_thread_data.
Fixes a regression introduced by 308a5e7c4d.

This was previously broken, but happened to work until the aforementioned
commit put the YMM state right at the end of a page.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=51262
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 10:08:18 +02:00
Zebediah Figura 9bbf3ab96b server: Implement IOCTL_AFD_EVENT_SELECT.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-14 10:07:52 +02:00
Alexandre Julliard fa5759b9ef ntdll: Simplify the platform-specific dispatcher interface.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 7954b86f6b ntdll: Switch to the kernel stack for syscalls on ARM.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 08c4419a49 ntdll: Switch to the kernel stack for syscalls on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 25b093f384 ntdll: Switch to the kernel stack for syscalls on x86-64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 18:45:44 +02:00
Alexandre Julliard 308a5e7c4d ntdll: Switch to the kernel stack for syscalls on i386.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2021-06-11 15:49:29 +02:00