Commit Graph

81 Commits

Author SHA1 Message Date
Martin Haimberger
b8c110d19b introduced channel error reporting system
The rdpContext gets an event which will
get set if an error occoured in a channel.

If a thread or a void callback has to report an
error it will get signaled by this system.
2015-07-15 00:50:35 -07:00
Martin Haimberger
62d7b1e4df hardend serial channel 2015-06-18 03:04:33 -07:00
Norbert Federa
1eff1a345e free can handle NULL perfectly fine 2015-05-11 09:07:39 +02:00
Emmanuel Ledoux
cf3d857b89 serial: changed the default underlying ServerSerialDriverId from SerialDriverSerCx2Sys to SerialDriverSerialSys 2015-02-06 19:56:36 +01:00
Emmanuel Ledoux
096159054b winpr-comm: ignore errors on TIOCGICOUNT during the port initialization but the permissive mode must be on afterwards. 2014-11-13 19:54:32 +01:00
Emmanuel Ledoux
e9749c6b3f serial: ability to turn on the permissive mode from the command line 2014-09-16 12:08:33 +02:00
Emmanuel Ledoux
80f641c38a winpr-comm, serial: excluded Android platforms as well 2014-07-04 17:40:06 +02:00
Emmanuel Ledoux
4fad947cb4 serial: implementation still __linux__ specific (even though not much remains to do to be platform agnostic at this stage) 2014-07-04 16:57:25 +02:00
Emmanuel Ledoux
7bbeff3427 winpr-comm: made its current implementation verific specific to __linux__ since it was done on top of NTTY. 2014-07-04 16:16:26 +02:00
Emmanuel Ledoux
d1a7e8c3b8 serial: attempt to avoid a couple compilation warnings: Warning:int-to-pointer-cast 2014-07-03 18:13:25 +02:00
Emmanuel Ledoux
b050f5ec56 serial: restored wlog messages using com.freerdp.channel.serial.client. Don't use anymore DEBUG_MSG(), DEBUG_WARN() and DEBUG_SVC() macros 2014-07-02 15:44:29 +02:00
Emmanuel Ledoux
9fc225ac5d Merge branch 'ports'
Conflicts:
	channels/serial/client/serial_tty.c
2014-06-30 17:22:15 +02:00
Emmanuel Ledoux
d93c6b1362 serial: don't use wlog API yet
winpr-comm: cleared some #warnings due to wrong printf formats
2014-06-25 17:02:10 +02:00
Emmanuel Ledoux
f454a5c0c8 winpr-handle: CloseHandle(), added ability to register some callback functions
winpr-comm: implemented CommCloseHandle()
2014-06-19 19:07:45 +02:00
Emmanuel Ledoux
e6c82f99d5 serial: ability to setup the server serial driver thanks to a third parameter on the command line 2014-06-18 18:20:21 +02:00
Emmanuel Ledoux
ff9babed4e serial: cleaned up serial_main and removed other files which have been replaced by winpr-comm 2014-06-17 17:18:42 +02:00
Emmanuel Ledoux
9fc0e6eccc winpr-comm: CommReadFile and CommWriteFile are now protected by a mutex
winpr-comm: implemented IOCTL_SERIAL_IMMEDIATE_CHAR
2014-06-17 16:34:20 +02:00
Emmanuel Ledoux
0db3d9dbb0 winpr-comm: cleaning up code, focused on indentation and whitespaces 2014-06-16 19:18:45 +02:00
Marc-André Moreau
53639dea0b channels: reduce dependency on svc_plugin.h 2014-06-11 15:09:28 -04:00
Emmanuel Ledoux
50efce67f5 winpr-comm: completed support of Read*Timeout 2014-05-28 22:11:19 +02:00
Emmanuel Ledoux
cdbba47eee winpr-comm: CommWriteFile, completed support of WriteTotalTimeout 2014-05-28 17:18:33 +02:00
Emmanuel Ledoux
1aeca8fbc7 - serial: terminates IRP threads more gracefully and avoiding warning messages. 2014-05-27 16:17:47 +02:00
Emmanuel Ledoux
b889ad7125 winpr-comm: reviewed the synchronization around counters, WaitMask and PendingEvents variables. Got rid of the semaphore PendingEventsSem. 2014-05-27 12:29:24 +02:00
Emmanuel Ledoux
9796224936 - winpr-comm: got a finalized version of IOCTL_SERIAL_WAIT_ON_MASK
- serial: cleaning up the code
2014-05-27 11:33:10 +02:00
Emmanuel Ledoux
5dc21b5604 winpr-comm: renamed waitMask WaitEventMask
winpr-comm: removed ReadIrpQueue
2014-05-23 15:55:44 +02:00
Emmanuel Ledoux
ee268a92ee serial: got a thread per IRP
winpr-comm: got IOCTL_SERIAL_GET_COMMSTATUS, IOCTL_SERIAL_SET_BREAK_ON and IOCTL_SERIAL_SET_BREAK_OFF
winpr-comm: tcdrain called by CommWriteFile() :(
2014-05-23 12:27:09 +02:00
Emmanuel Ledoux
9639da0067 serial: first steps to get a thread per IRP as a proof of concept. A bit of synchronization is still required. 2014-05-21 10:36:55 +02:00
Emmanuel Ledoux
baf4896a38 serial: got rid of most the warning message with MAKE_BUILD_TYPE=Release
winpr-comm: consolidated _set_handflow()/_get_handflow()
winpr-comm: introduced a permissive mode
winpr-comm: implementation of IOCTL_SERIAL_WAIT_ON_MASK still in progress
2014-05-19 16:53:57 +02:00
Emmanuel Ledoux
8179affea9 winpr-comm: got IOCTL_SERIAL_PURGE 2014-05-14 21:21:31 +02:00
Emmanuel Ledoux
6cc44ff112 winpr-comm: got IOCTL_SERIAL_SET_QUEUE_SIZE 2014-05-14 17:30:29 +02:00
Emmanuel Ledoux
4243928c2e winpr-comm: fixed _set_lines() / _clear_lines()
winpr-comm: got IOCTL_SERIAL_SET_WAIT_MASK / IOCTL_SERIAL_GET_WAIT_MASK and a non-blocking version of IOCTL_SERIAL_WAIT_ON_MASK
2014-05-14 16:29:10 +02:00
Emmanuel Ledoux
116995f865 wimpr-comm: got IOCTL_SERIAL_GET_MODEMSTATUS 2014-05-13 17:27:51 +02:00
Emmanuel Ledoux
7ec15d9683 serial: removed the Write thread (kept the read and main threads)
serial: better closing
2014-05-13 15:12:14 +02:00
Emmanuel Ledoux
7e36374a89 serial: attempt to use two additional threads for read and write requests
winpr-comm: fixed CommWriteFile
2014-05-13 14:55:30 +02:00
Emmanuel Ledoux
7f9545f12e serial: removed the extra byte sent with an empty OutputBuffer. At least Windows 2008R2 SP1 works better without it. Need to figure out why... 2014-05-12 19:21:06 +02:00
Emmanuel Ledoux
4c743de69c winpr-comm: got IOCTL_SERIAL_SET_TIMEOUTS / IOCTL_SERIAL_GET_TIMEOUTS
serial redirection: use of winpr-comm's functions and not serial_tty.* anymore
2014-05-12 17:33:56 +02:00
Emmanuel Ledoux
c2b024512a winpr-comm: got IOCTL_SERIAL_SET_HANDFLOW / IOCTL_SERIAL_GET_HANDFLOW 2014-05-06 16:08:58 +02:00
Emmanuel Ledoux
ee2339addc winpr-comm: implemented IOCTL_SERIAL_SET_CHARS and IOCTL_SERIAL_GET_CHARS 2014-04-29 04:04:09 +02:00
Emmanuel Ledoux
69eeeebe67 winpr-comm: got IOCTL_SERIAL_GET_BAUD_RATE and IOCTL_SERIAL_GET_PROPERTIES (partial)
winpr-comm: cleant up unit tests
2014-04-28 19:57:17 +02:00
Emmanuel Ledoux
e7f0185e69 - firt use of winpr-comm by the serial channel (not tested and not finalized) 2014-04-27 19:41:25 +02:00
Marc-André Moreau
fb3f5e6bd2 libfreerdp-utils: purge deprecated list utils 2014-04-26 12:31:24 -04:00
Marc-André Moreau
021776e84b channels/serial: partial EPSON TM-T88III fix 2014-03-26 17:54:36 -04:00
Marc-André Moreau
8e2baab504 channels/serial: code cleanup 2014-03-26 17:11:15 -04:00
Marc-André Moreau
2ff5200f81 channels/serial: remove old async irp code, cleanup to make use of newer utils 2014-03-26 15:21:44 -04:00
Marc-André Moreau
00e6463e1e channels/rdpdr: robustness improvements 2014-03-26 11:05:12 -04:00
Marc-André Moreau
05d9fbfe2a channels/rdpdr: remove dependency on svc_plugin 2013-10-17 15:42:51 -04:00
Armin Novak
8442c79e10 Added assertions and ExitThread calls. 2013-09-05 14:27:34 +02:00
Armin Novak
6f9183c7aa Using a monitor thread for tty input now to work around a WaitForMultipleObjects
limitation of winpr.
Using infinite timeout now in threads to reduce CPU usage to nearly zero.
2013-08-16 15:51:44 +02:00
Armin Novak
60d38daf0a Reset file descriptor set only, if necessary now. 2013-08-16 12:40:06 +02:00
Armin Novak
1a96bdc7a5 Fixed initialization of serial device, now aborting pending
read / write operations.
2013-08-16 10:34:54 +02:00