2 const size_t wbuffsz
= 1024;
3 const size_t rbuffsz
= 1024;
5 /* scratch-pads for input processing */
6 const size_t scratchwsz
= 256;
7 const size_t scratchrsz
= 256;
9 /* `nanosleep()` values inside the read and write loops */
10 const long swritedelay
= 0; /* seconds */
11 const long nswritedelay
= 1000000; /* nanoseconds */
13 /* other time variable names follow the same logic as above */
15 const long sreaddelay
= 0;
16 const long nsreaddelay
= 1000000;
18 /* `nanosleep()` values for the DTR pulse */
19 const long spulsedelay
= 0;
20 const long nspulsedelay
= 1000000;
22 /* lock the opened device */
23 const int exclusive
= 1; /*(0|1)*/
26 * set the device to blocking mode,
27 * on some systems this will stop all threads
28 * of a process during read/write, thus rendering
31 const int blocking
= 1; /*(0|1)*/
33 /* escape character for interactive use */
34 const char escapechar
= '~';
36 /* print additional info to stderr */
37 int verbose
= 0; /*(0|1)*/
43 * ttyS* - any standard serial port
44 * ttyUSB* - any USB serial port
47 * cuau* - does not wait for DCD
48 * ttyu* - 'dial-in' device, waits for DCD
53 * cua* - does not wait for DCD
54 * tty* - 'dial-in' device, waits for DCD
59 * dty* - opening does not block, does not wait for DCD
60 * tty* - 'dial-in' device, blocks opening until a connection is established
63 char line
[16] = "/dev/cuau0";
66 * baud is usually configurable to standard values only,
67 * custom speed requires both hardware and driver support
69 unsigned int ispeed
= 9600;
70 unsigned int ospeed
= 9600;
73 * data bits: can be 8,7,6 or 5.
79 * stop bits: setting this to 1 enables 2 stop bits for all numbers of data bits
80 * except 5 - it's 1.5 in that case
82 int stopb
= 0; /*(0|1)*/
85 * local echo (half-duplex mode) and canonical mode
87 int half
= 0; /*(0|1)*/
88 int canonical
= 0; /*(0|1)*/
92 * CR and LF (NL) translation options
94 CRLFOpt tropts
= { 0 };
95 CRLFOpt itropts
= { 0 };
98 * backspace: setting to one makes `^H` the backspace character, `^?` otherwise
100 int backspace
= 0; /*(0|1)*/
103 * the minimum of characters input before sending them to the line
105 int minchars
= 1; /*(>=1)*/
108 * delay between single characters being sent if the buffer has
109 * more than 1 (redirected stdin, writing a file)
115 * XON/XOFF flow control
116 * can be enabled with hardware flow control simultaneously
118 int soft
= 0; /*(0|1)*/
121 * hardware flow control
123 * 2 - DTR/DSR (not supported on some platforms)
126 int hard
= 0; /*(0|1|2|3)*/
132 int parity
= 0; /*(0|1|2)*/