Commit Graph

470 Commits

Author SHA1 Message Date
Ken Thomases 2e636d4fe8 kernel32: For Mac 64-bit, re-enable the inlining of various functions, leveraging the TEB self pointer at %gs:0x30.
On other platforms, gsbase is set to point to Wine's TEB.  So, these functions
can use %gs-relative addressing with the field offsets to access the fields of
the TEB.

On the Mac, gsbase points to internals of the pthread implementation and that
wouldn't work.  However, Wine hijacks %gs:0x30 and stores the TEB address there.
So, we access the TEB fields by first loading the TEB address and then
accessing its fields relative to that.

Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-28 21:38:02 +09:00
Akihiro Sagawa 719d86b70e include: Add definition of GetProcessIdOfThread.
Signed-off-by: Akihiro Sagawa <sagawa.aki@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-27 12:43:05 +09:00
André Hentschel b83a5d78a4 advapi32: Add CreatePrivateObjectSecurityEx.
Signed-off-by: André Hentschel <nerv@dawncrow.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-14 13:54:52 +09:00
Nikolay Sivov cd220569dd include: Fix IsBad* prototypes.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-03-01 18:51:44 +09:00
Michael Müller e7bbca8fcc include: Add definitions for Win8 pseudo handles.
Signed-off-by: Michael Müller <michael@fds-team.de>
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-11 12:15:51 +09:00
Andrew Eikum 6cecd59f66 include: Add TrySubmitThreadpoolCallback declaration.
Signed-off-by: Andrew Eikum <aeikum@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-12 19:35:44 +09:00
Francois Gouget cdb65950dd advapi32: Fix the FILE_DIR_DISALLOWED spelling.
Signed-off-by: Francois Gouget <fgouget@free.fr>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-20 12:24:34 +09:00
Piotr Caban ff698220c1 include: Fix CreateSymbolicLink and TryAcquireSRWLockExclusive prototypes.
Signed-off-by: Piotr Caban <piotr@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-01 22:53:52 +09:00
Austin English a26a6b877d kernel32: Add a stub for CancelSynchronousIo.
Signed-off-by: Austin English <austinenglish@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-13 23:35:23 +09:00
Dmitry Timoshkov d2f0bc2f74 advapi32: Add CreatePrivateObjectSecurityWithMultipleInheritance semi-stub.
Signed-off-by: Dmitry Timoshkov <dmitry@baikal.ru>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-11 13:46:21 +09:00
YongHao Hu aa7360d47e include: Add definition of CreateHardLink. 2015-08-24 08:20:31 +09:00
Michael Müller d0ae2b0d3d kernel32: Implement GetNumaProcessorNode. 2015-06-29 19:07:51 +09:00
Olivier F. R. Dierick 01e5385882 kernel32: Implement SetFileCompletionNotificationModes as a stub. 2015-06-15 17:27:38 +09:00
Michael Müller fd8fae105b kernel32: Improve stub for SetFileInformationByHandle. 2015-06-11 15:32:26 +09:00
Nikolay Sivov 5742497a35 kernel32/tests: Some tests for invalid classes in SetFileInformationByHandle(). 2015-06-09 18:05:48 +09:00
Nikolay Sivov b17e4376d5 kernel32: Fail properly for unsupported classes in GetFileInformationByHandleEx. 2015-06-08 15:29:44 +09:00
Martin Storsjo 68b654ad2f kernel32: Implement a few more classes in GetFileInformationByHandleEx. 2015-05-21 14:26:34 +09:00
Martin Storsjo c9c5ceccb4 kernel32: Implement GetSystemTimePreciseAsFileTime.
This just falls back to doing the same as GetSystemTimeAsFileTime.
2015-05-20 17:28:37 +09:00
Andrew Eikum d9a27e9ca0 kernel32: Implement CheckNameLegalDOS8Dot3. 2015-05-13 22:05:42 +09:00
Sebastian Lackner 25505995af kernel32: Add stub for PowerSetRequest. 2015-04-07 15:14:35 +09:00
Austin English 88362a0770 kernel32: Add a stub for QueryThreadCycleTime. 2015-03-30 19:49:11 +09:00
Michael Müller 8f0d5a37a3 kernel32/tests: Add tests for GetFinalPathNameByHandleA/W. 2015-03-27 00:11:36 +09:00
Austin English 295f194804 kernel32: Add SetVolumeMountPointA/W stubs. 2015-02-12 22:12:22 +09:00
Daniel Scharrer 4d05cfe577 kernel32: Add stub implementation for EnumResourceLanguagesEx. 2015-01-27 22:03:17 +01:00
Austin English fa80425242 kernel32: Add GetSystemFirmwareTable stub. 2015-01-26 12:06:04 +01:00
Charles Davis 193d15cc3c kernel32: Don't use %gs on 64-bit Mac OS. 2015-01-23 11:11:37 +01:00
Stefan Leichter 9668dddfc9 kernel32: Add stubs for CreateSymbolicLinkA/W. 2014-12-05 11:24:51 +01:00
Sebastian Lackner 19927ee517 kernel32/tests: Add test for GetProcessDEPPolicy. 2014-10-21 18:51:17 +09:00
Sebastian Lackner 20b5c99f11 kernel32/tests: Add tests for FindFirstFileExA with FIND_FIRST_EX_LARGE_FETCH flag. 2014-10-02 20:30:58 +02:00
Austin English 62e7c38859 include: Add EncryptedFileRaw functions and defines. 2014-08-29 10:45:08 +02:00
Andreas Mohr 6a86e2e983 kernel32: Fix naming/spelling/typo of macro to HasOverlappedIoCompleted(). 2014-08-04 19:28:04 +02:00
Austin English fd6c5490df kernel32: Add a stub for UnregisterApplicationRestart. 2014-06-18 16:31:14 +02:00
Nikolay Sivov 056a8f1d23 include: Add more error codes. 2014-06-11 13:08:09 +02:00
Nikolay Sivov 467b769623 kernel32: Added SetWaitableTimerEx(). 2014-03-24 11:38:22 +01:00
Marcus Meissner 563486b555 include: Added missing FindExInfoBasic enum. 2014-02-24 09:12:36 -06:00
Marcus Meissner cef12abd4f kernel32: Thread pool definitions and prototypes. 2014-02-04 11:14:23 +01:00
Sebastian Lackner 72cf5d6f12 kernel32: Forward SleepConditionVariableSRW to ntdll. 2014-01-27 14:13:49 +01:00
Nikolay Sivov a2bcfa28d4 kernel32: Add more LoadLibraryEx() flags defines and mark them as unsupported. 2013-11-25 15:15:52 +01:00
Andrew Cook 868890fb72 include: Add types for SetInformationJobObject. 2013-10-14 10:47:46 +02:00
Michael Stefaniuc 23b86eb44e include: Replace the remaining CONSTs. 2013-09-27 10:34:09 +02:00
Nikolay Sivov 2785c83b70 include: Added a definition for CopyFile2. 2013-09-12 11:03:36 +02:00
Alexandre Julliard 4af4df5af3 ntdll: Add stubs for the SRW lock functions. 2013-09-03 16:58:19 +02:00
Andrew Eikum 1f508587d6 winbase.h: Add GetFileInformationByHandleEx. 2013-06-24 11:42:49 +02:00
Detlef Riekenberg f8971d0342 include: Add missing InitOnce / RtlRunOnce prototypes. 2013-05-24 11:03:19 +02:00
Alexandre Julliard bfaf23bf8f include: Use gcc atomic builtins to implement interlocked inlines on non-i386. 2013-04-16 13:42:49 +02:00
Hans Leidekker c019083240 kernel32: Implement SetFileValidData. 2012-12-04 14:42:28 +01:00
Vincas Miliūnas be1c0edfcf kernel32/tests: Added tests for OpenFileById. 2012-10-12 13:20:39 +02:00
Vincas Miliūnas 9cec60bb1e kernel32/tests: Added tests of FileIdBothDirectoryInfo for GetFileInformationByHandleEx. 2012-10-12 13:13:06 +02:00
Marcus Meissner 7a529328db kernel32: Add condition variables prototypes and tests. 2012-09-11 20:56:37 +02:00
Dmitry Timoshkov 61c0dcdb8b include/winbase.h: MSC compiler implements interlocked* APIs as intrinsics in x86_64 mode. 2012-07-31 10:56:02 +02:00
Nikolay Sivov 04f588e63a kernel32: Some tests for blocking initialization with InitOnceBeginInitialize(). 2012-07-24 13:36:27 +02:00
Nikolay Sivov 9318528702 kernel32: Single thread test for InitOnceExecuteOnce(). 2012-07-23 12:54:15 +02:00
Nikolay Sivov b1c3c8c898 kernel32: Added InitOnceInitialize() implementation. 2012-07-23 12:53:24 +02:00
Detlef Riekenberg 02b74d3fd3 ntdll: Implement NtGetCurrentProcessorNumber. 2012-05-21 10:20:25 +02:00
Dmitry Timoshkov 492732aa32 include: Add some missing FILE_FLAG_xxx definitions. 2012-04-18 14:03:19 +02:00
Dmitry Timoshkov 64cf2db9a6 include: Define MUTEX_ALL_ACCESS in a PSDK compatible way. 2012-04-18 14:03:12 +02:00
Alexandre Julliard aeaf18077e kernel32: Implement the memory resource notification functions. 2012-03-12 10:44:02 +01:00
Michael Stefaniuc 07c60df9ae include: Fix "l" numeric constants in winbase.h. 2011-11-22 11:10:02 +01:00
Francois Gouget 1c108d1acb kernel32: Declare more TimerQueue functions in winbase.h. 2011-11-14 13:10:22 +01:00
Detlef Riekenberg 3fc84d4862 include: Add definitions and declarations for SRW lock. 2011-07-06 11:17:07 +02:00
André Hentschel 02c88bcef7 include: Define FIBER_FLAG_FLOAT_SWITCH. 2011-05-31 11:12:37 +02:00
Austin English e701ca90aa kernel32: Add a stub for RegisterApplicationRecoveryCallback. 2011-05-23 13:16:25 +02:00
Eric Pouech 394feff361 include: Added missing no return attribute. 2011-03-28 17:29:50 +02:00
Hans Leidekker 06562d16b3 kernel32: Add a stub implementation of GetThreadIOPendingFlag. 2011-01-10 10:42:23 +01:00
Andrew Nguyen 6d605e68f4 kernel32: Make the return type of LoadModule match the Windows SDK. 2010-10-11 17:11:28 +02:00
Andrew Nguyen 43e99d6e0c kernel32: Implement GetSystemRegistryQuota as a semi-stub. 2010-10-11 17:11:27 +02:00
Austin English e99612c4c8 kernel32: Add a stub for GetSystemDEPPolicy. 2010-09-22 12:47:39 +02:00
Mariusz Pluciński dfb88608e3 kernel32: New flags added to LoadLibraryEx. 2010-09-13 14:46:20 -05:00
Paul Chitescu 2e97746340 kernel32: Declare and add stubs for GetLogicalProcessorInformation(Ex). 2010-07-20 12:56:26 +02:00
Jacek Caban 75912afabd winbase.h: Added missing COPY_FILE_* flags. 2010-06-10 14:59:00 +02:00
Alexandre Julliard f7f4e9e3be include: Force inlining exported API functions to avoid duplicate definitions. 2010-05-07 22:38:32 +02:00
Yann Droneaud b7d321769c include: Rewrote some extern inline to static inline. 2010-05-07 14:21:34 +02:00
Alexandre Julliard abf29377ba kernel32: Export InterlockedCompareExchange64. 2010-02-05 13:14:20 +01:00
Peter Rosin 805f7d79db kernel32: Add SetThreadErrorMode and GetThreadErrorMode. 2010-02-04 13:39:27 +01:00
Alexandre Julliard 21ddb9f48e include: Move undocumented Win9x function definitions to winbase16.h. 2009-12-24 20:28:12 +01:00
Stefan Leichter 7f1fe90e7f kernel32: Added stub for CreateMemoryResourceNotification. 2009-11-16 12:42:19 +01:00
Paul Vriens 400d62167f advapi32/tests: Add some GetEventLogInformation tests. 2009-10-28 11:14:39 +01:00
Alexander Nicolaysen Sørnes 1c4c2bbf33 include: Add defines for GetProductInfo. 2009-10-26 11:35:56 +01:00
Mike Kaplinskiy a5c03fbc72 kernel32: Implement CancelIoEx. 2009-08-18 12:29:33 +02:00
Hans Leidekker 26fbee2db7 include: Add prototypes for EncodePointer and DecodePointer. 2009-08-07 11:39:55 +02:00
Andrew Nguyen f63f4026cf kernel32: Implement WTSGetActiveConsoleSessionId as a stub. 2009-07-16 11:21:21 +02:00
Alexandre Julliard 03d6da0894 kernel32: Add implementation of GetSystemWow64DirectoryA/W. 2009-07-07 11:42:03 +02:00
Alexandre Julliard 26caf2fdda kernel32: Forward the Wow64 redirection functions to ntdll. 2009-07-06 15:09:29 +02:00
Dmitry Timoshkov 545b40adf7 kernel32: Make SystemTimeToTzSpecificLocalTime and TzSpecificLocalTimeToSystemTime prototypes match PSDK. 2009-05-04 12:53:32 +02:00
Mikołaj Zalewski 9c9532265d kernel32: Implement QueryFullProcessImageFileNameW. 2009-03-31 18:05:55 +02:00
Rob Shearman bbe7927ed5 include: Add definition for CreateProcessWithLogonW and associated flags. 2009-03-30 13:57:48 +02:00
Alexandre Julliard fb04bcf638 Fix position of CDECL qualifier for functions that return pointers. 2009-02-06 14:54:01 +01:00
Nikolay Sivov 2013cdc604 kernel32: Implemented GetErrorMode(). 2009-01-13 16:39:45 +01:00
Alexandre Julliard 935a406b27 include: Fix data structures for processor affinity on 64-bit. 2009-01-04 14:47:24 +01:00
Alexandre Julliard 5f36d0239f kernel32: Convert FormatMessageA/W to use an MS ABI vararg list for x86_64. 2008-12-31 20:59:51 +01:00
Maarten Lankhorst 70441d5bb8 kernel32: Change all functions to use CDECL. 2008-12-23 13:09:45 +01:00
Alexandre Julliard dcbe616a0e include: Fix typo in the 64-bit version of GetProcessHeap(). 2008-12-11 20:37:42 +01:00
Alexandre Julliard 4bddbedc41 include: Disable the asm optimizations for the Windows build. 2008-12-09 17:10:20 +01:00
Alexandre Julliard f06d99f67a include: Implemented inline asm functions for x86_64. Export Interlocked* only on i386. 2008-12-08 19:25:25 +01:00
Alexandre Julliard fea2aa55d0 include: Fix the 64-bit value of magic handle constants. 2008-12-08 15:51:22 +01:00
Alexandre Julliard 23be27ef80 kernel32: Added GetWriteWatch and ResetWriteWatch. 2008-11-14 11:02:15 +01:00
Alexandre Julliard c1d2d86be7 kernel32: Implemented the Ex variants of CreateEvent/Mutex/Semaphore/WaitableTimer. 2008-11-11 14:03:00 +01:00
Marcus Meissner 96412ee564 Annotate with allocation size attribute. 2008-09-05 11:22:26 +02:00
Alexandre Julliard b44a109b8c kernel32: Implemented the wrapper functions for job objects. 2008-09-04 22:51:02 +02:00
Vijay Kiran Kamuju d2625be02f advapi32: Add stub for ConvertToAutoInheritPrivateObjectSecurity. 2008-08-28 11:03:36 +02:00