// A general definition for the required UART functionality. // This will be used to gain platform abstraction. #ifndef _UART_H #define _UART_H // data types typedef void* tUartHandle; #define INVALID_UART_HANDLE (tUartHandle)-1 typedef enum { eNOPARITY, eODDPARITY, eEVENPARITY, eMARKPARITY, eSPACEPARITY, } tParity; typedef enum { eONESTOPBIT, eONE5STOPBITS, eTWOSTOPBITS, } tStopBits; // prototypes tUartHandle UartOpen( // returns NULL on error char* szPortName); // COMx for windows bool UartConfig( // returns true on success, false on error tUartHandle handle, // the handle returned from UartOpen() long lBaudRate, // must be one of the "standard" baudrates tParity nParity, // what kind of parity tStopBits nStopBits, // how many stop bits int nByteSize); // size of the "payload", can be 5 to 8 long UartWrite( // returns how much data was actually transmitted tUartHandle handle, // the handle returned from UartOpen() unsigned char* pData, // pointer to the data to be transmitted long lSize); // how many bytes long UartRead( // returns how much data was actually received tUartHandle handle, // the handle returned from UartOpen() unsigned char* pBuffer, // pointer to the destination long lSize); // how many bytes to read (pBuffer must have enough room) void UartClose(tUartHandle handle); #endif // _UART_H