Commit graph

87 commits

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