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
7ec95c5bee
server: Explicitly specify when an ioctl call needs to be blocking.
2008-12-30 20:37:20 +01:00
Alexandre Julliard
a7b3efde0e
server: Store the async handle inside the async_data_t structure.
2008-12-26 12:33:21 +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
d1b3d484f7
server: Add functions for conversions between server object handles and pointer-style handles.
2008-12-08 16:05:17 +01:00
Ken Thomases
974b8d802c
ntdll: Don't poll() on a normal file; it should never block.
2008-11-13 11:48:49 +01:00
Alexandre Julliard
f96670cb5f
ntdll: Add support for root directory in NtCreateFile for Win32 file objects.
2008-11-11 11:40:08 +01:00
Austin English
a1e615813f
ntdll: Quiet a noisy fixme.
2008-10-08 14:26:56 +02:00
Alexandre Julliard
4d958a1cb3
ntdll: Preserve the 2K block size returned for CDROMs.
2008-10-06 17:52:23 +02:00
Andrey Turkin
c425c8a406
ntdll: Add stubbed implementations for NtQueryEaFile and NtSetEaFile.
2008-09-25 13:29:30 +02:00
Alexandre Julliard
b0192cfed3
ntdll: Hardcode the filesystem cluster size to avoid trouble on NFS.
2008-09-16 11:32:38 +02:00
Alexandre Julliard
220bc61c21
Include sys/filio.h to get the FIONREAD definition on Solaris.
2008-08-26 20:40:57 +02:00
Michael Karcher
af2d274f0e
ntdll: Add sub-second resolution to NtQueryInformationFile.
2008-08-20 14:56:01 +02:00
Alexandre Julliard
152d65c6f3
ntdll: Don't consider a 0-byte read from a serial port as a broken pipe.
2008-05-07 20:18:09 +02:00
Alexandre Julliard
2e3287bc6a
ntdll: Serial with ReadIntervalTimeout set to MAXDWORD should return immediately even if nothing was read.
2008-05-07 13:29:18 +02:00
Alexandre Julliard
2d6366fc29
ntdll: Implemented NtWriteFileGather.
2008-03-15 10:58:38 +01:00
Alexandre Julliard
81e4a0f6f3
ntdll: Implemented NtReadFileScatter.
2008-03-15 10:58:38 +01:00
Alexandre Julliard
5625c6079e
Get rid of the global thread.h header.
2008-03-01 11:57:00 +01:00
Rob Shearman
e70848ed01
ntdll: The FileMailslotSetInformation and FileCompletionInformation cases of NtSetInformationFile don't need the fd.
...
So don't do an extra server call to get the fd to avoid a performance
penalty and to make these cases work when an fd isn't available.
2008-02-05 12:19:37 +01:00
Alexandre Julliard
5b71d645f0
ntdll: Fall back to a server device ioctl for files with no associated fd.
2008-01-16 14:57:20 +01:00
Alexandre Julliard
44dbb07441
ntdll: Return a proper Information field also when opening a server file object.
2008-01-07 12:17:42 +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
Andrey Turkin
c702a91a3c
server: Allow async i/o operations to send completion messages.
2007-11-15 14:20:29 +01:00
Rob Shearman
5f5df83281
server: Pass the security descriptor into create_file, if one is specified, and set the initial mode for the file appropriately.
2007-10-30 14:18:27 +01: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
d1a8155882
server: Allow completion object to be attached to an fd object.
2007-09-28 13:17:18 +02:00
Alexandre Julliard
eb22539efa
ntdll: Fix an error message.
2007-09-17 13:42:01 +02:00
Rob Shearman
247b0c9b8e
ntdll: Add a stub implementation of FSCTL_PIPE_IMPERSONATE that just impersonates the token of the current process.
2007-09-14 14:23:38 +02:00
Alexandre Julliard
8765a0da83
ntdll: Fixed file system name comparison on *BSD.
2007-08-29 12:02:13 +02:00
Alexandre Julliard
1b57c3bf90
ntdll: Don't print traces from async I/O callbacks.
2007-06-29 13:40:42 +02:00
Andrew Talbot
87791cfe71
ntdll: Constify some variables.
2007-06-26 12:56:05 +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
Alexandre Julliard
8992f89f27
server: Remove the extra apc_arg parameter now that user APCs all require the same arg as the kernel APC.
2007-06-04 15:20:49 +02:00
Alexandre Julliard
f6a3a4689f
ntdll: Queue an intermediate user APC routine to free the async info.
2007-06-04 15:20:49 +02:00
Alexandre Julliard
197bddfb87
ntdll: Report end of file instead of broken pipe on char devices.
2007-05-31 12:19:03 +02:00
Alexandre Julliard
be59e2bb53
Fix a couple of overflowing heap allocations revealed by the previous change.
2007-05-22 11:59:36 +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
Konstantin Kondratyuk
e84d270252
ntdll: Correct a copy/paste mistake in NtWriteFile.
2007-05-04 12:39:13 +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
133b8bc3ed
server: Return a more correct fd type for anonymous files.
2007-04-23 15:13:22 +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
aaf477f292
server: Change the timeout handling to use NT-style 64-bit timeouts everywhere.
2007-04-17 20:08:59 +02:00
Alexandre Julliard
2669af73df
server: Move the server part of device unmounting to the ioctl processing.
2007-04-16 14:54:52 +02:00
Alexandre Julliard
8c46095484
server: Implement the FSCTL_PIPE_DISCONNECT ioctl on the server side.
2007-04-16 14:51:29 +02:00
Alexandre Julliard
635714397f
server: Add infrastructure for ioctl server request.
2007-04-16 14:45:03 +02:00
Alexandre Julliard
d85121f199
ntdll: Store the file access and options in the fd cache, and get rid of the dynamic flags.
...
This avoids server round-trips for all file I/O.
2007-04-10 22:32:46 +02:00
Alexandre Julliard
bc426ab059
server: Explicitly shutdown closed pipes to prevent access from file descriptors cached in the client.
2007-04-10 21:30:37 +02:00
Alexandre Julliard
64ba011dba
ntdll: Determine the async read avail_mode flag from the client side.
2007-04-10 17:27:50 +02:00
Alexandre Julliard
6dcb280bc5
ntdll: Simplify the async read/write code now that most of the work is done in the server.
2007-04-10 17:19:24 +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
Marcus Meissner
6c2e14e5b0
ntdll: Remove superflous NULL checks.
2007-04-09 12:23:17 +02:00
Alexandre Julliard
c915215ba6
ntdll: Use send(2) instead of write(2) for zero-byte writes to sockets.
2007-04-09 12:21:24 +02:00
Alexandre Julliard
7df060fc43
ntdll: Rely on the server to queue the final APC for asynchronous read/write.
2007-04-06 20:17:08 +02:00
Alexandre Julliard
55f3605c37
ntdll: Reimplement NtWriteFile.
...
Always try a write() before queuing an async I/O.
Handle timeout waits for synchronous I/O entirely on the client side.
Queue the final APC as a proper user APC.
2007-04-06 16:06:16 +02:00
Alexandre Julliard
539d5863e6
ntdll: Reimplement NtReadFile.
...
Always try a read() before queuing an async I/O.
Handle timeout waits for synchronous I/O entirely on the client side.
Queue the final APC as a proper user APC.
2007-04-06 16:05:53 +02:00
Alexandre Julliard
7165e19a24
ntdll: Avoid relying on the IO_STATUS_BLOCK for storing the current transfer count.
2007-04-05 11:03:38 +02:00
Alexandre Julliard
e57749d5a8
ntdll: Avoid setting status in IO_STATUS_BLOCK until the I/O operation is done.
2007-04-05 10:55:40 +02:00
Alexandre Julliard
c16eb8efd9
server: Add support for queuing a user APC upon async I/O completion.
2007-03-27 16:42:27 +02:00
Alexandre Julliard
589ce2bb8d
server: Always return STATUS_PENDING when an async I/O operation has been queued.
2007-03-26 19:13:21 +02:00
Alexandre Julliard
c0fca0a186
ntdll: Avoid overwriting the result of the async I/O callback in NtFsControlFile.
2007-03-23 14:02:13 +01:00
Alexandre Julliard
de1866d4fd
server: Implement the open_file method for named pipes.
...
Get rid of the open_named_pipe request, we can now use a normal open_file_object.
2007-03-22 16:47:46 +01:00
Alexandre Julliard
806bb49eda
server: Implement the open_file method for mailslots.
...
Get rid of the open_mailslot request, we can now use a normal open_file_object.
2007-03-22 16:36:54 +01:00
Alexandre Julliard
928d28f688
server: Don't enforce mailslots path format in ntdll, only in the server.
2007-03-22 14:41:37 +01:00
Alexandre Julliard
50c4800405
server: Don't enforce named pipes path format in ntdll, only in the server.
2007-03-22 14:40:41 +01:00
Alexandre Julliard
94655c8493
server: Implemented the open_file method for named pipe and mailslot devices.
2007-03-22 11:52:40 +01:00
Alexandre Julliard
a133ad56f9
server: Move the signalling of the named pipe completion event to the server.
2007-03-21 14:31:54 +01:00
Alexandre Julliard
ed016f9bb6
server: Move the signalling of the completion event for NtRead/WriteFile to the server.
2007-03-21 14:29:19 +01:00
Alexandre Julliard
111610c45e
server: Add an async_data_t structure to store parameters for async I/O requests.
2007-03-20 20:21:12 +01:00
Alexandre Julliard
eb3728d34e
server: Use the common pattern for async I/O parameters in named pipe requests.
2007-03-20 19:21:15 +01:00
Jeff Latimer
8b2a86a892
ntdll: Test object attributes in NtCreateMailslotFile.
2007-02-28 13:31:26 +01:00
Jeff Latimer
74db5a192e
ntdll: Set default timeout in NtCreateMailslotFile if parameter is NULL.
2007-02-28 13:29:53 +01:00
Jeff Latimer
cb489f7a25
ntdll: Check for passing a NULL handle to NtCreateMailslotFile and add a test.
2007-02-28 13:29:16 +01:00
Marcus Meissner
a4c47c9ec3
ntdll: Initialize needs_close to FALSE.
2007-02-09 11:48:55 +01:00
Rob Shearman
8132707bce
kernel32: Handle the SECURITY_* flags passed into CreateFileW by filling out the SECURITY_QUALITY_OF_SERVICE structure and passing it to NtCreateFile.
...
Print a fixme in NtCreateFile if the SECURITY_QUALITY_OF_SERVICE
structure is specified, since it isn't handled yet.
2007-01-22 12:02:04 +01:00
Alexandre Julliard
027491f6af
ntdll: Avoid heap allocation in fd cache. Fixed a couple of races.
2007-01-18 12:18:29 +01:00
Jeff Latimer
588a350f6d
ntdll: Remove an unnecessary NULL check.
2007-01-02 12:09:03 +01:00
Dmitry Timoshkov
b5cce1e525
ntdll: Map ESPIPE to STATUS_ILLEGAL_FUNCTION.
2007-01-01 17:04:40 +01:00
Alexandre Julliard
a902632483
ntdll: Don't bother with async I/O on regular files.
2006-11-20 14:15:43 +01:00
Alexandre Julliard
83ce958793
ntdll: Store the fd type in the cache and return it in server_get_unix_fd.
2006-11-20 14:15:06 +01:00
Alexandre Julliard
df51cf5c83
ntdll: Re-add sys/ioctl.h that got lost in the PeekNamedPipe move.
2006-11-09 09:18:43 +01:00
Alexandre Julliard
02fc886302
ntdll: Retrieve mailslot message info from the client side.
2006-11-03 17:53:04 +01:00
Alexandre Julliard
511e0bb671
ntdll: FILE_GetDeviceInfo no longer needs to be public.
2006-11-03 15:20:21 +01:00
Alexandre Julliard
d384871bc3
ntdll: Don't store the unix file descriptor in the async structure, retrieve it as needed.
2006-11-03 11:56:51 +01:00
Alexandre Julliard
9ddb9294da
ntdll: Added a server_get_unix_fd function that avoids doing a dup() of the fd when not required.
2006-11-03 11:38:44 +01:00
Alexandre Julliard
28418cc919
ntdll: Maintain a file descriptor cache on the client side.
2006-11-02 20:48:19 +01:00
Alexandre Julliard
313d93e491
kernel32: Moved PeekNamedPipe implementation to ntdll.
2006-11-01 16:24:36 +01:00
Alexandre Julliard
0d29ba96d3
ntdll: Added NetBSD fstatvfs support.
2006-11-01 13:15:57 +01:00
Hans Leidekker
f7b0ba7aa7
ntdll: Win64 printf format warning fixes.
2006-10-18 12:35:26 +02:00
Alexandre Julliard
e57118b2fd
ntdll: Added error mapping for ENXIO.
2006-10-03 15:06:41 +02:00
Alexandre Julliard
c727986499
ntdll: Remove the IOKit code and reuse the FreeBSD implementation for MacOS.
...
FILE_GetDeviceInfo needs to be efficient, and IOKit is much too slow
to be used here.
2006-09-12 09:43:37 +02:00
Detlef Riekenberg
ace8fd7298
ntdll: attr is never NULL inside NtCreateFile.
2006-09-08 12:44:09 +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
Francois Gouget
5d51d4c87b
ntdll: Return FILE_DEVICE_CD_ROM_FILE_SYSTEM for supermount filesystems.
2006-05-25 11:01:18 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Bernd Buschinski
da6031fbab
ntdll: Stub implementation of FSCTL_LOCK_VOLUME/FSCTL_UNLOCK_VOLUME.
2006-05-10 19:37:30 +02:00
Robert Millan
55b74483de
configure: For sys/mount.h, sys/statfs.h and sys/vfs.h, always include
...
them if present.
2006-02-06 21:53:27 +01:00
Robert Millan
8800352477
Enable for GNU/kFreeBSD the same kernel-specific interface/parameter
...
that is used with FreeBSD.
2006-02-05 13:06:50 +01:00
Alexandre Julliard
8b0feb253b
server: Make the FILE_SHARE_DELETE sharing checks depend on DELETE
...
access instead of on the FILE_DELETE_ON_CLOSE flag (based on a patch
by Mike McCormack).
2006-01-27 15:50:38 +01:00
Hans Leidekker
0844b702b4
ntdll: Add implementation of tape IOCTLs.
2006-01-26 13:23:08 +01:00
Alexandre Julliard
4202824e9e
ntdll: Cleaned up the ioctl functions.
...
Renamed function parameters to something usable.
Fixed potential event leaks.
2006-01-18 17:18:22 +01:00
Eric Pouech
2cdace2760
ntdll: Created infrastructure to support IOCTL for serial devices.
...
- created infrastructure in ntdll to support IOCTL for serial devices
- implemented IOCTLs in ntdll for serial break support
- implemented the kernel32 equivalent on top of those IOCTLs
2006-01-12 13:32:51 +01:00
Vitaliy Margolen
b05340a523
ntdll: Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
...
Implement FSCTL_PIPE_WAIT NtFsControlFile ioctl.
Modify WaitNamedPipeW to use NtFsControlFile.
Replace struct overlapped with event.
2005-12-14 11:14:02 +01:00
Alexandre Julliard
59797f292e
Pass specific access rights to wine_server_handle_to_fd.
2005-12-12 17:15:26 +01:00
Alexandre Julliard
67505c00af
server: Support for opening devices.
...
Added support for opening devices directly with the server when they
don't correspond to a Unix file.
2005-12-12 14:27:45 +01:00
Alexandre Julliard
27b1aec925
server: Use attributes instead of inherit flag in file requests.
2005-12-09 12:00:48 +01:00
Vitaliy Margolen
cf21d4d7ca
Move mailslot devices into directory name space.
2005-12-05 13:30:26 +01:00
Vitaliy Margolen
babfa79436
Move named pipe objects into directory name space.
...
Change tests accordingly.
Add small test for WaitNamedPipe.
2005-12-05 13:09:35 +01:00
Alexandre Julliard
e21a97da85
Fixed some compiler warnings on Darwin.
2005-12-01 12:36:05 +01:00
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Alexandre Julliard
86397e1d43
Fixed handling of mailslot read timeout to avoid compiler warnings.
2005-11-21 15:23:49 +00:00
Eric Pouech
ca4ae96f33
NtReadFile: now returning correct status in NtReadFile for EOF
...
conditions (on files) and broken pipe (on named pipes).
2005-11-14 15:11:11 +00:00
Alexandre Julliard
a2fb7c1644
Added an implementation of the FSCTL_DISMOUNT_VOLUME ioctl that
...
attempts to unmount the Unix device.
2005-10-28 16:45:24 +00: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
Vitaliy Margolen
eb8478002d
Cosmetic changes to NtCreateNamedPipeFile change "oa" to "attr".
2005-10-26 10:11:08 +00:00
Eric Pouech
e21aa6a184
- now passing access rights when creating a named pipe in NTDLL
...
- reimplemented Kernel32.CreatePipe purely on top of NTDLL APIs
- anonymous pipe handles should have the SYNCHRONIZE bit set
2005-09-26 11:02:45 +00:00
Ivan Leo Puoti
f0db7ab06b
Added FSCTL_PIPE_LISTEN support.
2005-09-06 14:09:42 +00:00
Alexandre Julliard
bc22e2f03d
Moved the FileFsDeviceInformation query to a separate function.
2005-08-24 18:27:27 +00:00
Ivan Leo Puoti
aab12f5f7c
Implement FSCTL_PIPE_DISCONNECT in NtFsControlFile and make
...
DisconnectNamedPipe call it.
2005-08-18 10:59:26 +00:00
Ivan Leo Puoti
9f3af964c7
Improve NtCreateNamedPipe trace.
2005-08-16 15:57:59 +00:00
Ivan Leo Puoti
dfb887dc9f
NtCreateNamedPipeFile is no longer a stub, so fix TRACE() call.
2005-08-16 11:13:21 +00:00
Vincent Béron
ca26076164
Use proper macro for using IOKit includes.
2005-07-24 16:15:06 +00:00
Uwe Bonnes
38eb243bc1
Wait for the object multiple times until TIMEOUT is met.
2005-07-11 14:23:24 +00:00
Pierre d'Herbemont
cca2b04ab7
Move the (Mac OS X) IOKit headers to the top of the file to prevent a
...
compilation failure.
2005-06-20 10:31:04 +00:00
Robert Shearman
0c5118144a
- Don't free the fileio object because it will be freed anyway in
...
fileio_terminate on error.
- Print out statuses in hex, rather than decimal.
2005-06-09 09:45:42 +00:00
Robert Shearman
e51dd36453
Implement overlapped I/O with named pipes.
2005-06-08 19:11:46 +00:00
Uwe Bonnes
271a8f99be
Call fileio_terminate for FILE_AsyncWriteService.
2005-05-26 16:07:53 +00:00
Juan Lang
f23e8fec10
Implement NtQueryVolumeInformationFile for type
...
FileFsDeviceInformation on FreeBSD.
2005-05-20 19:16:37 +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
Robert Lunnon
9e40b70d90
Implement NtQueryVolumeInformation for Solaris.
2005-05-07 12:16:21 +00:00
Ivan Leo Puoti
26d2b8bf5e
Add parameter checking to NtReadFile/NtWriteFile.
2005-04-25 16:02:16 +00:00
Alexandre Julliard
240d4ee9e1
Remove a few more instances of strncpy.
2005-04-25 15:51:45 +00:00
Eric Pouech
5a2591d96d
- moved named pipe creation to ntdll
...
- server now handles the named pipe flags as the NTDLL values (not the
KERNEL32 ones)
- named pipes in server now use the async IO mechanism for
connect/wait ops
2005-04-18 14:57:04 +00:00
Mike McCormack
016206c1e1
Move mailslot set and query info implementation to ntdll.
2005-04-11 14:20:49 +00:00
Mike McCormack
2ab6a775bd
Implement mailslots.
2005-03-30 19:02:15 +00:00
Mike McCormack
6c42be25e7
Implement CreateMailslot using NtCreateMailslotFile.
2005-03-28 10:03:56 +00:00
Francois Gouget
93416cdaf7
Assorted spelling fixes.
2005-03-23 13:15:18 +00:00
Ivan Leo Puoti
627d2fa7a2
Improve parameter checking in NtCreateFile.
...
Add documentation for ea_buffer and ea_length.
2005-03-21 10:28:23 +00:00
Ulrich Czekalla
e3b59eac24
Don't mark a file as readonly if it has any write bit set.
2005-03-16 19:48:42 +00:00
Alexandre Julliard
d0ee9f9309
Avoid spaces before preprocessor directives, that's not portable.
2005-03-02 12:23:20 +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
Rein Klazes
3058548eb8
On Linux, use fstatfs instead of fstatvfs. It is too buggy.
2005-01-06 20:44:52 +00:00
Eric Pouech
9dc3843cba
Fixed some regressions from the previous change.
2005-01-03 14:43:15 +00:00
Dmitry Timoshkov
e04da6bb72
Add a test for ReadFile/WriteFile fault handling, make it pass under
...
Wine.
2004-11-28 14:58:11 +00:00
Eric Pouech
6d0712a375
Moved kernel32.DeleteFileW core implementation to ntdll.NtDeleteFile.
2004-11-21 15:29:44 +00:00
Hamish
630273d34a
Fix for async writes to comm ports.
2004-11-09 20:12:18 +00:00