Commit Graph

484 Commits

Author SHA1 Message Date
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 99a5cfea91 - Attempt write before going overlapped in Writefile.
- Fix return codes in WriteFileEx.
2002-01-07 18:11:28 +00:00
Mike McCormack de339f3021 Implement CancelIo properly. 2002-01-07 18:06:59 +00:00
Mehmet Yasar 39e001962b Do not save empty sections names. 2002-01-04 18:24:37 +00:00
Mike McCormack 9119543795 Set an overlapped's hEvent for ReadFile/WriteFile in an overlapped
completion function, not in ReadFileEx or WriteFileEx.
2002-01-01 01:11:32 +00:00
Alexandre Julliard 193cf50a09 Removed some of the calls to HEAP_strdup* functions. 2002-01-01 00:24:30 +00:00
Mike McCormack 5d754fc958 Don't return from overlapped ReadFile on EAGAIN and other non-fatal
errors.
2001-12-21 19:16:33 +00:00
Mike McCormack 6f011c0847 - move async activation into the server
- implement async queues
2001-12-20 00:07:05 +00:00
Mike McCormack 27cf4a41c2 Implemented timed-out non-overlapped ReadFile. 2001-12-19 18:48:29 +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
Andreas Mohr 9cef2d0b1d - fix wrong hexadecimal GetLastError() output
- misc fixes
- changed my email address
2001-11-19 02:30:01 +00:00
François Gouget 1425941e29 Fix the #include order for config.h.
Add #include "config.h" directives where needed.
2001-11-06 20:57:11 +00:00
Ove Kaaven 708a846a88 Save a disk file's drive type in the server object. 2001-10-24 00:23:25 +00:00
Francois Gouget 3bb9a36ee0 Spelling, grammar and a bit of comment formatting fixes. 2001-10-22 19:04:32 +00:00
Andreas Mohr e15badb478 Cosmetics. 2001-10-21 15:18:15 +00:00
Mike McCormack ea4f32c4eb Separate code to overlapped timeouts into FILE_GetTimeout. 2001-10-17 17:45:11 +00:00
Francois Gouget 386cf6e342 When including 'wine/port.h', include it first.
Remove redundant 'config.h' includes.
2001-10-14 16:25:47 +00:00
Eric Pouech 3bbeb72d3f Pass security attributes for DOSFS creation. 2001-10-14 16:08:45 +00:00
Mike McCormack 9e1fc62651 Do overlapped reads if and only if the file was opened with
FILE_FLAG_OVERLAPPED.
2001-10-10 20:26:58 +00:00
Gerard Patel d6bd28222e GetDiskFreeSpaceEx should accept an input like "C:". 2001-10-08 22:15:39 +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 568c67e173 Make serial fd blocking mode depend on FILE_FLAG_OVERLAPPED. 2001-10-08 20:40:57 +00:00
Mike McCormack ff58be5c7f Fetch a handle type in FILE_GetUnixHandle. 2001-10-04 16:18:15 +00:00
Andreas Mohr f359895daf Yet another documentation/message text patch. 2001-10-02 17:49:20 +00:00
Uwe Bonnes ef3d022c62 Check for NULL path argument in DeleteFile. 2001-10-02 17:40:33 +00:00
Ove Kaaven 72f404421c Make MoveFileEx fail with ERROR_INVALID_PARAMETER (better than
crashing) when the source file operand is NULL.
2001-10-01 20:52:00 +00:00
Ove Kaaven 7efa8e258e A failure to open a pipe should return INVALID_HANDLE_VALUE. 2001-09-25 22:37:32 +00:00
Andreas Mohr 7bed696aa3 Updates and error message improvements. 2001-09-19 22:34:38 +00:00
Francois Gouget 9f88a54273 Make relative paths of [Drive] sections relative to WINEPREFIX. 2001-09-17 20:44:00 +00:00
Francois Gouget 60a83ef0f1 Fix the error returned by GetLongPathNameA. 2001-09-14 00:59:58 +00:00
Francois Gouget 19b05e5f28 Reimplement PROFILE_GetSectionNames to match the NT & MSDN behavior.
The 32A version is now the reference implementation (instead of the
16bit version).
2001-08-28 18:39:26 +00:00
Bill Medland 65fc1c92d4 Added LOAD_WITH_ALTERED_SEARCH_PATH support to LoadLibraryEx. 2001-08-24 21:13:02 +00:00
Mike McCormack b473a0f0b9 Added stub for CancelIo. 2001-08-22 18:02:39 +00:00
Mike McCormack 6f030e8d13 Read data immediately in overlapped ReadFile if possible. 2001-08-20 18:01:17 +00:00
Alexandre Julliard 301df6b5cd Added names to standard critical sections (suggested by Andreas
Mohr).
2001-08-16 18:12:56 +00:00
Alexandre Julliard 5f728cae70 Removed HEAP_strdupA. 2001-07-24 21:45:22 +00:00
Bernhard Rosenkraenzer 5dda1f7e2c Set executable permissions when creating .exe/.com files. 2001-07-23 18:09:41 +00:00
Lionel Ulmer f89722dbdb Fix 'undocumented' behaviour of GetPrivateProfileString. 2001-07-20 17:55:39 +00:00
Alexandre Julliard 37e9503ae8 Moved server.h to include/wine. 2001-07-19 00:39:09 +00:00
Patrik Stridvall 33929be46f - Made sure that the files that contains the declarations
of implementated functions are included.
- Corrected mismatching prototypes.
- Cleaned up the include section.
2001-07-18 21:04:23 +00:00
Patrik Stridvall e9782fa1fc Documentation fixes. 2001-07-12 22:33:51 +00:00
Mike McCormack e61ad3a9f3 Implement overlapped completion routines.
Don't use lpOverlapped->OffsetHigh to store bytes to transfer.
2001-07-12 22:29:41 +00:00
Patrik Stridvall 044855c6ec Documentation fixes. 2001-07-11 18:56:41 +00:00
Mike McCormack de7c3003e2 Start implementing named pipes. 2001-07-10 19:16:49 +00:00
Mike McCormack a38e5e5771 Implement ReadFileEx and WriteFileEx (lpOverlappedCompletion routine
is not supported yet...)
2001-07-08 20:29:26 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Mike McCormack 838a3614f6 Declare stubs for ReadFileEx, WriteFileEx. 2001-07-02 18:56:01 +00:00
Patrik Stridvall 3ca9823941 Documentation ordinal fixes. 2001-06-20 23:03:14 +00:00
Patrik Stridvall dae8de69e2 Documentation ordinal fixes (using winapi_fixup). 2001-06-13 20:13:18 +00:00
Marcus Meissner ee6ea51c02 Check for enough buffer space in PROFILE_GetSection(). 2001-06-06 21:03:40 +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 04d5efdf27 Don't just assume everything is a Dos Device, or mirc will not get any
DCC sends.
2001-05-25 20:39:45 +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
Francois Gouget ee285b7ac8 Remove unnecessary single quoting of debugstr_xxx strings. 2001-05-11 20:03:40 +00:00
Francois Gouget e76218dd61 Add '\n' at the end of traces. 2001-05-09 17:31:31 +00:00
Francois Gouget 09a17830ac Potential buffer overflow in PROFILE_CopyEntry. 2001-05-07 18:11:57 +00:00
Dominik Strasser 4f46b5de45 Allow illegal handles in FindClose. 2001-04-20 18:38:41 +00:00
Andreas Mohr f32f918123 Spelling fixes. 2001-04-20 18:36:05 +00:00
Alexandre Julliard 2ec34e48a3 Added TASK_GetPtr/TASK_GetCurrent functions to get the TDB for a task
handle.
2001-04-04 00:21:05 +00:00
Alexandre Julliard 9515336378 Small dll separation fixes. 2001-03-23 19:13:23 +00:00
Michael McCormack 1c32a46d5a Use poll() on the client-side during server waits to implement
overlapped I/O.
2001-03-22 20:09:34 +00:00
Alexandre Julliard 566a52ad8c Changed isolated for loops to while loops (based on a patch by Andreas
Mohr).
2001-03-05 19:34:17 +00:00
Andreas Mohr 12bf7f1dde GetFileInformationByHandle() fails for pipe handles according to
MSDN, and also for serial handles (FILE_TYPE_CHAR in general ?).
2001-03-05 19:30:52 +00:00
Andreas Mohr 8c2f4b18fa Some more message cleanups. 2001-03-03 00:22:50 +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
Alexandre Julliard 67a749999a New set of macros for server calls; makes requests without variable
part somewhat faster.
2001-02-27 02:09:16 +00:00
Alexandre Julliard 61d32b4e0d Allocations do not need to be on the system heap. 2001-02-23 01:35:36 +00:00
Rein Klazes 0a78857956 Correct error message in case DOSFS_OpenDevice() fails on a COMx
device.
2001-02-20 01:52:41 +00:00
Gerard Patel d52e1c4be9 Gives back the ERROR_FILE_NOT_FOUND to GetFileAttributes. 2001-02-16 19:05:42 +00:00
Jon Griffiths 0cfa278b02 SetLastError() for GetFileAttributesA. 2001-02-14 00:26:46 +00:00
Andreas Mohr 8ee6cca354 - TRACE opened registry handles
- add proper quotes to wineinstall
- spelling
2001-02-12 18:10:43 +00:00
Patrik Stridvall bca4a8dce0 Documentation argument fixes. 2001-02-12 03:49:57 +00:00
Andreas Mohr c9cf70d448 Some more cleanups. 2001-01-26 20:40:50 +00:00
Gerard Patel 151023d15a Display the config file location in the incorrect config file error
message.
2001-01-22 19:27:06 +00:00
Alexandre Julliard 3879b19342 Fixed typo in wine_get_unix_file_name(). 2001-01-17 01:55:04 +00:00
Alexandre Julliard 7d5bc5c3f9 Removed some direct accesses to the 16-bit task structure. 2001-01-15 20:09:09 +00:00
Mike McCormack eb3e38eb73 Swap lpOverlapped parameters in ReadFile and WriteFile.
The InternalHigh member should contain the number of
bytes transferred.
2001-01-12 19:57:38 +00:00
Chris Morgan e4055508a0 Updated messages with new config files in mind to keep from confusing
users.
2001-01-12 19:55:19 +00:00
Chris Morgan 7af79ff645 Removed some unnecessary defines after profile.c cleanup. 2001-01-11 20:16:27 +00:00
Chris Morgan 4a3d508b33 Removed use of outdated WINE_INI environment variable. Removed
obsolete --config option.  Removed loading of global wine config file.
Cleaned up some messages.
2001-01-10 22:57:34 +00:00
Mike McCormack f21aac0e0c Implemented asynchronous ReadFile and WriteFile. 2001-01-10 22:45:03 +00:00
Ryan Cumming 418e27ea68 Make CDROM_GetLabel return 0 in the event of failure, and make the
default label for drives a string of 11 spaces.
2001-01-09 20:54:11 +00:00
François Gouget 4b4f69ad38 The last parameter of CreateFile should be 0 (aka NULL), not -1.
CreateFile returns INVALID_HANDLE_VALUE when it fails, not
HFILE_ERROR.
Added comments.
2001-01-09 20:51:19 +00:00
Alexandre Julliard 550ba5b47a Avoid crashing on invalid lines during config file conversion. 2001-01-05 22:23:37 +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
Mike McCormack ad72e71fda Implemented GetOverlappedResult. 2000-12-29 19:44:18 +00:00
Andreas Mohr a6d83ebae1 - clarify many error messages
- add data corruption warning to README file
2000-12-27 04:02:46 +00:00
Lawson Whitney e3178f9fbc Allow an application to open a dos device ending with ':'. 2000-12-27 03:28:13 +00:00
François Gouget 55146dbe18 Fixed a few type clashes in preparation for the switch to STRICT. 2000-12-24 20:33:01 +00:00
Dmitry Timoshkov b6ac770f04 Define environment variable TMP as an alias for TEMP. 2000-12-24 20:01:12 +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 5801723b50 Replaced WIN16_GlobalLock16 by "official" function K32WOWGlobalLock16. 2000-12-22 01:09:26 +00:00
Dmitry Timoshkov fdc78a3ed0 Protect against NULL buffer in the profile functions. 2000-12-19 19:37:03 +00:00
Alexandre Julliard 1ab243bac1 Merged the get_read_fd and get_write_fd requests. 2000-12-19 02:12:45 +00:00
Huw D M Davies d0f8bfd778 Spelling fix. 2000-12-15 20:54:01 +00:00
Lawson Whitney 0348212609 Add strerror() to the "Could not stat" and "Invalid path" startup
error messages.
2000-12-14 20:30:13 +00:00
Alexandre Julliard 982a223f36 Replaced PTR_SEG_TO_LIN macro by exported MapSL function.
Fixed a few ptr/segptr mismatches.
Moved CONV_RECT/POINT macros to wingdi16.h.
2000-12-13 20:20:09 +00:00
Alexandre Julliard bf67259a41 Use the DRIVE_* API constants instead of the DRIVETYPE enum.
Changed DRIVE_CANNOTDETERMINE and DRIVE_DOESNOTEXIST to use the
correct names.
Cleaned up a few dependencies on internal drive.c functions.
2000-12-12 00:44:42 +00:00
Alexandre Julliard 73be8d1cfd Added automatic translation of the config file to the new
format. Updated documentation.
2000-12-06 20:25:11 +00:00
Aric Stewart e4d09327ef Added ASCII-only version of toupper, tolower, strcasecmp and the like
for file and module I/O.
2000-12-03 03:14:29 +00:00
Patrik Stridvall 2b3aa616e8 Added/modified documentation for function arguments. 2000-12-01 23:58:28 +00:00
Alexandre Julliard 3a0f8b7953 Finished separation of shell32 and wsock32. 2000-12-01 20:48:41 +00:00
Alexandre Julliard 27bb311d70 Added implementation of lstat to port.c. 2000-11-29 17:48:06 +00:00
Alexandre Julliard 24a62ab9b0 Got rid of the Wine internal lstrcpy* functions and of winestring.h. 2000-11-28 22:40:56 +00:00
Dimitrie O. Paun 529da54394 Require {DECLARE,DEFAULT}_DEBUG_CHANNEL statements to end in a ; 2000-11-27 23:54:25 +00:00
Alexandre Julliard 5ce902b0b9 Implemented DosFileHandleToWin32Handle, Win32HandleToDosFileHandle and
DisposeLZ32Handle and use them to replace file.c internal functions.
Renamed WOW* functions into K32WOW*.
2000-11-27 21:59:08 +00:00
Alexandre Julliard ac7efef3b5 Changed GetProcAddress16 and 16-bit resource functions to take normal
pointers instead of SEGPTRs.
Removed WIN16_GetTempDrive.
2000-11-27 21:54:01 +00:00
Marcus Meissner 25e7403a27 Removed strange checkj for !filename, so we don't get section NULL
accesses later.
2000-11-26 22:36:19 +00:00
Alexandre Julliard ab687979fd Moved standard syslevel APIs declaration to winbase.h.
Use exported syslevel function wherever possible.
Moved SEGPTR declaration to windef16.h.
2000-11-15 23:41:46 +00:00
Dimitrie O. Paun 864dc5981c Use variable argument macros when compiling with gcc. 2000-11-10 23:31:06 +00:00
Dimitrie O. Paun dbb61c0f3e Use debugging API instead of outputing to stderr directly. 2000-11-04 02:55:54 +00:00
Alexandre Julliard 9400e2d727 Fixed SearchPath to handle a ';'-separated path as first argument. 2000-11-01 21:48:38 +00:00
David Elliott 44f84b55f3 Added basic working stubs of new Windows 2000 API functions. 2000-10-29 01:24:54 +00:00
Marcus Meissner 7f0490e3f3 If we have a drive pointing to /, we must not remove the final / or we
get the current directory doubled.
2000-10-23 00:37:06 +00:00
Joerg Mayer 959d73e8dd Reduce the number of warnings about missing initializers. 2000-10-22 23:56:32 +00:00
Andreas Mohr 220312e993 Skip directory symlinks in DOSFS_FindNextEx. 2000-10-19 20:38:38 +00:00
Alexandre Julliard 57f05e1913 Converted a few more server requests to the new mechanism. 2000-10-15 00:40:25 +00:00
Alexandre Julliard 27952ef0ee Added a few more large integer functions. 2000-10-13 20:26:03 +00:00
Mike McCormack 11776c1fcf Moved comm.c into kernel32. 2000-10-13 17:11:30 +00:00
Alexandre Julliard aef9a36059 Use special environment variables to transmit the cwd of the various
drives to child processes (based on a patch by Andreas Mohr).
2000-10-03 04:19:16 +00:00
Andreas Mohr 3ac104face Fixed the default value handling (trailing spaces of the default value
are clipped).
section == NULL, key_name == NULL undoc. feature is only valid in Win32.
2000-09-29 21:04:44 +00:00
Alexandre Julliard 15bfcd0398 Moved $(MODULE).o rule out of Make.rules into the individual
Makefiles.
2000-09-29 00:28:25 +00:00
Marcus Meissner 34ed4fd40f Have the UNIX cwd follow the current directory on the current drive. 2000-09-27 00:22:16 +00:00
Alexandre Julliard 83f52d11c1 Moved all Win16 definitions out of the standard Windows headers. 2000-09-26 22:20:14 +00:00
Alexandre Julliard 072dfb57e3 Removed inclusion of wine/winestring.h from winbase.h and added it to
the C files that need it.
2000-09-25 23:30:56 +00:00
Alexandre Julliard 6dbf67e566 Moved FILE_dommap() to memory/virtual.c (and renamed it VIRTUAL_mmap). 2000-09-18 01:44:08 +00:00
Andreas Mohr 20cd9356a8 - fixes debugger output
- get rid of wrong comments
- fix comments
- .spec spelling fix
- improve warning message
2000-09-12 23:40:40 +00:00
Alexandre Julliard 46b8c24f9c Removed chdir("/") until we have proper Unix cwd management. 2000-09-10 03:18:29 +00:00
Andreas Mohr 0729105683 DOSFS_MatchLong ignored several things about file mask matching for
long file names.
2000-09-07 21:03:02 +00:00
Mike McCormack 44b5bf5998 Added serial port object to the server. 2000-09-07 18:39:51 +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
Alexandre Julliard 9c2370bd75 Added exception handling wrapper to a number of server requests.
Changed a few requests to use the new vararg mechanism.
2000-08-30 00:00:48 +00:00
Alexandre Julliard 6c8d9171cd Added a real root key and simplified creation of the HKEY_* special root keys.
Do not prefix all keys with the name of the top key when saving to a file.
Try to load $WINEPREFIX/config into the Wine config branch at startup.
2000-08-26 04:40:07 +00:00
Marcus Meissner 242d23e9a3 (from IBM TopPage patch) return correct error for already existing
file.
2000-08-21 03:18:32 +00:00
Stefan Leichter eb0ab1b1ec Fixed return value of CDROM_GetLabel if CDROM_Open failed (e.g. no
Device entry for drive in wine.conf).
2000-08-18 23:45:46 +00:00
Alexandre Julliard dcd247e55f Moved CharUpper* and CharLower* functions to dlls/user. 2000-08-14 17:39:15 +00:00
Alexandre Julliard e101f6db3b Cleaned up a few inter-dll dependencies. Added a few imports. 2000-08-14 14:42:41 +00:00
Alexandre Julliard 5ab9d860f2 Removed some unnecessary #includes and dll dependencies. 2000-08-09 22:35:05 +00:00
Alexandre Julliard 231674d824 Removed the DOS handles table from the PDB and made it a static
variable.
2000-08-09 22:30:18 +00:00
Alexandre Julliard a007f3364a Moved a few non-standard headers into their respective dlls. 2000-08-09 00:54:58 +00:00
Alexandre Julliard cb10fdab99 Replaced lstrlen/lstrcmp by libc equivalents everywhere we don't need
to trap exceptions.
2000-08-06 02:41:16 +00:00
Alexandre Julliard 2e9f786d83 Only set COMSPEC if not defined already. 2000-08-01 23:34:01 +00:00
Alexandre Julliard 15467bfb1f Moved MulDiv() and VGA routines out of GDI. 2000-08-01 22:03:18 +00:00
Hidenori Takeshima 66791afa8f Fix for 64-bit negative seek value. 2000-07-31 23:26:50 +00:00
Andreas Mohr 3084b58606 - fixed a gross bug in SetCurrentDirectoryA (where changing to a new
non-existent directory would leave the new drive enabled upon aborting
  (fixes CuteFTP install and should fix MANY apps)
  This has probably been caused by myself. *brownpaperbag*
- added GetVolumeInformation serial number bug-for-bug compatibility
- corrected Unicode labels (better CD-ROM handling in general)
- moved CD-ROM label detection code to misc/cdrom.c
- possible to use loopback mounted ISO9660 files
- init some uninitialised drive fields
- remove some unnecessary header includes
2000-07-25 20:59:59 +00:00
Alexandre Julliard b18dbd26c5 Perform NE_InitProcess in the context of the new task. 2000-07-25 12:11:53 +00:00
Andreas Mohr 2caee712a2 Spelling fixes. 2000-07-16 15:44:22 +00:00