Commit Graph

122 Commits

Author SHA1 Message Date
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
275a1b9bc4 winpr-comm: fixed set_baud_rate()/get_baud_rate() functions in comm_serial_sys.c (the issue came from a wrong extrapolation of the COMMPROP's MaxBaud field)
winpr-comm: got rid of SERIAL_BAUD_* values which are identical to BAUD_* ones
2014-09-16 11:21:01 +02:00
Marc-André Moreau
f30d7cf66a Merge pull request #2024 from repzilon/master
uclibc build fixes and recompressed images
2014-08-18 13:08:52 -04:00
Armin Novak
2436e41e63 Fixed warnings for comm tests. 2014-08-11 09:17:56 +02:00
Rene Rheaume
5f9c36da5d * Use futimens that is POSIX-compliant and compatible with uclibc instead of futimes.
* Borrowed eventfd_read and eventfd_write from bionic for uclibc compatibility (uclibc headers are broken unfortunately). Bionic and
FreeRDP are both under the Apache 2.0 license.
2014-08-06 22:06:01 -04:00
Bernhard Miklautz
352dbd52e2 winpr/comm: don't build on apple
Since code is only defined on linux building comm causes /usr/bin/ranlib
to warn about empty objects and the test doesn't build at all on apple.
2014-07-29 05:22:29 +02:00
Bernhard Miklautz
8c318da7b1 fix compiler warnings 2014-07-29 05:22:29 +02:00
Marc-André Moreau
4f4603133e winpr: fix build on Windows with unit tests 2014-07-17 12:02:47 -04:00
Bernhard Miklautz
6a49bcfe40 winpr: always build "monolitic"
winpr is now always build as single library.
The build option MONOLITHIC_BUILD doesn't influence this behavior anymore.

The only exception is winpr-makecert-tool which is still build as extra
library.

This obsoletes complex_libraries for winpr.
2014-07-10 11:10:58 +02:00
Emmanuel Ledoux
80f641c38a winpr-comm, serial: excluded Android platforms as well 2014-07-04 17:40:06 +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
37dc55d7c2 winpr-comm: fixed QueryCommDevice() when used with some wide characters 2014-07-04 12:24:41 +02:00
Emmanuel Ledoux
94dfce4f52 winpr-comm: made the unit tests to succeed when /dev/ttyS0 is not available 2014-07-03 19:01:45 +02:00
Emmanuel Ledoux
0bd9f1b789 winpr-comm: added _CommDevicesLock to protect accesses to _CommDevices 2014-07-03 11:07:48 +02:00
Emmanuel Ledoux
db1fba3a68 Revert "winpr-handle: removed RegisterHandleCloseCb() which would require a better synchronization"
RegisterHandleCloseCb() is also useful to don't get a circular dependency, a better synchronization must be find out...

This reverts commit 8f3b3fa573.
2014-07-02 16:57:20 +02:00
Emmanuel Ledoux
8f3b3fa573 winpr-handle: removed RegisterHandleCloseCb() which would require a better synchronization
winpr-comm: don't use anymore RegisterHandleCloseCb()
2014-07-02 16:19:28 +02:00
Emmanuel Ledoux
0d54307251 winpr-comm: introduced CommLog_Print(...). Don't use anymore DEBUG_WARN() and DEBUG_MSG() macros 2014-07-02 15:59:16 +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
11ed1f122f winpr-comm: comm_serial_sys, got rid of the latest TMP tags 2014-06-20 16:30:59 +02:00
Emmanuel Ledoux
b2bfc8004c winpr-comm: gathered together all SERIAL_EV_* #defines 2014-06-20 15:56:41 +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
d38a323526 winpr-comm, winpr-file: better initialization of the static variables 2014-06-19 12:03:36 +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
62298fcd95 winpr-comm: renamed REMOTE_SERIAL_DRIVER by SERIAL_DRIVER or ServerSerialDriver according the context 2014-06-18 15:58:08 +02:00
Emmanuel Ledoux
62d893b2bd winpr-comm: implemented IOCTL_SERIAL_RESET_DEVICE 2014-06-17 17:49:06 +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
34c3654faf winpr-comm: implemented IOCTL_SERIAL_CONFIG_SIZE 2014-06-17 15:19:16 +02:00
Emmanuel Ledoux
0db3d9dbb0 winpr-comm: cleaning up code, focused on indentation and whitespaces 2014-06-16 19:18:45 +02:00
Emmanuel Ledoux
50efce67f5 winpr-comm: completed support of Read*Timeout 2014-05-28 22:11:19 +02:00
Emmanuel Ledoux
16b6c44ef7 winpr-comm: need to purge _purge()'s events before read and write operations 2014-05-28 20:15:08 +02:00
Emmanuel Ledoux
f26c7ee498 winpr-comm: fixed _purge(), eventfd_read() and eventfd_write() just return a error code, not a number of bytes read or written 2014-05-28 19:10:01 +02:00
Emmanuel Ledoux
85343a435a winpr-comm: completed _purge() supporting SERIAL_PURGE_RXABORT
winpr-comm: CommReadFile, support of FREERDP_PURGE_RXABORT sent by _purge()
2014-05-28 18:42:23 +02:00
Emmanuel Ledoux
cdbba47eee winpr-comm: CommWriteFile, completed support of WriteTotalTimeout 2014-05-28 17:18:33 +02:00
Emmanuel Ledoux
4715009965 winpr-comm: completing _purge() on write operations (SERIAL_PURGE_TXABORT)
winpr-comm: CommWriteFile, implemented the WriteTotalTimeout
2014-05-28 16:41:24 +02:00
Emmanuel Ledoux
1e9e8b68bf winpr-comm: got IOCTL_SERIAL_GET_DTRRTS 2014-05-28 11:39:10 +02:00
Emmanuel Ledoux
f959590bd2 winpr-comm: _get_commstatus() just some comments about HoldReasons. 2014-05-28 10:44:52 +02:00
Emmanuel Ledoux
b8d00e41c4 - winpr-comm: fixed again the synchronization arround PendingEvents. Prefer to wait for the end of _wait_on_mask() inside _set_wait_mask() 2014-05-27 17:29:55 +02:00
Emmanuel Ledoux
ae3dd68b88 winpr-comm: fixed _set_wait_mask() on previous commit 2014-05-27 16:27:04 +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
13e10c5de9 winpr-comm: identified the ioctl 0x00220034 as IOCTL_USBPRINT_GET_1284_ID (support not yet implemented) 2014-05-26 16:31:56 +02:00
Emmanuel Ledoux
1b54ecfc00 winpr-comm: replaced the cumbersome hashtable for defined COM defines by a simpler array[128] 2014-05-23 17:46:05 +02:00
Emmanuel Ledoux
5dc21b5604 winpr-comm: renamed waitMask WaitEventMask
winpr-comm: removed ReadIrpQueue
2014-05-23 15:55:44 +02:00
Emmanuel Ledoux
a36467c353 winpr-comm: don't loop yet on IOCTL_SERIAL_WAIT_ON_MASK 2014-05-23 15:16:07 +02:00
Emmanuel Ledoux
1cb1fd6764 winpr-comm: IOCTL_SERIAL_SET_XON / IOCTL_SERIAL_SET_XOFF not supposed to be supported by SerCx2.sys 2014-05-23 15:06:15 +02:00
Emmanuel Ledoux
4feafcc40d winpr-comm: got IOCTL_SERIAL_SET_XOFF and IOCTL_SERIAL_SET_XON 2014-05-23 13:04:43 +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
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
881370a338 winpr-comm: got IOCTL_SERIAL_SET_RTS / IOCTL_SERIAL_CLR_RTS 2014-05-12 20:33:33 +02:00
Emmanuel Ledoux
7684ff7bd4 winpr-comm: got IOCTL_SERIAL_SET_DTR / IOCTL_SERIAL_CLR_DTR 2014-05-12 20:16:13 +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
ff4d7d569b winpr-comm: slightly improved GetCommProperties() 2014-05-06 16:45:05 +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
494b7e8f93 winpr-comm: fixed DCB's fBinary and fParity flags 2014-05-01 00:04:55 +02:00
Emmanuel Ledoux
feb4405941 wimpr-comm: got IOCTL_SERIAL_SET_LINE_CONTROL and IOCTL_SERIAL_GET_LINE_CONTROL 2014-04-29 22:25:07 +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
fff1f22f8c winpr-comm: completed GetCommProperties() (the underlying ioctl remains unfinished) 2014-04-28 22:56:25 +02:00
Emmanuel Ledoux
18dd3d3141 winpr-comm: tests are done according the "remote serial driver" in TestGetCommState/TestSetCommState 2014-04-28 22:32:27 +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
Emmanuel Ledoux
6fcc1b4478 winpr-comm: first import of comm_ioctl.h and the REMOTE_SERIAL_DRIVER type. 2014-04-25 00:20:48 +02:00
Emmanuel Ledoux
21f9bfeb6c winpr-comm: First implementation of CommCreateFileA()
winpr-comm: Implementation of GetCommState()/SetCommState() in progress (BaudRate, fBinary and fParity done)
2014-04-22 17:04:07 +02:00
Emmanuel Ledoux
7e44488e0a winpr-file: introduced HANDLE_CREATOR type
winpr-comm: got a _CommHandleCreator
2014-04-18 19:25:25 +02:00
Emmanuel Ledoux
f9fc107c20 new functions: DefineCommDevice / QueryCommDevice / IsCommDevice 2014-04-18 17:18:08 +02:00
Marc-André Moreau
82ed4f0f38 libwinpr-comm: initial stubs 2014-04-02 15:51:28 -04:00