aboutsummaryrefslogtreecommitdiffstats
path: root/src/libserial/serial.h
diff options
context:
space:
mode:
authorAndreas Eversberg <jolly@eversberg.eu>2020-04-26 09:21:18 +0200
committerAndreas Eversberg <jolly@eversberg.eu>2020-05-23 14:25:34 +0200
commitdd95a49fc9077ac219494f866de7ce385c539210 (patch)
tree05fa37e6f441459123d8ac064c742a1c323d9231 /src/libserial/serial.h
parent5d5e2e99c1ebae8bc560639432f1579c1ad37c57 (diff)
Added local library for serial port access
Diffstat (limited to 'src/libserial/serial.h')
-rwxr-xr-xsrc/libserial/serial.h38
1 files changed, 38 insertions, 0 deletions
diff --git a/src/libserial/serial.h b/src/libserial/serial.h
new file mode 100755
index 0000000..17300dc
--- /dev/null
+++ b/src/libserial/serial.h
@@ -0,0 +1,38 @@
+
+#include <termios.h>
+
+extern int serial_errno;
+extern char *serial_errnostr;
+
+typedef struct _serial {
+ /* parameters */
+ const char *device;
+ int baud;
+ int databits;
+ char parity;
+ int stopbits;
+ char xonxoff;
+ char rtscts;
+ float txtimeout;
+ float rxtimeout;
+
+ /* internal variables */
+ int handle;
+ struct termios com_termios;
+ struct termios old_termios;
+} serial_t;
+
+serial_t *serial_open(const char *serial_device, int serial_baud, int serial_databits, char serial_parity, int serial_stopbits, char serial_xonxoff, char serial_rtscts, int serial_getbreak, float serial_txtimeout, float serial_rxtimeout);
+void serial_close(serial_t *serial);
+int serial_read(serial_t *serial, uint8_t *buffer, int size);
+int serial_write(serial_t *serial, uint8_t *buffer, int size);
+int serial_timeout(serial_t *serial, double serial_txtimeout, double serial_rxtimeout);
+int serial_cts(serial_t *serial);
+int serial_dsr(serial_t *serial);
+int serial_dtron(serial_t *serial);
+int serial_dtroff(serial_t *serial);
+int serial_rtson(serial_t *serial);
+int serial_rtsoff(serial_t *serial);
+int serial_break(serial_t *serial, int on);
+int serial_handle(serial_t *serial);
+