37 #define CONSOLE_OUTPUT_DEV QUARK_X1000_UART_1
39 #define HEAP_MAX_SIZE 2048
41 static char _heap[HEAP_MAX_SIZE];
42 static char *prog_break = _heap;
45 _close_r(
struct _reent *ptr,
int file)
48 ptr->_errno = ENOTSUP;
59 _getpid_r(
struct _reent *ptr)
62 ptr->_errno = ENOTSUP;
67 _isatty_r(
struct _reent *ptr,
int file)
70 ptr->_errno = ENOTSUP;
75 _kill_r(
struct _reent *ptr,
int pid,
int signal)
78 ptr->_errno = ENOTSUP;
83 _read_r(
struct _reent *ptr,
int file,
char *buf,
int len)
86 ptr->_errno = ENOTSUP;
91 _write_r(
struct _reent *ptr,
int file,
const char *buf,
int len)
104 for(i = 0; i < len; i++) {
111 quarkX1000_uart_tx(CONSOLE_OUTPUT_DEV,
'\r');
113 quarkX1000_uart_tx(CONSOLE_OUTPUT_DEV, buf[i]);
121 ptr->_errno = ENOTSUP;
130 _lseek_r(
struct _reent *ptr,
int file,
int p,
int dir)
133 ptr->_errno = ENOTSUP;
138 _fstat_r(
struct _reent *ptr,
int file,
struct stat *st)
147 if(file == 0 || file > 2) {
148 ptr->_errno = ENOTSUP;
152 st->st_mode = S_IFCHR;
157 _sbrk_r(
struct _reent *ptr,
int incr)
159 char *prev_prog_break;
164 if(prog_break + incr > _heap + HEAP_MAX_SIZE) {
165 ptr->_errno = ENOMEM;
169 prev_prog_break = prog_break;
173 return prev_prog_break;
#define NULL
The null pointer.