Commit Graph

124 Commits

Author SHA1 Message Date
Alexandre Julliard 04ecca54a1 Use wine_server_release_fd() instead of close() everywhere we use
wine_server_handle_to_fd().
A few minor winsock cleanups.
2003-12-02 04:19:56 +00:00
Kevin Groeneveld 4981619784 - Fix small bug with parsing of numbers in BuildCommDCB functions.
- Add conformance test for BuildCommDCB functions.
2003-09-15 20:00:54 +00:00
Kevin Groeneveld 8be51c92e4 Add missing wReserved1 member to DCB structure definition.
Fix several bugs in BuildCommDCBAndTimeouts:
- make sure LPCSTR parameter is really treated as constant
- fix possible buffer overflow if passed in string is too long
- if the device control string is invalid, do not modify DCB
- do not clear entire DCB, only modify appropriate members
- fix parsing of stop bits parameter so it works for 1 and 1.5
- populate COMMTIMEOUTS when to=xxx parameter is specified
- added support for xon, odsr, octs, dtr, rts, and idsr parameters
- fix several other parsing errors
2003-09-12 00:26:15 +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 9bd4f6bf15 - made async.h ready for use in ntdll: replaced all calls to kernel32
functions with ntdll equivalent
- replaced status setter/getter for wine async structures with direct
  access to a (now included) IO_STATUS_BLOCK structure
- since we now have a IO_STATUS_BLOCK in async_private, we no longer
  need in most of the user (derivated) structures a field for
  LPOVERLAPPED (it's stored as the IO_STATUS_BLOCK)
- rewrote the async.h users accordingly
- implemented ntdll.Nt{Read|Write}File and let
  kernel32.{Read|Write}File(Ex)? use those new ntdll functions
- rewrote smb read/write interfaces to be more ntdll stylish (no
  overlapped yet)
2003-06-26 02:08:17 +00:00
Marcus Meissner 585e9d6c24 Fixed 2 fd leaks in comm functions.
Removed erroneous GetLastError() check in WaitCommEvent().
2003-03-12 20:15:38 +00:00
Michael Stefaniuc 308e04fc61 Compile the kernel dll with -DSTRICT. 2002-10-25 21:02:30 +00:00
Patrik Stridvall 1298eb4053 Fixed mismatches between the Wine headers and the Microsoft headers. 2002-10-23 18:50:10 +00:00
Stefan Leichter acbb639240 BuildCommDCBAndTimeoutsA: Made the argument parsing case insensitive. 2002-10-18 00:21:39 +00:00
Patrik Stridvall 9aab47ed24 MSVC compatibility fixes. 2002-08-28 23:42:34 +00:00
Patrik Stridvall 57bf45067a MSVC compatibility fixes. 2002-08-26 21:53:24 +00:00
Patrik Stridvall d016f819f1 Added include protection for unistd.h and sys/time.h. 2002-08-17 00:43:16 +00:00
Marcelo Welter eef5d668ce Added PCF_TOTALTIMEOUTS to comm properties. 2002-06-05 17:27:48 +00:00
Vincent Béron 9a62491660 Removed trailing whitespace. 2002-05-31 23:06:46 +00:00
Alexandre Julliard c3e06df941 Portability fixes. 2002-05-14 23:18:23 +00:00
Mike McCormack eeb356567b Added support for TransmitCommChar. 2002-04-25 23:00:45 +00:00
Marcelo Welter 69494b8763 Fix to old DCB format parsing. 2002-04-24 21:21:43 +00:00
Alexandre Julliard 20286abc42 Removed constants that aren't defined in Windows. 2002-04-22 22:32:13 +00:00
77c2bbcb0b Faster serial speed cases for non Linux systems. 2002-04-21 22:06:09 +00:00
Martin Wilck 08867f7149 - Need a "cleanup" method.
- calling the "call_completion" method unconditionally in finish_async
  (introduced by me) was wrong, because the thread may never be in an
  alertable wait state -> call it only if user completion function is present.
- We need two constant "ops" objects, one with and one without call_completion
  method (the event field may NOT be used to determine whether the completion
  must be called or not).
2002-04-14 19:34:57 +00:00
Martin Wilck 2b47fb3cee - separate cleanly between async scheduling and file IO related issues.
- make the API compatible with other types of async requests (e.g. for
  sockets).
- remove exports of async IO related functions for DLL separation.
2002-04-05 22:53:57 +00:00
Mike McCormack 4a6b990ce8 Set an overlapped hEvent before calling any APCs. 2002-03-11 01:19:29 +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
Andreas Mohr f16b401e28 Various cosmetic changes. 2002-02-27 21:34:54 +00:00
Marcus Meissner c36e7b8937 Fixed cut&paste problem in SETRTS. 2002-02-26 00:39:55 +00:00
Lawson Whitney 533e7eeaf4 Support for nonstandard baud rate in SetCommState. 2002-02-19 18:41:56 +00:00
Mike McCormack 6f011c0847 - move async activation into the server
- implement async queues
2001-12-20 00:07:05 +00:00
Mike McCormack 5355a7870b Only RTS_CONTROL_HANDSHAKE should set CRTSCTS. 2001-12-13 00:57:58 +00:00
Gerard Patel 8121d3aab6 Misc fixes to DCB building from command line. 2001-12-04 19:39:13 +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
Gerson Kurz d13e6a9a93 Parity settings were not set properly in BuildCommDCBAndTimeouts()
because of an off-by-one error.
2001-11-12 15:49:08 +00:00
Mike McCormack 37f61c45de Ignore DSR/DTR flow control in DCB. termios doesn't support it. 2001-11-07 20:13:25 +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
Mike McCormack c5ea29f99b Return TRUE on success in COMM_BuildOldCommDCB.
DCB16.BaudRate > 57600 means 115200.
OpenComm16 should use overlapped I/O.
2001-10-21 15:01:20 +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
Mike McCormack 07a8c5402a Store the comm error value in the wineserver, not a global. 2001-08-20 18:01:35 +00:00
Marcus Meissner 99f54153f5 SetCommConfig has 3 arguments, not 2. 2001-08-06 17:50:42 +00:00
Patrik Stridvall 33c40709bf - Moved comm related protoypes to the correct .h file.
- Cleaned up the include section.
2001-07-26 21:43:56 +00:00
Mike McCormack e4ca13ea82 Move 16-bit COMM code to USER dll. 2001-07-24 20:49:41 +00:00
Mike McCormack fe0529dbea Rewrite BuildCommDCB16 to depend on BuildCommDCB, not vice-versa. 2001-07-23 17:56:33 +00:00
Mike McCormack e12d8ae06e Replace service thread with ReadFileEx/WriteFileEx. 2001-07-20 17:56:37 +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
Mike McCormack 1e72a3e96b Use GetCommState16 to save state in OpenComm16.
Merge comm16 globals into one structure.
2001-07-18 20:03:11 +00:00
Mike McCormack 0a17a7c055 Rewrite SetCommState16 to use SetCommState. 2001-07-17 00:57:01 +00:00
Mike McCormack 187ed4106d Rewrite GetCommState16 using GetCommState. 2001-07-14 00:45:58 +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
Mike McCormack f41de9779c Implement COMM_MSRUpdate with GetCommModemStatus. 2001-07-12 02:45:25 +00:00
Mike McCormack d342ed2bc0 Implement FlushComm16 with PurgeComm. 2001-07-11 17:26:57 +00:00
Mike McCormack 4be97b6696 Rewrite EscapeCommFunction16 to use EscapeCommFunction. 2001-07-10 19:05:30 +00:00
Mike McCormack db718970d3 Use HANDLEs instead of unix fds. 2001-07-08 20:28:55 +00:00
Patrik Stridvall 01d5e5b071 Documentation fixes. 2001-07-02 19:59:40 +00:00
Patrik Stridvall cd6b8cadce Fixed GetCommConfig number of arguments. 2001-06-19 03:44:16 +00:00
Patrik Stridvall dae8de69e2 Documentation ordinal fixes (using winapi_fixup). 2001-06-13 20:13:18 +00:00
Andreas Mohr 9650c2baea - BuildCommDCB16() uses int instead of BOOL
- OpenComm16() should return IE_BADID for *all* invalid strings
2001-05-24 18:42:38 +00:00
Dmitry Timoshkov 99abdec378 Small clean up. 2001-05-22 19:18:28 +00:00
Dominik Strasser cbdeb9646b Don't use RTSCTS if Str handshake is enabled.
Use appropriate Unix timeout values in SetCommTimeouts.
2001-04-20 18:15:20 +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 67a749999a New set of macros for server calls; makes requests without variable
part somewhat faster.
2001-02-27 02:09:16 +00:00
Andreas Mohr 92285494a9 BuildCommDCB16 had a rather broken baud rate handling. 2001-02-23 01:10:50 +00:00
Andreas Mohr dacdb9c4c6 Cosmetics. 2001-02-14 00:29:16 +00:00
Patrik Stridvall bca4a8dce0 Documentation argument fixes. 2001-02-12 03:49:57 +00:00
Andreas Mohr 819bff4d33 Don't open the comm handle with GENERIC_WRITE via FILE_GetUnixHandle. 2001-01-26 00:20:05 +00:00
Patrik Stridvall 0c61028734 Documentation ordinal fixes. 2001-01-25 22:22:21 +00:00
Mike McCormack 1c80bc927e Improve async i/o compatability. lpOverlapped->Internal should hold
the overlapped transfer status.
2000-12-29 19:35:25 +00:00
Andreas Mohr a6d83ebae1 - clarify many error messages
- add data corruption warning to README file
2000-12-27 04:02:46 +00:00
Andrew Johnston 03131aae91 Documentation update. 2000-12-19 23:33:03 +00:00
Patrik Stridvall 2b3aa616e8 Added/modified documentation for function arguments. 2000-12-01 23:58:28 +00:00
Dimitrie O. Paun 5bea4f876e Avoid using TIOCM_* constants if not available. 2000-11-25 01:29:00 +00:00
Mike McCormack 1eac1911c7 - created server object for handling async i/o
- implemented WaitCommEvent with the EV_RXCHAR flag
- implemented GetOverlappedResult
2000-11-13 19:27:21 +00:00
Alexandre Julliard 4e951ea25b Check all Callouts function pointers for NULL before using them.
Don't load USER dll if not needed by the application.
2000-11-08 22:47:53 +00:00
Alexandre Julliard 57f05e1913 Converted a few more server requests to the new mechanism. 2000-10-15 00:40:25 +00:00
Francois Gouget 50bcd1a8e3 HFILE is an int, not a regular HANDLE. 2000-10-13 23:11:05 +00:00
Mike McCormack 11776c1fcf Moved comm.c into kernel32. 2000-10-13 17:11:30 +00:00