Commit graph

68 commits

Author SHA1 Message Date
Jacek Caban
cf08bd0e38 server: Create iosb objects inside read/write request handlers.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-01 21:19:38 +01:00
Jacek Caban
d055d3d121 server: Use async object to transfer IRP result to client.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:03 +01:00
Jacek Caban
64dc8f5c48 server: Store iosb in async object.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:03 +01:00
Jacek Caban
d2b3c6c3f9 server: Introduced iosb struct for server-side IO_STATUS_BLOCK representation and use it in irp_call.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-05 16:11:03 +01:00
Jacek Caban
ad1e0609a0 server: Get rid of no loner used cancel_async from fd_ops.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-01 13:50:59 +01:00
Jacek Caban
5b2dc08307 server: Allow caching device file handles.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-28 18:35:55 +02:00
Alexandre Julliard
c7f16d6220 server: Add a helper function to create a symlink to an existing object.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-07-18 15:34:08 +09:00
Alexandre Julliard
3ea7f7d2f4 server: Set the security descriptor at object creation.time.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
ff9d90bbb0 server: Use a standard object for object attribute roots instead of a directory.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-12 23:07:30 +09:00
Alexandre Julliard
b21a324070 server: Use the link_name operation to create named objects.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-05 00:20:01 +09:00
Alexandre Julliard
f55db7882d server: Add link_name and unlink_name object operations.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-04 21:07:19 +09:00
Alexandre Julliard
008f14f03f server: Directly return a structure in get_req_unicode_str().
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-29 21:25:12 +09:00
Alexandre Julliard
d15f47412e server: Always print the full path of objects when dumping them.
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-22 01:26:15 +09:00
Sebastian Lackner
408b7ea6b3 server: Remove unused device manager argument from set_irp_result call.
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-10-29 11:02:32 +09:00
Sebastian Lackner
a8c6fe39af server: Avoid leaking uninitialized stack memory to applications.
Without the memset() there is a risk of leaking uninitialized stack memory in the
get_next_device_request wineserver call.
2015-08-17 14:48:20 +09:00
Sebastian Lackner
b279901546 server: Initialize irp->thread immediately after creation of irp_call object. 2015-08-17 14:48:08 +09:00
Alexandre Julliard
9cef52ffd6 server: Don't associate a thread to the MJ_CREATE and MJ_CLOSE requests. 2015-07-13 15:10:30 +09:00
Alexandre Julliard
bf26950194 server: Pass the file instead of the device pointer in all IRP requests. 2015-07-09 14:48:34 +09:00
Alexandre Julliard
13499a3d11 ntoskrnl: Implement creation and destruction of file objects. 2015-07-09 14:48:14 +09:00
Alexandre Julliard
350ee62ab4 server: Queue an IRP_MJ_CLOSE request on file destruction. 2015-07-09 14:38:18 +09:00
Alexandre Julliard
b1fd5955c9 server: Queue an IRP_MJ_CREATE request on file creation. 2015-07-09 14:38:18 +09:00
Alexandre Julliard
d087ea6798 server: Pass the device client pointer as part of the IRP parameters. 2015-07-09 14:38:18 +09:00
Sebastian Lackner
ece08c10a1 server: Delay destruction of file object in set_irp_result. 2015-06-19 17:02:11 +09:00
Alexandre Julliard
c0ac2afb19 server: Create the null device and its symlink. 2015-05-21 17:24:34 +09:00
Alexandre Julliard
b414b93d5a server: Allow a device file to be mapped directly to a Unix device. 2015-05-21 17:18:08 +09:00
Alexandre Julliard
6260aa6cd2 server: Add an intermediate file object for file handles opened on devices. 2015-05-18 17:50:22 +09:00
Alexandre Julliard
6073e75a6a server: Implement flush requests for device files. 2015-05-06 17:16:48 +09:00
Alexandre Julliard
311f786286 server: Add a common structure to store irp parameters. 2015-05-06 17:16:16 +09:00
Alexandre Julliard
faa1db4d13 server: Implement read and write requests for device files. 2015-05-06 17:16:16 +09:00
Alexandre Julliard
837b39b202 server: Add read and write fd member functions.
Also rename no_flush() to no_fd_flush() for consistency.
2015-05-06 09:07:42 +09:00
Alexandre Julliard
fc4a94c0e2 server: Return irp size separately from the output data. 2015-05-06 08:44:30 +09:00
Alexandre Julliard
6f2ed23c16 server: Retrieve ioctl data directly from the request. 2015-05-06 08:44:29 +09:00
Alexandre Julliard
165dd1ff36 server: Rename ioctl to irp to allow supporting various types of I/O requests. 2015-05-06 08:44:29 +09:00
Alexandre Julliard
ecf7ed6650 server: Add a request to store the results of an ioctl asynchronously. 2015-03-11 22:45:51 +09:00
Alexandre Julliard
0157f76888 server: Allow device manager ioctls to run asynchronously. 2015-03-11 22:44:51 +09:00
Alexandre Julliard
39644bb309 server: Pass a wait queue entry to the signaled/satisfied object functions. 2013-08-27 23:48:36 +02:00
Bernhard Loos
507d929051 ntoskrnl: Correctly implement PsGetCurrentThread/ProcessId. 2011-10-28 13:04:00 +02: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
7ec95c5bee server: Explicitly specify when an ioctl call needs to be blocking. 2008-12-30 20:37:20 +01:00
Alexandre Julliard
923310aa54 server: Make the device opaque data a client_ptr_t instead of a void pointer. 2008-12-29 17:28:40 +01:00
Alexandre Julliard
9ed42d2709 server: Get rid of the unused count parameter in fd_queue_async(). 2008-12-26 12:33:31 +01:00
Alexandre Julliard
8382eb01b2 server: Return correct object types in the get_directory_entry request. 2007-12-05 18:16:42 +01:00
Alexandre Julliard
8268ad551a server: Remove failed ioctls from the queue as soon as the result is set. 2007-10-30 11:30:58 +01:00
Rob Shearman
c1707d8938 server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk. 2007-10-04 12:30:52 +02:00
Alexandre Julliard
24001e8ddc server: Add a default access mapping function for files, and use it for devices too. 2007-10-02 14:20:15 +02:00
Alexandre Julliard
aafcfe7663 server: Add support for retrieving results of queued ioctls once they are done. 2007-05-08 20:45:44 +02:00
Alexandre Julliard
78b75108cd server: Add request to retrieve the next pending ioctl call for a device manager. 2007-05-08 20:40:26 +02:00
Alexandre Julliard
61e08b346b server: Add support for queuing ioctl calls to a device. 2007-05-08 20:37:21 +02:00
Alexandre Julliard
b43dc15c8a server: Add support for generic device objects managed from the client side. 2007-05-08 20:28:37 +02:00
Alexandre Julliard
db692c8f39 Open a real file handle for drive devices, and get rid of the server
device hacks (based on a patch by Eric Pouech).
2004-03-04 23:00:18 +00:00