Commit Graph

69 Commits

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