Rob Shearman
cb124c9b12
server: Add primitive support for setting and getting the security descriptor of files based on their Unix permissions.
2007-10-04 12:30:52 +02:00
Rob Shearman
c1707d8938
server: Add get_sd and set_sd object operations to allow the security descriptor to be stored somewhere other than server memory, such as on disk.
2007-10-04 12:30:52 +02:00
Alexandre Julliard
24001e8ddc
server: Add a default access mapping function for files, and use it for devices too.
2007-10-02 14:20:15 +02:00
Dmitry Timoshkov
c75edd04c2
server: Map ETXTBSY to STATUS_SHARING_VIOLATION.
2007-09-11 11:49:43 +02:00
Dmitry Timoshkov
69025bafe7
server: Print a more informative message when file_set_error or sock_get_error can't map errno to a status code.
2007-09-10 15:29:46 +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
635714397f
server: Add infrastructure for ioctl server request.
2007-04-16 14:45:03 +02:00
Alexandre Julliard
7a9363a4d4
server: Rename the get_file_info function to get_fd_type and get rid of the flags.
2007-04-10 22:26:23 +02:00
Alexandre Julliard
f85437c57f
server: Store the opening options in the file descriptor instead of in the individual objects.
...
Allows moving the FD_FLAG_OVERLAPPED support to the generic
get_handle_fd request handling.
2007-04-10 22:25:07 +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
Alexandre Julliard
ba896e75d7
server: Fix the handling of the signaled status for file descriptors.
...
File handles are signaled when an I/O operation completes, and reset
when another operation is queued.
2007-04-04 19:39:29 +02:00
Alexandre Julliard
df651875ad
server: Remove the return value of the flush() method, it's not used.
2007-03-27 16:51:44 +02:00
Alexandre Julliard
7e71c1ddee
server: Add an open_file() function to the object operations.
2007-03-22 11:44:29 +01:00
Alexandre Julliard
5bd513640b
ntdll: Moved the check for removable file in load_dll to the server.
2007-01-12 14:42:43 +01:00
Dmitry Timoshkov
ced2e56ddc
server: Map ESPIPE to STATUS_ILLEGAL_FUNCTION for consistency with ntdll.
2007-01-08 12:51:37 +01:00
Alexandre Julliard
8930427b21
server: Return an fd type in the get_handle_fd request.
2006-11-20 14:14:04 +01:00
Alexandre Julliard
715d78e006
server: Refuse to close handles in other processes if they have an associated fd.
2006-11-02 20:52:22 +01:00
Robert Shearman
4d7b23069b
server: Translate errnos ENFILE and EMFILE to STATUS_TOO_MANY_OPENED_FILES,
...
which seems to be more appropriate and matches the errno translation
in ntdll.
2006-09-07 10:17:18 +02:00
Alexandre Julliard
0f273c17ff
server: Added data_size_t type to represent sizes in the server protocol.
...
Make it an unsigned int to save some space on Win64, if we need to
transfer more than 4Gb over the server pipe something is seriously
wrong.
2006-07-26 11:11:03 +02:00
Jonathan Ernst
360a3f9142
Update the address of the Free Software Foundation.
2006-05-23 14:11:13 +02:00
Mike McCormack
08351071fd
server: Fix the file notification interface to use directory handles.
2006-01-27 12:13:56 +01:00
Alexandre Julliard
471782ae29
server: Allow opening a directory with write access (based on a patch
...
by Mike McCormack).
2006-01-25 15:06:48 +01:00
Mike McCormack
9a7124e815
server: Modify open_fd to create an fd without a user.
...
Create a set_fd_user function.
Update create_file() to use the above functions.
2006-01-24 13:30:55 +01:00
Alexandre Julliard
a510a7e117
server: Added access rights mapping to file objects.
2005-12-12 16:46:17 +01:00
Alexandre Julliard
28beba31d6
server: Added infrastructure for access rights mapping.
2005-12-12 14:57:40 +01:00
Alexandre Julliard
24560e70bb
server: Make alloc_handle use attributes instead of inherit flag.
2005-12-09 13:58:25 +01:00
Alexandre Julliard
27b1aec925
server: Use attributes instead of inherit flag in file requests.
2005-12-09 12:00:48 +01:00
Ge van Geldorp
1a1583a364
Match PSDK STATUS_* definitions.
2005-11-28 17:32:54 +01:00
Vitaliy Margolen
baffcb95d3
Add name_lookup function in object_ops.
2005-11-22 14:55:42 +00:00
Alexandre Julliard
964815bc42
Added an unmount_device request that invalidates all file descriptors
...
open on a given Unix device.
2005-08-08 15:11:03 +00:00
Mike McCormack
390bc5f52f
Don't include winbase.h when it's not necessary.
2005-06-21 09:46:15 +00:00
Mike McCormack
66e5ce3066
Remove unnecessary includes.
2005-06-20 10:35:36 +00:00
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