Commit Graph

264 Commits

Author SHA1 Message Date
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