blob: a0c10d1a0f13514899bd95b332050f109270b4ca [file] [log] [blame]
// 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