#ifndef __CLICHAR_H__
#define __CLICHAR_H__

int clicharInit(void);

#if defined(CONFIG_ARCH_MSP430)
#  define CLISEND(x) usart0TxOne(x)
#  define CLIGET(x) usart0RxOne(&x)
#else
#  if defined(CONFIG_ARCH_LPC2XXX)
#    define CLISEND(x) uart0TxOne(x)
#    define CLIGET(x) uart0RxOne(&x)
#    define CLIPUTS(str) clicharPuts(str)
#  else
#    warning "clichar.h: using generic gets, puts"
#    define CLISEND(x) do { putchar(x); } while(0)
#    define CLIGET(x) do { x = getchar(); } while(0)
#  endif
#endif

#define SKIPDASH(cp) do { if (*cp == '-') cp++; } while(0)

void clicharPuts(char *);
char * clicharGetOutputBuffer(int *);
void clicharSendOutputBuffer(char *, int);

#endif /* __CLICHAR_H__ */
