I am planning to improve, if possible, the serial units for both Linux and Windows, but have a few questions before I proceed any further:

1- I guess the unit rtl\win\wininc\struct.inc has 2 bugs:
        a- bm_DCB_fRtsControl = $3000. It should be $2000.
        b- bm_DCB_fDtrControl = $30. It should be $20.
   Can anybody confirm this?

2- I will define TSerialFlags = set of (XOnXOffFlowControl, RtsCtsFlowControl); What flags do we have to set in Linux to have XOnXOff handshaking? The number of parameters in tios is mind boggling.

3- The Linux SerOpen function (based on fpopen) claims to return 0 if the device could not be found. Shouldn't it be -1?

4- Windows SerOpen function (based on CreateFile) returns an INVALID_HANDLE_VALUE if the device could not be found. How to unify for both Linux & Windows? Is it safe to return instead -1 (as in the Linux case)?

5- Is it OK to designate serial ports by COMx fow Windows and /dev/ttySx for Linux?

6- Is it OK for TSerialState to include DCB for Windows and tios for Linux?

My guess for questions 5 and 6 is yes.

Any input is appreciated.

Stephano
_______________________________________________
fpc-pascal maillist  -  fpc-pascal@lists.freepascal.org
http://lists.freepascal.org/mailman/listinfo/fpc-pascal

Reply via email to