Commit Graph

3433 Commits

Author SHA1 Message Date
Alexandre Julliard 4cb8497c8f kernel32: Disable relay trace for __wine_start_process().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=48273
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-13 08:37:36 +01:00
Alexandre Julliard f2e5b80707 kernel32: Use the Get/SetComputerName functions from kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:17:05 +01:00
Alexandre Julliard 207c558003 kernelbase: Move some console support back to kernel32.
That's where the bulk of the console code still resides.

Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:16:40 +01:00
Alexandre Julliard 4118697829 server: Support passing a handle to get_console_wait_event.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-12 23:16:40 +01:00
Alexandre Julliard f88404bfb0 kernel32: Remove heap function replacements.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 22:46:19 +01:00
Alexandre Julliard 9b0877db4a kernel32: Move FindFirst/NextFile functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-11 21:51:28 +01:00
Louis Lenders 626162f7db kernel32: Return S_OK in RegisterApplicationRecoveryCallback stub.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=43817
Signed-off-by: Louis Lenders <xerox.xerox2000x@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 22:15:05 +01:00
Alexandre Julliard 89500484c2 kernel32: Move timezone functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 20:59:19 +01:00
Alexandre Julliard 30e5f1215e kernel32: Remove __wine_kernel_init().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-10 18:24:32 +01:00
Alexandre Julliard eeb8eddfa2 kernel32: Move GeoID functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alexandre Julliard 098e71ad61 kernel32: Move the CompareString functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alexandre Julliard 94a3add0ea kernel32: Move LCMapString functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Alexandre Julliard 1b46da5c05 kernel32: Move GetStringType functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Francois Gouget 7eb54616ff kernel32/tests: Trace LastError when GetPhysicallyInstalledSystemMemory() fails.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:46 +01:00
Mathew Hodson df94a9a450 kernel32/tests: Add broken result for Windows XP and 2003.
Signed-off-by: Mathew Hodson <mathew.hodson@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Mathew Hodson 356513ef2d kernel32/tests: Trace the mapped string when FoldStringW fails.
Signed-off-by: Mathew Hodson <mathew.hodson@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Nikolay Sivov 624ed18b1f Update to Unicode 12.1.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Alexandre Julliard 6bcda47419 kernel32: Move Get/SetLocaleInfoW() to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 23:47:45 +01:00
Alexandre Julliard 830de63139 kernel32: Use MultiByteToWideChar() and WideCharToMultiByte() from kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 15:30:03 +01:00
Alexandre Julliard a2c107fca3 kernel32: Remove initialization of the global argv.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-09 15:30:03 +01:00
Jeff Smith 7cbabed51f kernel32/tests: Allow for differing fpu_cw returned on Windows XP.
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 22:30:23 +01:00
Alexandre Julliard 117dbfa2cf ntdll: Fix DBCS mappings in RtlCustomCPToUnicodeN().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-06 19:50:06 +01:00
Piotr Caban 7ca1c4900e kernel32: Set all %eax bits on Wow64EnableWow64FsRedirection return.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47565
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Paul Gofman 52d8ea3aa8 kernel32/tests: Add a basic test for PROC_THREAD_ATTRIBUTE_PARENT_PROCESS process creation attribute.
Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-05 23:36:23 +01:00
Alexandre Julliard 331947c993 kernel32: Move some initialization code to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:03:48 +01:00
Alexandre Julliard 74eaa34147 kernel32: Initialize argv from the dll entry point.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:03:48 +01:00
Alexandre Julliard d33504b9bb kernel32: Use the Rtl UTF8 conversion functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 16:03:48 +01:00
João Diogo Ferreira a31dec5fa9 kernel32: Make GetUserGeoID() always succeed if geoclass is valid.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=46196
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 09:37:43 +01:00
João Diogo Ferreira c93aa1095e kernel32: Properly handle GEO_NATION and GEO_ID in GetGeoInfoW().
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-04 09:36:44 +01:00
Nikolay Sivov 7082ebc608 ntdll: Use better type for thread description info structure.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 21:27:14 +01:00
Alexandre Julliard bba33e5391 ntdll: Get rid of __wine_init_codepages().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 09:30:43 +01:00
Alexandre Julliard 9e8db5a27a kernel32: Fix assumptions about 0-size output buffer in ntdll Unicode conversion functions.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-03 09:30:43 +01:00
Andrey Gusev a9bf1ad81e kernel32/tests: Reorder the WINAPI with the void.
Signed-off-by: Andrey Gusev <andrey.goosev@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-12-02 22:02:56 +01:00
Zebediah Figura 216530f230 kernelbase: Implement GetOverlappedResultEx().
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=38830
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-29 08:26:30 +01:00
Chip Davis 289d456dd6 ntdll: Fix tick count calculation on Mac.
Inspired by a patch by Andrew Eikum.

macOS's mach_absolute_time() stops counting when the computer goes to
sleep/suspend/hibernate/etc. However, Windows's GetTickCount() does not
stop counting. mach_continuous_time() matches Windows's behavior.

BSD's CLOCK_MONOTONIC already counts asleep time.

Unfortunately, there is no clock source on Linux which does exactly what
we want. CLOCK_MONOTONIC_RAW is unaffected by NTP adjustment, but like
mach_absolute_time() doesn't keep ticking when the computer is asleep.
CLOCK_BOOTTIME does keep ticking, but it is affected by NTP adjustments.
CLOCK_MONOTONIC has both problems. What's needed is a
CLOCK_BOOTTIME_RAW, which would not be slewed by adjtimex(2) and would
count time spent asleep.

To avoid issues with skew and performance, this patch falls back to
mach_absolute_time() on macOS if mach_continuous_time() is unavailable.
Note that mach_continuous_time() was introduced in macOS 10.12, meaning
that if the minimum version required is less than that, it will be
linked weakly. Therefore we must check that it is nonnull before
attempting to call it.

Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Huw Davies <huw@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 20:45:46 +01:00
Alexandre Julliard 7bb286ad9d kernel32: Move FoldStringW() function to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 09:05:13 +01:00
Alexandre Julliard e89bbd5244 kernel32: Reimplement FoldStringW() to support composition.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-28 09:04:33 +01:00
Gijs Vermeulen 22c2ce2fa6 kernel32: Remove unused function.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 22:05:15 +01:00
Alexandre Julliard 03deff4e0d kernel32: Move codepage functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-27 17:04:44 +01:00
Alexandre Julliard 4901386892 kernel32/tests: Add tests for NtGetNlsSectionPtr() and RtlInitCodePageTable().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 22:49:03 +01:00
Nikolay Sivov 179cd78f82 kernel32: Implement higher level API to access thread description.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 16:33:55 +01:00
Mathew Hodson 2fec865945 kernel32: Remove dead code.
Signed-off-by: Mathew Hodson <mathew.hodson@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-26 15:38:32 +01:00
Chip Davis 19549d11a7 mountmgr: Populate HKLM\HARDWARE\DEVICEMAP\Scsi here instead of in kernel32.
Signed-off-by: Chip Davis <cdavis@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 21:56:23 +01:00
Gijs Vermeulen a507126ac4 kernel32/tests: Add GetCurrentConsoleFontEx tests.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Gijs Vermeulen ec810c84ab kernel32: Implement GetCurrentConsoleFontEx.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47620
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Nikolay Sivov 602eb52ce9 kernel32/tests: Add some tests for thread description API.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Myah Caron 1658d5a20d kernel32: Allow NtQueryDirectoryFile underfilling FileInformation.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47832
Signed-off-by: Myah Caron <qsniyg@mail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-25 20:47:43 +01:00
Alexandre Julliard 69d0381b5a kernel32: Avoid forwarding to advapi32.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-23 11:26:52 +01:00
Nikolay Sivov f2e0a145ba kernel32: Use RegLoadMUIStringW() from kernelbase.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-22 13:38:52 +01:00
Francois Gouget af638bc117 kernel32/tests: Fix the lcid and expected value in a codepage ok() call.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 21:00:59 +01:00
Francois Gouget fb037132fd kernel32/tests: Remove an unused assignment in the comm test.
Signed-off-by: Francois Gouget <fgouget@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 19:01:10 +01:00
Alexandre Julliard 2cbb6f8d34 kernel32: Move some locale functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 13:20:23 +01:00
Alexandre Julliard fd588a22b7 kernel32: Move string normalization functions to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-21 10:43:46 +01:00
John Chadwick 9021cca65d kernelbase: Fix GetSystemFirmwareTable regression.
Regression caused by 71aba33fc6.

Signed-off-by: John Chadwick <john@jchw.io>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
John Chadwick 2acbe4f096 kernel32/tests: Add test for GetSystemFirmwareTable.
This adds a test to ensure that a typical usage of
GetSystemFirmwareTable with a preflight call works correctly.

Signed-off-by: John Chadwick <john@jchw.io>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Alexandre Julliard 35ea9cd99a kernel32: Move the locale registry setup to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 23:03:21 +01:00
Alexandre Julliard ed09f37cef kernel32: Get the initial locales from ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 22:45:58 +01:00
Alexandre Julliard f1bfd2c0b1 ntdll: Initialize the system and user locales directly in ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-20 16:25:16 +01:00
João Diogo Ferreira 2a03c0958b kernel32: Handle GEOCLASS_ALL in EnumSystemGeoID().
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-19 23:15:04 +01:00
Alexandre Julliard e8ef4c0f53 kernel32/tests: Get rid of Unicode helper functions. 2019-11-19 23:15:04 +01:00
Alexandre Julliard 9f0983ddfc kernel32: Use RtlLocaleNameToLcid(). 2019-11-19 23:15:04 +01:00
Alexandre Julliard 7ac7a902c8 ntdll: Implement RtlLocaleNameToLcid().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-19 23:15:04 +01:00
Alexandre Julliard 4b1a8d6361 kernel32: Add more special cases in ConvertDefaultLocale(). 2019-11-19 23:15:04 +01:00
Alexandre Julliard 71aba33fc6 kernel32: Move system information functions to kernelbase. 2019-11-19 23:15:04 +01:00
Alexandre Julliard b73cfa72ed kernel32: Move physical memory status functions to kernelbase. 2019-11-19 23:15:04 +01:00
João Diogo Ferreira 92d908c038 kernel32/nls: Add LOCALE_IGEOID to all locales.
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 22:15:20 +01:00
João Diogo Ferreira d353c96e83 kernel32: Add Kosovo, UN codes and change two parents in geoinfodata.
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 20:01:17 +01:00
João Diogo Ferreira c790422daa kernel32: Fix null pointer access in GetGeoInfoW().
We were failing the conditional that would point «str» to «buffW»
when retrieving the GEO_ISO_UN_NUMBER of a location with UN code 0.

Some locations will keep having no UN code, such as Guantanamo Bay or
Johnston Atoll, since that's how those are defined in Windows.

Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 20:01:17 +01:00
Alexandre Julliard ab6970d9b0 kernel32: Move Get/SetCalendarInfo to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 19:12:13 +01:00
Alexandre Julliard 42ed9797b1 kernel32: Move EnumCalendarInfo functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-18 19:12:13 +01:00
Alexandre Julliard 50d15730df kernel32: Move EnumTimeFormats functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-16 20:11:21 +01:00
Alexandre Julliard 02d9ccb3c3 kernel32: Move EnumDateFormats functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-16 20:08:58 +01:00
Francois Gouget da238dc1d1 kernel32: Match the Windows 10 1709+ SetConsoleFont() implementation.
That is return the same 'E_NOTIMPL' error code.
Remove the todo_wine-s but keep the tests in case we want to implement
the API for compatibility with old Windows versions.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 09:40:36 +01:00
Francois Gouget ba4cfbd448 kernel32/tests: Windows 10 dropped support for SetConsoleFont().
Windows 10 1507 still supports it but not 1607+.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-14 09:40:33 +01:00
Alexandre Julliard dcdfe02a72 kernel32: Get rid of LOCALE_IDEFAULTUNIXCODEPAGE.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-13 13:47:45 +01:00
Alexandre Julliard 712ae337fe kernel32: Move CreateProcess() functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard 4405195b3c kernel32: Move GetSystemWow64Directory() functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard eee3a4e84a kernel32: Move support for starting Unix processes to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard 1deefb84ee kernel32: Use RtlCreateUserProcess() to start new processes.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
João Diogo Ferreira c2485bb12e kernel32: Handle GEOCLASS_REGION in Get/SetUserGeoID().
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
João Diogo Ferreira dd505fab26 kernel32: Move Get/SetUserGeoID() to after the geoinfo struct.
Signed-off-by: João Diogo Craveiro Ferreira <devilj@outlook.pt>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-12 22:05:58 +01:00
Alexandre Julliard 83e520f556 kernel32: Move exec process functionality to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 22:58:00 +01:00
Alexandre Julliard 8c4a1cc792 server: Get rid of the unused file parameter in exec_process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-11 20:02:36 +01:00
Francois Gouget 31046449e6 kernel32: Match the Windows 10 1709+ GetConsoleFontInfo().
That is return the same 'E_NOTIMPL' error code.
Remove the todo_wine-s but keep the tests in case we want to implement
the API for compatibility with older Windows versions.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 18:19:17 +01:00
Francois Gouget 2f30f28b04 kernel32/tests: Windows 10 dropped support for GetConsoleFontInfo().
Windows 10 1507 still supports it but not 1607+.

Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-08 18:19:17 +01:00
Conor McCarthy b4684bc561 kernelbase: Add stub for SetThreadDescription().
Used by Hitman 2.

Signed-off-by: Conor McCarthy <cmccarthy@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 21:53:15 +01:00
Paul Gofman 4907f2626c kernel32: Output a message in GetVolumeInformationW() when device has no read access.
A lot of applications fail to install from CDs or mounted ISO images when Wine does
not return correct volume label from GetVolumeInformation() repeatedly asking to
insert correct disk. Most of the time it happens because the block device is read only
for user (which is typical default behaviour) and FS info cannot be read.
It looks like the hint about what went wrong will simplify things in this common case.

Signed-off-by: Paul Gofman <gofmanp@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 20:18:46 +01:00
Alexandre Julliard b0199ea2fe ntdll: Load the main binary directly in ntdll when possible.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-07 19:24:19 +01:00
Alexandre Julliard e5354008f4 kernel32: Move initialization of the WoW64 environment to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 13:25:02 +01:00
Alexandre Julliard 461b5e56f9 kernel32: Move support for running wineboot to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-05 13:25:02 +01:00
Martin Storsjo fbda8db334 kernel32: Add a special case to EnumProcessModules for the local process.
LLVM's libunwind uses EnumProcessModules for locating .eh_frame
sections when unwinding dwarf exceptions (used on i686).

When running wine in docker (without adding custom additional
permissions), EnumProcessModules currently fails as it uses
ReadProcessMemory, which requires the SYS_PTRACE capability.

The current implementation also is slower than necessary (by a
couple orders of magnituide), for accessing the current process.
Currently, unwinding 10000 exception throws with libunwind on i686
takes 24 seconds when run in wine, while it runs in less than 0.1
second with this patch.

Signed-off-by: Martin Storsjo <martin@martin.st>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 22:43:01 +01:00
Alexandre Julliard 007f1b9a82 kernel32/tests: Add more tests for FPU control registers.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-11-04 09:58:45 +01:00
Alex Henrie c58e3a5e29 kernel32: Implement GetSystemPowerStatus on top of NtPowerInformation.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 19:38:49 +01:00
Alex Henrie b0635c9b20 kernel32/tests: Add tests for GetSystemPowerStatus.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-31 19:38:46 +01:00
Alexandre Julliard fea66c2884 kernel32/tests: Enable the ExitProcess() test on ARM64.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-29 23:30:47 +01:00
Brendan Shanks aa51aee1a9 ntdll: Enable WoW64 filesystem redirection when loading libraries.
This matches the behavior seen on Windows 7/2008R2 and newer.

Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47912
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 21:11:48 +01:00
Zebediah Figura a7269a1035 kernel32/tests: Fix some codepage tests under Windows 10.
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-28 21:09:58 +01:00
Nikolay Sivov dbd765e2bd kernel32/tests: Fix some test failures on Win10.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-23 10:26:17 +02:00
Alexandre Julliard fd3735cf4d kernel32: Move dll load path initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 2607bfa28f kernel32: Move command line initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard ee56be3fcd kernel32: Move Unicode argv initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 075741b681 kernel32: Move image path name initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 6b528d526d kernel32: Move additional environment initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 628ca4aafe kernel32: Move registry environment initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard a511057f7e kernel32: Move Unix environment initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard cac9599207 kernel32: Move process name initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Alexandre Julliard 305b5a44c5 kernel32: Move current directory initialization to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-22 23:04:26 +02:00
Brendan Shanks de9406bccd kernel32/tests: Test loading system DLLs with WoW64 redirection disabled.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47912
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-21 20:41:37 +02:00
Jeff Smith ceb32f6683 kernel32: Quote first command line arg in process paramenters.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47790
Signed-off-by: Jeff Smith <whydoubt@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-20 13:54:40 +02:00
Alexandre Julliard c258b5ef11 kernel32: Add the new image path to the dll path for a new process.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-20 13:54:40 +02:00
Alexandre Julliard 6d8c58d7cc kernel32: Retrieve the Unix codepage from ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-19 14:19:32 +02:00
Sven Baars aaaaec8642 kernel32/tests: Remove a test that shows inconsistent results.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-18 18:05:32 +02:00
Jacek Caban c0724e56ac kernel32/tests: Add message mode non-blocking pipe test.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-17 21:04:54 +02:00
Brendan Shanks 41374ef196 server: Don't block ConnectNamedPipe for pipe in PIPE_NOWAIT mode.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:03:36 +02:00
Brendan Shanks 91c4e9bf9a server: Don't block when writing to named pipes in PIPE_NOWAIT mode.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:03:35 +02:00
Brendan Shanks abb1ce1087 server: Don't block when reading from named pipes in PIPE_NOWAIT mode.
Fixes Rockstar Games Launcher hanging for some users.

Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:03:11 +02:00
Brendan Shanks 11a554eecc kernel32/tests: Add tests for named pipes in PIPE_NOWAIT mode.
Signed-off-by: Brendan Shanks <bshanks@codeweavers.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-16 16:03:10 +02:00
Alistair Leslie-Hughes ee266aba74 kernel32: FindFirstFileExW needs to open the directory with FILE_OPEN_FOR_BACKUP_INTENT flag.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47833
Signed-off-by: Alistair Leslie-Hughes <leslie_alistair@hotmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-15 17:20:14 +02:00
Sven Baars 71e96bd3b7 kernel32/tests: Skip some tests when NtSetInformationProcess is denied access.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-09 21:30:37 +02:00
Alexandre Julliard a7c190d35f kernel32: Move system locale enumeration functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 22:11:20 +02:00
Alexandre Julliard 8d25965e12 kernel32: Move SearchPath functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-04 09:44:29 +02:00
Piotr Caban 37d2b5843f kernel32: Add write watch test on OVERLAPPED structure.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:07 +02:00
Akihiro Sagawa aade0bf7e3 ntdll: Add exception handling around DbgBreakPoint.
Wine-Bug: https://bugs.winehq.org/show_bug.cgi?id=47509
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:07 +02:00
Alexandre Julliard c5dc41e980 kernel32: Move LoadLibrary functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:06 +02:00
Alexandre Julliard a5d45e9ae5 kernel32: Move exe path functions to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:58:06 +02:00
Alexandre Julliard 619bd16e7a kernel32: Move dll path functions to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-03 22:56:14 +02:00
Alexandre Julliard a0a2b25a44 kernel32: Move Get/SetDllDirectory() implementation to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 15:14:08 +02:00
Alexandre Julliard 6113c46856 kernel32: Use RtlGetSearchPath() in SearchPathW() implementation.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 15:14:08 +02:00
Alexandre Julliard 5f938bb51b ntdll: Implement RtlGetSearchPath().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 15:14:08 +02:00
Alexandre Julliard 14fbecee65 kernel32: Add set_ntstatus() helper.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-10-01 09:43:27 +02:00
Gijs Vermeulen b03a4b8902 kernel32/tests: Fix some console tests on newer Win10.
Signed-off-by: Gijs Vermeulen <gijsvrm@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 22:24:27 +02:00
Piotr Caban 392648dda2 kernel32: Don't use uninitialized ofs->szPathName in OpenFile.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 11:50:16 +02:00
Sven Baars a892bf5909 kernel32/tests: Fix a test failure on Windows XP.
Signed-off-by: Sven Baars <sven.wine@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-30 11:49:02 +02:00
Alexandre Julliard eac5395fb4 kernel32: Move some misc functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 19:36:10 +02:00
Alexandre Julliard ea43b87c00 kernel32: Move NUMA-related functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 19:36:10 +02:00
Alexandre Julliard 2c68c530af kernel32: Move file time functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 19:36:10 +02:00
Alexandre Julliard 0f5538b9e3 kernel32: Move delay-load functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 19:36:10 +02:00
Alexandre Julliard 950773dc06 kernel32: Move some handle functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-26 19:36:10 +02:00
Francois Gouget 98093939d6 kernel32/tests: Fix the spelling of three ok() messages and comments.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Francois Gouget 17fbd837e2 kernel32/tests: Fix the spelling of the exerciseServer() function name.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Alex Henrie 7c5ea436af include: Rename Reserved1 to SystemStatusFlag in SYSTEM_POWER_STATUS.
Signed-off-by: Alex Henrie <alexhenrie24@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-23 19:44:17 +02:00
Jacek Caban 27da4fa449 kernel32/tests: Enable debug break exception race tests on i386 Wine.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-20 21:31:34 +02:00
Alexandre Julliard 7c0032b62a kernel32: Move some locale functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 18:32:14 +02:00
Alexandre Julliard e3e1bede1b kernel32: Move some path functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-17 16:50:44 +02:00
Alexandre Julliard 55e9b666a0 kernel32: Move console functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-10 23:20:41 +02:00
Alexandre Julliard f3960c32f1 kernel32: Move ioctl functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 21:05:07 +02:00
Alexandre Julliard 44efb1a026 ntdll: Allocate environment blocks from the process heap.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:55 +02:00
Alexandre Julliard 911e50849a kernel32: Move process startup information functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:55 +02:00
Alexandre Julliard 3e6b961f00 kernel32: Move environment functions to kernelbase.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:55 +02:00
Alexandre Julliard a311140f93 kernel32: Move QueryPerformanceCounter/Frequency functions to ntdll.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2019-09-09 16:25:55 +02:00