c519e6365e
git-svn-id: svn://svn.rockbox.org/rockbox/trunk@5439 a1c6a512-1295-4272-9138-f99709370657
57 lines
1.4 KiB
C
57 lines
1.4 KiB
C
// 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
|
|
|