diff options
author | Andreas Eversberg <jolly@eversberg.eu> | 2020-04-26 09:21:18 +0200 |
---|---|---|
committer | Andreas Eversberg <jolly@eversberg.eu> | 2020-05-23 14:25:34 +0200 |
commit | dd95a49fc9077ac219494f866de7ce385c539210 (patch) | |
tree | 05fa37e6f441459123d8ac064c742a1c323d9231 /src/libserial/serial.h | |
parent | 5d5e2e99c1ebae8bc560639432f1579c1ad37c57 (diff) |
Added local library for serial port access
Diffstat (limited to 'src/libserial/serial.h')
-rwxr-xr-x | src/libserial/serial.h | 38 |
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); + |