1 #ifndef VN_SERIALPORT_H
2 #define VN_SERIALPORT_H
17 #pragma warning(disable:4668)
18 #pragma warning(disable:4820)
19 #pragma warning(disable:4255)
30 #include <linux/serial.h>
31 #elif defined __APPLE__
40 typedef void (*VnSerialPort_DataReceivedHandler)(
void *userData);
44 #pragma warning(disable : 4820)
54 #elif (defined __linux__ || defined __APPLE__ || defined __CYGWIN__ || defined __QNXNTO__)
57 #error "Unknown System"
60 bool purgeFirstDataBytesWhenSerialPortIsFirstOpened;
62 VnSerialPort_DataReceivedHandler dataReceivedHandler;
64 void *dataReceivedHandlerUserData;
66 VnThread serialPortNotificationsThread;
68 bool continueHandlingSerialPortEvents;
70 size_t numberOfReceiveDataDroppedSections;
86 VnError VnSerialPort_initialize(
VnSerialPort *serialport);
94 VnError VnSerialPort_open(
VnSerialPort *serialport,
char const *portName, uint32_t baudrate);
115 VnError VnSerialPort_read(
VnSerialPort *serialport,
char *buffer,
size_t numOfBytesToRead,
size_t *numOfBytesActuallyRead);
123 VnError VnSerialPort_write(
VnSerialPort *serialport,
char const *data,
size_t numOfBytesToWrite);
130 VnError VnSerialPort_changeBaudrate(
VnSerialPort *serialport, uint32_t baudrate);
138 VnError VnSerialPort_registerDataReceivedHandler(
VnSerialPort *serialPort, VnSerialPort_DataReceivedHandler handler,
void *userData);
143 VnError VnSerialPort_unregisterDataReceivedHandler(
VnSerialPort *serialPort);
Provides access to a serial port.
Definition: serialport.h:48
Definition: criticalsection.h:38
Structure for working with threads.
Definition: thread.h:40