Commit Graph

520 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
Dan Hipschman ecd76fb77c kernel32: Add a stub for ChangeTimerQueueTimer. 2008-07-22 13:21:01 +02:00
Roy Shea 7c74ff3bbb include: Add header for mstask. 2008-07-11 15:19:01 +02:00
Jon Griffiths 1ad733e4e0 ntdll: Implement [Rtl]InitializeCriticalSectionEx. 2008-06-23 14:04:24 +02:00
Alexandre Julliard a2ba7dcf7b include: Use WINE_NO_UNICODE_MACROS instead of __WINESRC__ where appropriate. 2008-05-30 10:02:42 +02:00
Dan Hipschman 2904f543f4 advapi32: Add a stub for CreateRestrictedToken. 2008-03-22 11:14:13 +01:00
Alexandre Julliard 5c5b997dc2 kernel32: Implemented ReadFileScatter and WriteFileGather. 2008-03-15 10:58:38 +01:00
Dan Hipschman 0e8f193184 kernel32: Add the MOVEFILE_WRITE_THROUGH flag for MoveFileEx (stub). 2008-03-14 11:53:15 +01:00
Dmitry Timoshkov e49e8b20db kernel32: Add stubs for fiber local storage APIs. 2008-02-29 11:48:13 +01:00
Francois Gouget bce8b67785 kernel32: Add prototypes for [GS]etDynamicTimeZoneInformation(). 2008-02-15 09:56:06 +01:00
Rob Shearman 8296548bb5 kernel32: Implement GetThreadId. 2007-11-13 13:29:27 +01:00
Alexandre Julliard 16d85e2d30 include: Add WINBASEAPI to the exported kernel32 functions. 2007-11-07 12:27:51 +01:00
Alexandre Julliard 113e40c28f include: Moved AttachThreadInput prototype to winuser.h where it belongs. 2007-11-06 19:57:18 +01:00
Detlef Riekenberg 3fb513deb4 include/winbase: Fix a typo. 2007-10-29 12:02:24 +01:00
Francois Gouget b1335db353 Better match the PSDK types and update win32.api to fix the winapi_check warnings. 2007-10-23 18:19:42 +02:00
Bang Jun-young 27213de046 advapi32: Fix AdjustTokenPrivileges() to match the PSDK. 2007-10-17 13:44:01 +02:00
Mikolaj Zalewski 57ca9ae92d advapi32: Add AddAuditAccessAceEx. 2007-09-25 11:18:45 +02:00
Alexandre Julliard 40fb7ca168 kernel32: Implemented GetTickCount64. 2007-07-11 14:04:54 +02:00
Dmitry Timoshkov 5f1a234731 kernel32: Fix the size of ThreadAffinityMask to match PSDK. 2007-05-21 19:11:01 +02:00
Kevin Koltzau 1cb98aa25d winbase.h: Define FILE_FLAG_OPEN_REPARSE_POINT. 2007-05-07 14:25:09 +02:00
Andrew Talbot a22c7a6c34 kernel32: Constify a variable. 2007-05-03 14:23:31 +02:00
Kirill K. Smirnov fff6db62f3 kernel32: Add partial stub for NeedCurrentDirectoryForExePath. 2007-04-27 13:05:12 +02:00
Francois Gouget 590c4020f2 kernel32: Add prototypes to winbase.h for the SList functions. 2007-02-09 14:32:56 +01:00
Bang Jun-Young 2fb391b3df winbase.h: Cosmetic changes. 2007-01-22 13:28:55 +01:00
Mike McCormack b9910cb36d kernel32: Implement CopyFileWithProgress. 2007-01-02 12:08:53 +01:00
Rob Shearman 167323e6f8 include: Add security QOS flags to winbase.h. 2006-11-15 11:33:47 +01:00
Francois Gouget a7f8195be9 include: The PSDK does not have the A/W variants of MAKEINTATOM() so we should not either. 2006-11-08 12:10:26 +01:00
Francois Gouget 7c38ff6adf include: Fix the HeapQueryInformation() prototype. 2006-11-02 22:13:32 +01:00
Mike McCormack c4f815f304 kernel32: Declare HeapQueryInformation and HeapSetInformation. 2006-11-02 12:24:18 +01:00
James Hawkins cdd717bc1b advapi32: Add missing declarations to the public headers. 2006-10-12 11:34:50 +02:00
Alexandre Julliard 530e765035 include: Exception filters should return LONG, not DWORD.
Also move UnhandledExceptionFilter definitions to winbase.h since they
are there in the latest SDK.
2006-09-20 11:26:59 +02:00
Andrew Talbot 06e7d91bad kernel: Constify a formal parameter. 2006-09-08 16:07:36 +02:00
Robert Reif abdb2dbc66 kernel32: Add GetNativeSystemInfo. 2006-08-16 12:41:01 +02:00
Robert Reif 611eb3fa8a kernel32: Add IsWow64Process. 2006-08-11 19:26:12 +02:00
Robert Reif c4ac8c5b16 advapi32: Add CreateWellKnownSid and IsWellKnownSid. 2006-07-17 13:45:11 +02:00
Alexandre Julliard 1053eccb36 include: Added prototype for DllMain. 2006-06-12 16:18:17 +02:00
Eric Pouech 1d6e2590e0 ntdll/kernel32: Pipe information.
- implemented ntdll.NtQueryInformationFile's FilePipeLocalInformation control code 
- reimplemented kernel32.GetNamedPipeInfo on top of it
- enhance current features to make this work both on client and server handles
- now also returning the number of instances
2006-05-27 12:31:01 +02:00
Alexandre Julliard ab2349daf0 kernel32: Partial implementation of GetModuleHandleExA/W. 2006-05-27 10:57:17 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Robert Shearman 29d3f1e15d include: Add defines used in CopyFileEx. 2006-05-23 11:32:47 +02:00
Paul Chitescu b1cbecbbc6 advapi32: Add stub FileEncryptionStatus and declarations. 2006-05-20 16:56:16 +02:00
Detlef Riekenberg 060d53748d winbase.h: Add missing LMEM_INVALID_HANDLE define. 2006-03-16 21:40:00 +01:00
Eric Pouech 3c0e5eed83 A few fixes for pointer qualifiers (const, volatile) warnings. 2006-02-06 13:10:18 +01:00
Hans Leidekker 69c5f62da8 include: Add some defines related to tape support. 2006-01-26 13:22:24 +01:00
Mike McCormack 1f7c81eb36 kernel32: Create a stub implementation for PostQueuedCompletionStatus. 2006-01-17 13:13:01 +01:00
Mike McCormack a1edebf523 kernel32: Declare BindIoCompletionCallback(). 2006-01-16 20:51:11 +01:00
Mike McCormack 91199249ec kernel32: Define SCS_64BIT_BINARY. 2006-01-16 20:40:33 +01:00
Eric Pouech b09582a890 Implemented kernel32 process affinity handling on top on ntdll. 2005-09-27 10:52:10 +00:00
Alexandre Julliard c9b27e90ce Implemented InterlockedCompareExchangePointer and
InterlockedExchangePointer for x86-64.
2005-09-13 15:01:41 +00:00
Felix Nawothnig 58d7d7454b Make the destination pointers of Interlocked* functions volatile to
match the SDK headers.
2005-08-18 10:50:38 +00:00
Alexandre Julliard e859359211 Added a wine_get_dos_file_name function in kernel32 as a wrapper
around the new wine_unix_to_nt_file_name.
2005-08-11 11:07:17 +00:00