Commit Graph

173 Commits

Author SHA1 Message Date
Alexandre Julliard a56ffb6326 ntdll: Rename NTDLL_wait_for_multiple_objects to server_select since it's more generic now. 2013-08-26 20:36:22 +02:00
Alexandre Julliard 947e337480 server: Make signal and wait a separate select operation. 2013-08-26 20:34:28 +02:00
Alexandre Julliard 042e0046d4 server: Make select on all handles a separate operation. 2013-08-26 20:32:52 +02:00
Alexandre Julliard cbdc0ec72d ntdll: Pass a select operation structure to NTDLL_wait_for_multiple_objects. 2013-08-26 20:32:19 +02:00
Alexandre Julliard c2ab7a625e server: Add a structure to pass the parameters of a select request. 2013-08-26 20:24:42 +02:00
Andrew Cook cdfee68be1 ntdll: Implement NtQueryEvent. 2013-08-26 14:27:56 +02:00
Huw Davies 97fd3f3b52 ntdll: Call the correct server request. 2013-08-22 12:34:44 +02:00
Alexandre Julliard dbf9d71ef8 server: Add support for keyed event objects. 2013-08-21 14:24:06 +02:00
Alexandre Julliard bf3e23bb36 ntdll: Add the keyed events entry points. 2013-08-21 14:24:06 +02:00
Dmitry Timoshkov 7cab2e99c3 ntdll: Last parameter of NtSetIoCompletion is 64-bit on 64-bit platforms. 2013-08-20 20:52:18 +02:00
Andrew Talbot d0d28b96a4 ntdll: Avoid signed-unsigned integer comparisons. 2013-02-21 08:34:13 +01:00
Nikolay Sivov b1c3c8c898 kernel32: Added InitOnceInitialize() implementation. 2012-07-23 12:53:24 +02:00
Alexandre Julliard 6d2063f41b ntdll: Set the thread exit code when a thread is killed inside a wait. 2012-01-16 14:04:39 +01:00
Alexandre Julliard 3b67ad9bd4 ntdll: Fix the NtCreateEvent prototype.
It takes an event type, not a manual reset flag.
2010-01-18 20:34:54 +01:00
Hans Leidekker 3a43866790 ntdll: Don't return success from the NtQueryEvent stub. 2009-06-23 11:48:13 +02:00
Michael Stefaniuc d2f6f56873 ntdll: Remove superfluous pointer casts. 2009-03-23 12:40:53 +01:00
Alexandre Julliard cc933f586a ntdll: Moved exit_thread and abort_thread functions to thread.c. 2009-02-20 18:07:41 +01:00
Alexandre Julliard 6db201080f server: Make the various async I/O parameters client_ptr_t instead of void pointers. 2008-12-30 21:09:41 +01:00
Alexandre Julliard f507ccbf52 server: Specify the user APC to call only once the system APC has executed. 2008-12-30 20:51:55 +01:00
Alexandre Julliard f69e62207b server: Make the arguments for CreateRemoteThread client_ptr_t instead of void pointers. 2008-12-30 15:30:11 +01:00
Alexandre Julliard c86ec6445c server: Make a couple of fields smaller in the apc_call_t/apc_result_t structures. 2008-12-30 15:22:45 +01:00
Alexandre Julliard 838803ce24 server: Make the address parameters in inter-process virtual memory calls client_ptr_t.
Add explicit padding fields in the corresponding structures.
2008-12-30 15:05:38 +01:00
Alexandre Julliard 9b92a59115 server: Make timer callback function and argument client_ptr_t instead of void pointers. 2008-12-29 17:43:01 +01:00
Alexandre Julliard 45c991937a server: Make the select cookie a client_ptr_t instead of a void pointer. 2008-12-29 17:21:32 +01:00
Alexandre Julliard b660aaa9ea server: Use the same field for process and thread handle in the queue_apc request. 2008-12-26 12:33:31 +01:00
Alexandre Julliard 401f4b717a server: Make mem_size_t always 64-bit. 2008-12-17 19:25:09 +01:00
Alexandre Julliard f6fa72d770 server: Make async I/O transfer sizes always 32-bit. 2008-12-15 13:30:25 +01:00
Alexandre Julliard e81d453f63 ntdll: Convert the handles to server handles in NTDLL_wait_for_multiple_objects. 2008-12-11 20:38:21 +01:00
Alexandre Julliard d1b3d484f7 server: Add functions for conversions between server object handles and pointer-style handles. 2008-12-08 16:05:17 +01:00
Alexandre Julliard 091d9748e3 ntdll: Add stubs for all the job object functions. 2008-09-04 22:47:13 +02:00
Alexandre Julliard 5625c6079e Get rid of the global thread.h header. 2008-03-01 11:57:00 +01:00
Andrey Turkin 7a9210fa85 server: Pass Information field from async I/O APCs. 2007-11-15 14:24:50 +01:00
Andrey Turkin 793453f768 ntdll: Make async i/o functions generate completion messages. 2007-11-15 14:23:37 +01:00
Rob Shearman f98556c119 server: Add the name length to the object_attributes structure so that other variable length data can be present after object_attributes. 2007-10-30 14:18:05 +01:00
Rob Shearman 23df453d38 server: Make create_mapping use struct object_attributes and set the security descriptor of file mapping objects. 2007-10-26 12:45:29 +02:00
Rob Shearman 1f86321964 server: Make create_mutex use struct object_attributes and set the security descriptor of mutex objects. 2007-10-26 12:44:51 +02:00
Rob Shearman b0e5fb4384 server: Make create_semaphore use struct object_attributes and set the security descriptor of semaphore objects. 2007-10-26 12:44:26 +02:00
Rob Shearman dd9e392796 server: Use the security descriptor passed in when creating events. 2007-10-25 12:47:22 +02:00
Alexandre Julliard 235532ce28 server: Use the file_pos_t type for file sizes and offsets in the protocol structures. 2007-10-10 14:06:25 +02:00
Andrey Turkin 477582401b server: Implement server-side completion queues and operations on them. 2007-09-26 13:56:43 +02:00
Michael Stefaniuc 3fd2f084db ntdll: Match the definition of NtQueryEvent() with its declaration. 2007-07-30 14:12:45 +02:00
Alexandre Julliard fec5117e91 server: Merge APC processing into the select request.
This is needed to return the correct value when one of the handles
being waited on is set to signaled state by the APC.
2007-07-16 16:14:45 +02:00
Andrey Turkin ad5f94d0f7 ntdll: Stub and document IoCompletion APIs. 2007-06-08 13:29:31 +02:00
Alexandre Julliard 7c6bc78b90 ntdll: Get rid of the num_async_io counter in the TEB. 2007-06-04 18:17:16 +02:00
Dmitry Timoshkov e142779b09 ntdll: Fix compilation warnings in 64-bit mode. 2007-05-23 13:10:20 +02:00
Alexandre Julliard aaf477f292 server: Change the timeout handling to use NT-style 64-bit timeouts everywhere. 2007-04-17 20:08:59 +02:00
Alexandre Julliard 72bff2e445 server: Add support for restarting an async I/O when the client side couldn't finish it right away. 2007-04-10 17:07:27 +02:00
Alexandre Julliard 50975c81f0 server: Return the status from an async I/O APC call to the server. 2007-03-20 19:27:10 +01:00
Alexandre Julliard f3cb4f7d94 ntdll: Avoid inter-process APCs when called for the process itself. 2007-01-18 15:41:05 +01:00
Alexandre Julliard 02e2fa7798 ntdll: Implementation of inter-process NtMapViewOfSection and NtUnmapViewOfSection. 2007-01-18 15:17:51 +01:00
Alexandre Julliard 8025f79ce1 ntdll: Implementation of inter-process RtlCreateUserThread. 2007-01-18 15:02:55 +01:00
Alexandre Julliard dad0374003 ntdll: Added a missing chunk in the NtLockVirtualMemory support.
Thanks to Rob Shearman for noticing this.
2007-01-16 16:01:28 +01:00
Alexandre Julliard 5a1ad74a67 ntdll: Implementation of inter-process NtFlushVirtualMemory. 2007-01-15 22:31:07 +01:00
Alexandre Julliard 1ea968016f ntdll: Implementation of inter-process VirtualProtectEx. 2007-01-15 22:30:04 +01:00
Alexandre Julliard 3d00239586 ntdll: Implementation of inter-process VirtualQueryEx. 2007-01-15 22:28:42 +01:00
Alexandre Julliard 7a00142bc1 ntdll: Implementation of inter-process VirtualAllocEx and VirtualFreeEx. 2007-01-15 22:27:40 +01:00
Alexandre Julliard 6ca1d1b081 server: Support queuing some APCs to a process instead of a thread. 2007-01-15 22:26:32 +01:00
Alexandre Julliard fb40dc4099 server: Added mechanism for returning results of APC calls.
Defined APC_VIRTUAL_ALLOC and APC_VIRTUAL_FREE requests.
2007-01-15 22:24:40 +01:00
Alexandre Julliard e3247ecc70 ntdll: Only return STATUS_USER_APC from a wait if a real user APC has been run.
Based on a patch by Thomas Kho.
2007-01-10 20:48:02 +01:00
Alexandre Julliard 30a2645ee7 ntdll: Compute the wait timeout only once in NTDLL_wait_for_multiple_objects. 2007-01-10 20:44:35 +01:00
Alexandre Julliard 5c8421d3e7 server: Add a generic apc_call structure to make it easier to extend, and more type-safe. 2007-01-04 13:40:09 +01:00
Alexandre Julliard 49b49c30fc server: Notify the server that an APC has completed in the next get_apc call. 2007-01-04 13:17:53 +01:00
Hans Leidekker f7b0ba7aa7 ntdll: Win64 printf format warning fixes. 2006-10-18 12:35:26 +02:00
Alexandre Julliard 3ca608b1b3 ntdll: Renamed the NTDLL_get/from_server_timeout functions since they don't deal only with timeouts. 2006-07-26 14:49:13 +02:00
Jonathan Ernst 360a3f9142 Update the address of the Free Software Foundation. 2006-05-23 14:11:13 +02:00
Francois Gouget 17689c07bb Fix some winapi_check documentation warnings. 2006-05-15 15:05:15 +02:00
Mike McCormack 9aa468d884 ntdll: Stub implementations of NtCreateIoCompletion, NtSetIoCompletion, and NtRemoveIoCompletion.
Based on a patch by Rob Shearman.
2006-04-19 12:00:02 +02:00
Vitaliy Margolen 7c5cb7a229 Move timer objects into directory name space. 2005-12-02 16:05:54 +01:00
Vitaliy Margolen 5daae3dfa9 Move semaphore objects into directory name space. 2005-12-02 16:01:17 +01:00
Vitaliy Margolen f676bc8d85 Move event and mutex objects into directory name space. 2005-12-02 15:55:48 +01:00
Ge van Geldorp 1a1583a364 Match PSDK STATUS_* definitions. 2005-11-28 17:32:54 +01:00
Vitaliy Margolen a996000ad5 - Send whole OBJECT_ATTRIBUTES.Attributes to the server not just an
inherit flag.
- Pass DesiredAccess to the server when creating mailslot.
2005-10-27 18:30:37 +00:00
Mike McCormack 04f9f1b066 Don't include winbase.h or winerror.h when not necessary. 2005-06-21 09:52:40 +00:00
Mike McCormack d838385b38 Add and fix function prototypes. 2005-06-13 10:03:18 +00:00
Mike McCormack 950e5e626c Dependency fixes for winternl.h. 2005-06-10 19:33:47 +00:00
Alexandre Julliard ab29aa2126 Moved the ntdll per-thread data out of the TEB into a private
structure stored in TEB.SystemReserved2.
2005-06-06 20:04:33 +00:00
Alexandre Julliard e4412a618c Removed the special casing of kernel32 and ntdll for the TEB
definition in winternl.h.
2005-05-16 17:52:10 +00:00
Mike McCormack f92fff66a2 Implemented NtSignalAndWaitForSingleObject. 2005-04-24 17:35:52 +00:00
Eric Pouech 0a9f98b9bd Removed the no longer user APC_ASYNC kind of APC. 2005-04-18 15:38:44 +00:00
Mike McCormack 58a4fb9ef0 Declare and define a stub for NtSignalAndWaitForSingleObject. 2005-04-16 11:19:27 +00:00
Steven Edwards 5727918424 Added a check for poll.h. 2005-03-04 12:38:36 +00:00
Eric Pouech 4634447d6b - got rid of include/async.h
- fixed some overlapped issues in socket handling
- moved kernel32.CancelIo implementation to ntdll
2005-01-14 19:54:38 +00:00
Jon Griffiths 49e13df700 Remove unneeded headers to reduce unneeded rebuilds. 2004-12-17 19:09:29 +00:00
Robert Shearman 7572b125b5 Implement NtQueryTimer. 2004-12-13 21:10:58 +00:00
Eric Pouech 44158dd690 - moved event, semaphore, mutex implementation from kernel32 to ntdll
- added mutant implementation in ntdll, and use it for mutex
  implementation in kernel32
- added access parameter on event, semaphore, timer creation in
  wineserver (as ntdll interface requires it)
- added missing definitions in include/winternl.h
2004-12-02 18:05:37 +00:00
Jeremy White 8099c2b9fd Tune the behavior of Sleep() and Waitxxx() to more closely resemble
Windows behavior.  The key is to yield in a Sleep and in any Wait that
times out.
2004-11-02 19:32:03 +00:00
Alexandre Julliard de91a8dd0f Implemented NtYieldExecution. 2004-10-11 20:11:01 +00:00
Jeremy White 08c0f691ce Made NtDelayExecution with a 0 timeout yield the CPU, as it is
supposed to.
2004-10-09 02:26:29 +00:00
Rolf Kalbermatter dfd6bbf1d2 NtPulseEvent: Don't print FIXME for an optional parameter if it isn't
used.
2004-04-01 21:01:53 +00:00
Ge van Geldorp 399901e054 Rename LARGE_INTEGER and ULARGE_INTEGER members "s" to "u" to conform
with PSDK.
2004-01-23 01:51:33 +00:00
Alexandre Julliard 4dba172e55 Added server_abort_thread to replace SYSDEPS_AbortThread.
Removed no longer used SIGNAL_Block and SIGNAL_Reset.
Moved some internal ntdll definitions to ntdll_misc.h.
2003-11-06 00:08:05 +00:00
Alexandre Julliard e37c6e18d0 Fixed header dependencies to be fully compatible with the Windows
headers (with help from Dimitrie O. Paun).
2003-09-05 23:08:26 +00:00
Alexandre Julliard 217fdab78f Implemented NtDelayExecution and make Sleep call it.
The handle count must not be 0 in NtWaitForMultipleObjects (spotted by
Troy Rollo).
2003-06-30 21:00:15 +00:00
Eric Pouech 9bd4f6bf15 - made async.h ready for use in ntdll: replaced all calls to kernel32
functions with ntdll equivalent
- replaced status setter/getter for wine async structures with direct
  access to a (now included) IO_STATUS_BLOCK structure
- since we now have a IO_STATUS_BLOCK in async_private, we no longer
  need in most of the user (derivated) structures a field for
  LPOVERLAPPED (it's stored as the IO_STATUS_BLOCK)
- rewrote the async.h users accordingly
- implemented ntdll.Nt{Read|Write}File and let
  kernel32.{Read|Write}File(Ex)? use those new ntdll functions
- rewrote smb read/write interfaces to be more ntdll stylish (no
  overlapped yet)
2003-06-26 02:08:17 +00:00
Jukka Heinonen 38fa857648 Timer routines must check for NULL timer name. 2003-06-04 20:14:24 +00:00
Eric Pouech 4c591d4ef3 Implemented timer related functions in ntdll and make the kernel32
functions use them.
2003-05-20 04:00:42 +00:00
Alexandre Julliard 088bcf9ca5 Implemented NtQueueApcThread, and changed the server APC interface to
always take 3 parameters.
Implemented a number of other ntdll thread functions, and use them
from the kernel ones.
2003-04-04 22:26:34 +00:00
Alexandre Julliard 462172a3d6 Added abs_time_t structure to the server protocol, and added a dump
routine for it that displays the relative timeout to make timeout
values easier to interpret.
2003-04-02 22:48:59 +00:00
Alexandre Julliard 6d4aeeca5e Added missing NONAMELESSSTRUCT/UNION. 2003-03-31 19:32:20 +00:00
Alexandre Julliard fbef57c0ce Moved WaitForMultipleObjects to ntdll (based on a patch by Eric
Pouech).
Added NTDLL_get_server_timeout function to compute ntdll-style
timeouts and adapted the timer code to use it.
2003-03-31 01:37:04 +00:00