Alexandre Julliard
b9b1ea9c9f
Added a close_handle method to the object operations, and use it to
...
implement registry notifications and the strange behavior of
CloseHandle on winstation/desktop handles.
2005-06-09 15:39:52 +00:00
Robert Shearman
d6a4e34a60
- Add a default asynchronous I/O implementation.
...
- Make file objects use it.
2005-06-07 20:09:01 +00:00
Robert Shearman
c516571481
- Use NULL instead of 0 for all non-handle pointers.
...
- Fix non-ANSI function declarations.
- Make a function static.
2005-05-25 18:41:09 +00:00
Mike McCormack
f92fff66a2
Implemented NtSignalAndWaitForSingleObject.
2005-04-24 17:35:52 +00:00
Alexandre Julliard
a4334a6b95
Cleaned up handling of 64-bit file sizes.
2005-04-19 11:59:13 +00:00
Eric Pouech
7001d6ed34
Clean-up async IO internal functions.
2005-03-29 11:40:10 +00:00
Steven Edwards
5727918424
Added a check for poll.h.
2005-03-04 12:38:36 +00:00
Alexandre Julliard
dd81ac50a9
Convert async I/O queues to standard lists.
2005-02-24 17:06:31 +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
Alexandre Julliard
6a27b48895
Fd type is no longer used, get rid of it.
2004-08-18 00:04:58 +00:00
Mike McCormack
ea782b60d6
Translate ENODEV and ENXIO error codes to NT status codes.
2004-07-06 19:42:09 +00:00
Alexandre Julliard
72f87b8c06
Use pread/pwrite everywhere to avoid changing the file position while
...
the client is using it.
Get rid of the no longer used truncate_file request.
2004-05-01 02:50:06 +00:00
Alexandre Julliard
716878c5b1
Fixed a number of NT status values to be closer to NT behavior.
2004-04-16 23:32:40 +00:00
Alexandre Julliard
684b65cd52
Added support for FILE_DIRECTORY_FILE and FILE_NON_DIRECTORY_FILE open
...
options.
2004-04-16 04:31:35 +00:00
Filip Navara
2392a36370
Get rid of non-standard ERROR_UNKNOWN value.
2004-04-12 23:15:11 +00:00
Alexandre Julliard
18c08d307a
Removed the get_file_info request.
2004-04-08 19:09:04 +00:00
Alexandre Julliard
db4517010b
Handle the set_file_pointer request on the client side.
2004-04-07 22:02:09 +00:00
Alexandre Julliard
49b2f6d964
Get rid of the removable media handling in the server.
2004-04-06 23:41:01 +00:00
Alexandre Julliard
9ff78729fa
Moved FILE_DELETE_ON_CLOSE support to the inode object so that we
...
really wait for the last close.
Added FILE_SHARE_DELETE support.
2004-04-02 19:50:49 +00:00
Alexandre Julliard
74bd1e47ed
Check file sharing permissions based on the file inode instead of the
...
file name.
Added regression test for sharing permissions.
2004-03-27 20:48:42 +00:00
Alexandre Julliard
a1fe8b4f24
Use futimes() instead of utime() to implement SetFileTime, so that it
...
can be done on the client side.
2004-03-27 01:48:52 +00:00
Alexandre Julliard
adc0610db7
Make the standard create_file request handle serial ports too, and
...
remove the create_serial request.
2004-03-18 04:08:48 +00:00
Alexandre Julliard
014099caf5
Changed the create_file server request to take NtCreateFile flags
...
instead of CreateFileW ones (based on a patch by Eric Pouech).
2004-03-12 01:56:49 +00:00
Wim Lewis
99a01c03d3
EOVERFLOW does not exist on OpenBSD.
2004-01-02 20:11:35 +00:00
Alexandre Julliard
08d01923e5
Print names for Win32 errors too, plus a few more status codes.
2003-12-10 02:14:23 +00:00
Alexandre Julliard
d5b4232a3f
Added set_win32_error() for error codes that don't have an NT status
...
equivalent.
2003-12-10 01:12:18 +00:00
Alexandre Julliard
af192f83b6
Store a "removable" flag instead of the full drive type in the server
...
file object; this way we don't need to use GetDriveTypeW in the loader
code.
Make sure we always have a valid builtin_load_info pointer.
2003-10-08 00:25:32 +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
Eric Pouech
f6a70969e1
- start moving a few file related functions from files/file.c to
...
dlls/kernel subdir (also splitting 16bit APIs in a separate file)
- implemented ntdll.Nt{Lock|Unlock}File, and made use of those for the
kernel32 equivalent
- implemented a few information classes in NtQueryInformationFile and
NtSetInformationFile (still lots of missing classes)
- enhanced the get_file_info server request in order to implement
correctly NtQueryInformationFile (change time & file alloc size)
- rewrote registry loading to comply with latest changes
2003-06-24 02:32:01 +00:00
Mike McCormack
ef8b94622a
- rewrite of the named pipe code
...
- allow NtFileFlushBuffers to wait
- allow DisconnectNamedPipe to invalidate client cached fd
- fix the pipe test now that one extra test passes
2003-05-15 04:22:45 +00:00
Alexandre Julliard
3e588e3a57
Implemented file change notifications, based on a patch by Mike
...
McCormack.
2003-03-26 23:41:43 +00:00
Alexandre Julliard
2ee8b5bb13
Replaced mkstemp by mkstemps from libiberty.
...
Removed a couple of unnecessary portability functions.
2003-03-20 21:07:49 +00:00
Alexandre Julliard
ce61349334
Implemented file locking functions (partly based on my old Corel
...
patch). Added a few regression tests.
2003-03-18 05:04:33 +00:00
Alexandre Julliard
580da246f5
Added an inode object to keep track of all file descriptors open for a
...
given file.
Plugged a couple of potential file descriptor leaks.
2003-03-12 22:38:14 +00:00
Alexandre Julliard
e66207ebfc
Moved all references to file descriptors out of the generic object
...
structure.
Changed the poll()-related routines to deal with file descriptors
instead of objects and integrated poll support into fd.c.
2003-02-19 00:33:32 +00:00
Alexandre Julliard
cf27a7fa3b
Changed fd operations to take a struct fd instead of a struct object.
...
Removed get_file_info function from object operations.
Added get_device_id request to avoid abusing get_file_info.
2003-02-14 20:27:09 +00:00
Steven Edwards
037c8a1246
Porting fixes.
2003-02-11 22:27:13 +00:00
Alexandre Julliard
863637b158
Started moving functions that deal with Unix file descriptors to a
...
separate fd object. This will be needed for file locking.
2003-01-30 00:26:44 +00:00
Marcus Meissner
786d24903b
Check for mkstemp, added a port implementation if it is not
...
present. Use mkstemp() in various places needing tmp files.
2002-07-29 23:55:39 +00:00
Alexandre Julliard
5188574984
Renamed handle_t to obj_handle_t to avoid conflict with rpcdce.h.
2002-05-30 20:12:58 +00:00
Martin Wilck
ff1f320ac8
Fixed some bugs in my recently submitted patch series.
2002-04-26 18:31:19 +00:00
Martin Wilck
54ba272090
Add more flexibility to the queue_async server call by moving most
...
functionality into the object's queue_async method.
2002-04-24 21:29:54 +00:00
Alexandre Julliard
0799c1a780
Added LGPL standard comment, and copyright notices where necessary.
...
Global replacement of debugtools.h by wine/debug.h.
2002-03-09 23:29:33 +00:00
Alexandre Julliard
86e5efb6b3
Work around ftruncate implementations that don't support extending
...
files.
2002-01-29 02:51:12 +00:00
Martin Wilck
88cd32b2d1
More general approach to file descriptor types and flags.
2002-01-09 20:30:51 +00:00
Martin Wilck
718b1b711b
Add server side support for async IO on files.
...
Use pread/pwrite to read/write from the offset specified in the
overlapped structure.
2002-01-07 21:02:15 +00:00
Mike McCormack
6f011c0847
- move async activation into the server
...
- implement async queues
2001-12-20 00:07:05 +00:00
Alexandre Julliard
9caa71eef4
Redesign of the server communication protocol to allow arbitrary sized
...
data to be exchanged.
Split request and reply structures to make backwards compatibility
easier.
Moved many console functions to dlls/kernel, added code page support,
changed a few requests to behave properly with the new protocol.
2001-11-30 18:46:42 +00:00
Eric Pouech
0b83d4cbc6
New console code based on Win32 windows.
2001-11-23 23:04:58 +00:00
Ove Kaaven
708a846a88
Save a disk file's drive type in the server object.
2001-10-24 00:23:25 +00:00
Eric Pouech
c73316db5b
- fixed copy&paste bug (GENERIC_WRITE instead of GENERIC_READ)
...
- when getting the type of a handle, it has to be done even if no fd
is attached to it (console for example)
2001-10-08 20:57:12 +00:00
Mike McCormack
ff58be5c7f
Fetch a handle type in FILE_GetUnixHandle.
2001-10-04 16:18:15 +00:00
Bernhard Rosenkraenzer
5dda1f7e2c
Set executable permissions when creating .exe/.com files.
2001-07-23 18:09:41 +00:00
Alexandre Julliard
5f258c68f3
Backed out the suspend_process_for_ptrace change.
...
Fixed a couple of races in ptrace code.
2001-07-14 00:50:30 +00:00
Mike McCormack
585e976f1a
Remove truncate debug message printed on successful truncates.
2001-06-22 23:20:36 +00:00
Bill Medland
e81bf3f3ce
SetFilePointer correction; return ERROR_NEGATIVE_SEEK (broken by the
...
64 bit file access enhancement).
2001-06-19 03:30:53 +00:00
Marcus Meissner
6bb990f7fd
Drop any file64 functions, try to use system supplied 64-bit mode by
...
using proper defines.
2001-05-29 20:55:21 +00:00
Marcus Meissner
3f1ed52d8b
Implemented 64bit file size handling.
...
Removed several unneeded sys/stat.h includes.
2001-05-14 20:09:37 +00:00
Alexandre Julliard
84fdfd087a
Repaired shared PE data sections.
2001-04-13 22:38:39 +00:00
Alexandre Julliard
8859d77279
Create the server pipes on the client side and transfer them to the
...
server on thread creation.
Use a single per-process socket instead of one per thread for
transferring file handles between client and server.
2001-03-01 22:13:49 +00:00
Alexandre Julliard
f52424055f
New mechanism to transfer file descriptors from client to server.
2001-02-28 21:45:23 +00:00
Andreas Mohr
22c80a2e9a
Workaround for SuSE 7 2.2.16 kernel bug.
2001-01-12 23:02:39 +00:00
Alexandre Julliard
8081e5a1e5
Added handle_t type to server interface so that we can make handles
...
pointers later on.
Always use 0 to signal invalid handle in server requests.
2001-01-05 04:08:07 +00:00
Alexandre Julliard
63411dbde5
Avoid dup'ing file descriptors when not necessary.
...
Do not send fd to the client if ops->get_fd() fails.
2000-12-22 21:12:36 +00:00
Alexandre Julliard
d549f6909e
Use a separate FIFO pair for server requests that don't need to pass a
...
file descriptor.
Associate file descriptors with handles on the server side so that we
don't need to pass the fd every time the client wants to use it.
2000-12-22 02:04:15 +00:00
Alexandre Julliard
1ab243bac1
Merged the get_read_fd and get_write_fd requests.
2000-12-19 02:12:45 +00:00
Alexandre Julliard
92643003cf
Converted a lot of server requests to the new exception handling
...
mechanism.
2000-08-31 01:59:51 +00:00
Hidenori Takeshima
66791afa8f
Fix for 64-bit negative seek value.
2000-07-31 23:26:50 +00:00
Alexandre Julliard
ef88637f5b
Made request tracing more robust against bogus lengths.
2000-04-04 19:33:27 +00:00
Alexandre Julliard
ea0d028a0b
Added specific routines for OUTPUT_DEBUG_STRING and EXCEPTION debug events.
...
Generate a breakpoint event on process attach.
Misc cleanups in request handling.
2000-03-10 22:16:10 +00:00
Alexandre Julliard
cb1fc735f0
Changed the server to return STATUS_* error codes.
2000-01-24 21:58:06 +00:00
Alexandre Julliard
1dca5e24c7
Moved poll handling to the generic part of the server objects.
...
Fixed busy waiting on POLLERR events.
Merged struct client into struct thread.
2000-01-01 00:56:27 +00:00
Alexandre Julliard
247b8aeeb9
Use poll() instead of select() for the server main loop.
...
Fixed races with SIGCHLD handling and ptrace.
Minor fixes to timeout handling.
1999-12-13 00:16:44 +00:00
Marcus Meissner
9d60e35080
Flush handle in any access mode.
1999-12-04 04:00:16 +00:00
Alexandre Julliard
61ec6c1c8d
Fixed get_event_obj/get_file_obj to use the process parameter (thanks
...
to Eric Pouech).
1999-11-29 02:17:08 +00:00
Eric Pouech
bf2b765810
Fixed hash function.
1999-11-15 00:07:30 +00:00
Alexandre Julliard
8b8828f578
Added support for ReadProcessMemory through the server.
1999-11-12 21:39:14 +00:00
Patrik Stridvall
96336324cf
- Added missing configuration #if:s and #includes:s.
...
- Minor configuration related changes.
1999-10-24 22:13:47 +00:00
Howard Abrams
132774804e
Added checks for sys/errno.h, sys/signal.h and sys/mman.h.
1999-07-10 13:16:29 +00:00
Alexandre Julliard
ebe29ef376
Further server optimizations:
...
- merged request and reply structures
- build requests directly into the buffer to avoid a copy
1999-06-26 08:43:26 +00:00
Alexandre Julliard
5bc78089db
Made server communication faster by using a shared memory block.
...
A few other optimizations in request processing in the server.
Moved automatically generated request definitions to server.h and
removed include/server/request.h.
1999-06-22 17:26:53 +00:00
Alexandre Julliard
57e1131334
Adapted to new select interface.
...
Fixed bug in *_signaled routines that could cause busy-waiting in the
select loop.
1999-05-16 16:59:38 +00:00
Alexandre Julliard
43c190e7ba
Server reorganization:
...
- moved request handlers to the specific C files
- moved handle management to handle.c
- moved server private includes to server/ instead of include/server/
1999-05-15 10:48:19 +00:00
Alexandre Julliard
3f09ec5263
CLIENT_WaitReply: don't clear last error on success; fixed callers
...
accordingly (based on a patch by Juergen Schmied).
1999-02-28 19:25:51 +00:00
David Luyer
ee517e863e
- fixed missing stdlib.h and string.h includes everywhere
...
- removed a couple of unneeded stdlib.h and stdio.h includes
1999-02-28 12:27:56 +00:00
Alexandre Julliard
cb28bdc2c8
Added support for mappings with no associated file.
1999-02-28 10:13:59 +00:00
Alexandre Julliard
068a26e848
Moved process definitions to include/server/process.h
1999-02-14 17:58:51 +00:00
Juergen Schmied
cddfcce5f3
Implemented flag FILE_FLAG_DELETE_ON_CLOSE.
1999-02-14 11:20:07 +00:00
Michael Veksler
f935c59787
Added missing includes to avoid warnings/errors.
1999-02-09 15:49:39 +00:00
Alexandre Julliard
a27b48b132
Handle set_file_time requests changing only one of access/mod time.
1999-01-31 15:08:31 +00:00
Alexandre Julliard
62a8b43301
Hacked server-side device support
...
Added user APCs support.
Many changes to the xterm console to make use of the server (not
finished yet).
Moved some other small stuff to the server.
1999-01-19 17:48:23 +00:00
Alexandre Julliard
638f169b1e
Recovery of release 990110 after disk crash.
...
See Changelog for changes between 990103 and 990110.
1999-01-17 16:32:32 +00:00
Alexandre Julliard
0562539d18
Implemented file sharing checks in the server.
...
Added set file time server request.
Overall clean up of the file handling (DOS device handling is now
broken, should be redone).
1999-01-03 11:55:56 +00:00
Marcus Meissner
8ba68fbd71
Need <errno.h> for errno decl. on Solaris.
1999-01-01 18:42:17 +00:00
Alexandre Julliard
a8b8d9c0f6
Added server-side file mapping object support.
1999-01-01 16:59:27 +00:00
Alexandre Julliard
aa0ebd0f1c
Added several file server requests
...
Added server-side pipes and consoles
1998-12-30 12:06:45 +00:00
Alexandre Julliard
338e757d08
Added beginnings of server-side file handling.
...
Added -debugmsg +server support.
Better server request dumping for varargs requests.
1998-12-27 15:28:54 +00:00