diff options
Diffstat (limited to 'testsuites/sptests/sp07/buffered_io.c')
-rw-r--r-- | testsuites/sptests/sp07/buffered_io.c | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/testsuites/sptests/sp07/buffered_io.c b/testsuites/sptests/sp07/buffered_io.c new file mode 100644 index 0000000000..440f649053 --- /dev/null +++ b/testsuites/sptests/sp07/buffered_io.c @@ -0,0 +1,38 @@ +/* + * $Id$ + */ + +#include <rtems.h> + +#include "system.h" + +#define RINGBUF_QUEUE_LENGTH 512 + +#include <ringbuf.h> + +Ring_buffer_t Buffer; + +void buffered_io_initialize( void ) +{ + Ring_buffer_Initialize( &Buffer ); +} + +void buffered_io_flush(void) +{ + char ch; + + while ( !Ring_buffer_Is_empty(&Buffer) ) { + Ring_buffer_Remove_character( &Buffer, ch ); + fprintf( stderr, "%c", ch ); + } + FLUSH_OUTPUT(); +} + +void buffered_io_add_string( char *s ) +{ + char *p = s; + + while ( *s ) { + Ring_buffer_Add_character( &Buffer, *s++ ); + } +} |