Jacek Caban
688c7a99d2
server: Return error for FSCTL_PIPE_PEEK calls on disconnected pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-04 21:24:28 +02:00
Jacek Caban
3f07c6e256
server: Add FileFsDeviceInformation implementation for named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-03 09:41:19 +02:00
Jacek Caban
2ab2f31f18
server: Allow server side NtQueryVolumeInformationFile implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-10-03 09:39:52 +02:00
Alexandre Julliard
38d0aa68da
server: Always make pipes non-blocking.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-09-22 15:11:55 +02:00
Jacek Caban
7b33613fc4
server: Make fd_queue_async infallible.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 10:43:14 +02:00
Jacek Caban
0b4c8bf93f
server: Make async_queue object a simple list instead of a server object.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-05 10:39:54 +02:00
Jacek Caban
54234b8a47
server: Associate named pipe device waiters queue with its fd.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-07-03 15:57:46 +02:00
Jacek Caban
10c1f245e4
server: Use create_request_async in flush request handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:35:33 +02:00
Jacek Caban
c56c42ff79
server: Use create_request_async in ioctl request handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:32:49 +02:00
Jacek Caban
2bd828b13c
server: Use create_request_async for write requests.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:23:36 +02:00
Jacek Caban
0fb6099b01
server: Preallocate wait handle in create_request_async and return it in read request.
...
alloc_handle is failable and when we're returning the handle, handling
error properly is not really possible.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-06-28 12:23:35 +02:00
Zebediah Figura
d37bfe960f
kernel32: Implement bytes left in PeekNamedPipe().
...
Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-05-22 13:46:18 +02:00
Jacek Caban
f6b2ccc54b
server: Use common get_fd_type implementation for both pipe end implementations.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-24 15:29:40 +02:00
Jacek Caban
9d666869f3
server: Remove no longer needed blocking argument from flush fd op.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:29 +02:00
Jacek Caban
c9d9adaf65
server: Remove no longer needed blocking argument from write fd op.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:27 +02:00
Jacek Caban
5e584e936b
server: Remove no longer needed blocking argument from read fd op.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:26 +02:00
Jacek Caban
047062b28b
server: Remove no longer needed blocking argument from ioctl fd op.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-04-12 19:11:24 +02:00
Jacek Caban
975c5381ed
server: Added support for flushing client pipe.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:24 +02:00
Jacek Caban
aa472f5eb5
server: Added support for message mode named pipe reads.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-27 16:54:24 +02:00
Jacek Caban
b682e1c41d
server: Use server-side I/O for message mode named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:07:09 +01:00
Jacek Caban
197674669e
server: Don't release client fd in do_disconnect for pipes in server-side I/O mode.
...
If server closes without disconnect, it should be still possible to read
remaining buffered data.
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:06:58 +01:00
Jacek Caban
56ae76ce84
server: Implement server-side named pipe read.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:06:49 +01:00
Jacek Caban
d4139833c1
server Introduce read queue for server-side named pipe I/O.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-24 21:06:47 +01:00
Jacek Caban
134c83203a
server: Added server-side FSCTL_PIPE_PEEK implementation.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:52:58 +01:00
Jacek Caban
7ae689d668
server: Implement server-side named pipe write.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:51:51 +01:00
Jacek Caban
4b2d5171e0
server Introduce write queue for server-side named pipe I/O.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:50:32 +01:00
Jacek Caban
2fad531cb5
server: Implement disconnecting message queue.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:50:19 +01:00
Jacek Caban
9db22fdfcf
server: Introduce pipe message queue.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-22 18:50:15 +01:00
Jacek Caban
ae5684479e
server: Use no_fd_queue_async for named pipe ends in server I/O mode.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:36:55 +01:00
Jacek Caban
a8023d300c
server: Introduce server-side I/O mode for named pipes.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:36:45 +01:00
Jacek Caban
c5afc9f9b6
server: Store buffer size in pipe_end.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:36:37 +01:00
Jacek Caban
316112e3b4
server: Store connected pipe_end in pipe_end struct.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-03-20 19:36:35 +01:00
Jacek Caban
e50d49c17a
server: Moved server-independent parts of pipe_server_flush into separated function.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 20:20:55 +01:00
Jacek Caban
8989867544
server: Introduced new pipe_end struct containing common parts of pipe_client and pipe_server.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 20:20:53 +01:00
Jacek Caban
a3acdf117f
server: Pass existing async object to fd_queue_async.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-22 20:20:50 +01:00
Jacek Caban
a9c51f4e8a
server: Create async object in flush request handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:24:13 +01:00
Jacek Caban
bede6499ed
server: Create async object in ioctl request handler.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:24:11 +01:00
Jacek Caban
91bd81441f
server: Allow creating async object not associated with a queue.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2017-02-21 14:22:44 +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
d8bfbbdc07
server: Signal pipe server fd in create_pipe_server.
...
Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-12-02 15:56:05 +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
Ken Thomases
780ede1cde
server: Make disconnecting a named pipe immediately close the client's connection and allow the server to initiate a new connection.
...
Signed-off-by: Ken Thomases <ken@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-10-21 13:39:10 +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
Sebastian Lackner
20651c7dfe
server: Fix possible leak of root object in create_named_pipe handler.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-04-26 14:50:50 +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
7ad32cf56a
server: Allow lookup_name to distinguish the case of an empty path.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-09 20:36:16 +09:00
Alexandre Julliard
7646df9f4b
server: Use the generic named object functions for named pipes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-08 20:03:32 +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
37503be654
server: Fix checks for a valid directory in object attributes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-02-01 14:57:37 +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
Alexandre Julliard
9504e2addf
server: Add a helper function to validate and return object attributes.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Alexandre Julliard
7350682aa6
server: Store the attributes in the object_attributes structure.
...
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2016-01-16 00:05:57 +09:00
Sebastian Lackner
ace9d329e9
server: Fix crash when calling SetNamedPipeHandleState on partially closed pipe.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:16 +09:00
Sebastian Lackner
ee02530bc4
server: Fix crash when calling GetNamedPipeHandleState on partially closed pipe.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-23 23:35:16 +09:00
Sebastian Lackner
52f9acedd2
server: Clear last error when creating object without name.
...
Signed-off-by: Sebastian Lackner <sebastian@fds-team.de>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
2015-11-02 23:02:22 +09:00
Sebastian Lackner
b3fb5992b6
server: Fix leak of async handle in pipe_server_flush.
2015-05-11 15:19:05 +09:00
Alexandre Julliard
67da7ba597
server: Use the async queue for pipe flush requests.
2015-05-08 18:02:57 +09:00
Alexandre Julliard
ad53ffc9c0
server: Make async objects waitable.
2015-05-08 17:32:06 +09:00
Alexandre Julliard
860091d2fd
server: Add an async structure to the flush request to follow the common pattern.
2015-05-06 17:16:15 +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
6f2ed23c16
server: Retrieve ioctl data directly from the request.
2015-05-06 08:44:29 +09:00
Erich E. Hoover
b121f27b72
server: Add blocked support for SIO_ADDRESS_LIST_CHANGE ioctl().
2015-02-10 22:45:02 +09:00
Hans Leidekker
b31ed58b96
server: Set the security descriptor of named pipe objects.
2014-11-12 21:09:50 +09:00
Sebastian Lackner
82ce3fdcfd
server: Implement set_named_pipe_info wineserver call for NtSetInformationFile/FilePipeInformation.
...
Based on a patch by Adam Martinson.
2014-08-20 19:40:07 +02:00
Sebastian Lackner
2e95f370d4
server: Store pipe_flags in a separate variable for both server and client of named pipes.
2014-08-20 19:38:04 +02:00
Michael Müller
9602fa7a93
server: Fix return value for FSCTL_PIPE_WAIT if pipe does not exist.
2014-06-11 13:07:11 +02: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
c368df4865
server: PIPE_TYPE_BYTE | PIPE_READMODE_MESSAGE is invalid for named pipes.
2011-10-13 19:57:19 +02:00
Bernhard Loos
07b681e04a
ntdll: Implement the NamedPipeConfiguration value for the FilePipeLocalInformation class of NtQueryInformationFile.
2011-10-08 19:56:08 +02:00
Bernhard Loos
9034e694a3
server: Correctly implement permission checking for named pipes.
2011-10-08 19:55:35 +02:00
Bernhard Loos
e4c2a6d1cd
server: It's possible to call NtQueryInformationFile on a pipe if it was opened with access 0.
2011-10-08 19:55:19 +02:00
Bernhard Loos
bded698462
server: Sharing 0 is not allowed for named pipes.
2011-09-27 16:54:00 +02:00
Bernhard Loos
5098b13177
server: Only the sharing parameter of two instances of the same pipe have to match.
2011-09-27 16:54:00 +02:00
Bernhard Loos
039bacb0c9
server: Store sharing state for named pipes.
2011-09-27 16:54:00 +02:00
Alexandre Julliard
a2ca2ebd50
server: Change the removable fd flag to a cacheable flag to make it possible for fd users to set it dynamically.
2010-08-23 17:09:45 +02:00
Andrey Turkin
85cc2c13f6
server: Connect named pipe synchronously when overlapped param is NULL.
2010-05-24 12:39:35 +02:00
Alexandre Julliard
7a344c14af
server: Avoid a crash when trying to wait on a disconnected pipe client.
2009-06-09 17:01:13 +02:00
Alexandre Julliard
50171c5cc1
server: Make the new named pipe server fd inherit the I/O completion if it was set before connecting.
2009-03-03 11:59:29 +01:00
Alexandre Julliard
9dd3fe5467
server: Overlapped named pipes are never blocking, even if no APC was specified.
2009-03-02 20:34:07 +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
9ed42d2709
server: Get rid of the unused count parameter in fd_queue_async().
2008-12-26 12:33:31 +01:00
Rob Shearman
44581af935
server: Always try return a named pipe server that is listening from find_available_server.
...
We still fallback to an idle server, but this prevents a client from
connecting to a named pipe server that isn't listening.
2008-02-05 12:19:37 +01:00
Alexandre Julliard
8382eb01b2
server: Return correct object types in the get_directory_entry request.
2007-12-05 18:16:42 +01:00
Rob Shearman
dd9e392796
server: Use the security descriptor passed in when creating events.
2007-10-25 12:47:22 +02: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
Marcus Meissner
fea59c87ad
server: set_server_state needs to be called with non-NULL server.
...
Spotted by Coverity.
2007-05-09 12:06:37 +02:00
Alexandre Julliard
46fe7177c1
server: Allocate the wait event for FSCTL_PIPE_WAIT on the server side.
2007-05-03 17:44:32 +02:00
Alexandre Julliard
63a2372526
server: Allocate the wait event for FSCTL_PIPE_LISTEN on the server side.
2007-05-03 17:44:05 +02:00
Alexandre Julliard
fd59e158a7
server: Infrastructure to return a wait handle for blocking ioctls.
2007-05-03 17:43:18 +02:00
Alexandre Julliard
017480d4e2
server: Store valid file options in pseudo file descriptors.
2007-05-03 16:07:30 +02:00
Alexandre Julliard
bf5b6c9b34
server: Don't give out read/write access to the named pipe device.
2007-04-18 16:32:31 +02:00
Alexandre Julliard
c18e8d6a69
server: Use the standard file descriptor wait queue for named pipe server async waits.
2007-04-18 16:28:01 +02:00
Alexandre Julliard
6105a93be6
server: Moved the FSCTL_PIPE_LISTEN implementation to the server.
2007-04-18 16:26:37 +02:00
Alexandre Julliard
3684dc181c
server: Move the FSCTL_PIPE_WAIT ioctl implementation to the server.
2007-04-17 22:07:07 +02:00
Alexandre Julliard
737148c57b
server: Add a specific data type for ioctl codes so they can be printed as symbols.
2007-04-17 22:06:13 +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
8c46095484
server: Implement the FSCTL_PIPE_DISCONNECT ioctl on the server side.
2007-04-16 14:51:29 +02:00