diff options
author | Chris Johns <chrisj@rtems.org> | 2016-05-20 18:39:50 +1000 |
---|---|---|
committer | Chris Johns <chrisj@rtems.org> | 2016-05-25 15:47:34 +1000 |
commit | 24d0ee57a4d95f99be6e7e60bd162a30daf0638d (patch) | |
tree | 94239c8cc6b21813ca44b6ca89da73f9038914cc /cpukit/libblock | |
parent | b1860df53df538c28104f3161ae98d08f07dd4bf (diff) |
cpukit, testsuite: Add rtems_printf and rtems_printer support.
This change adds rtems_printf and related functions and wraps the
RTEMS print plugin support into a user API. All references to the
plugin are removed and replaced with the rtems_printer interface.
Printk and related functions are made to return a valid number of
characters formatted and output.
The function attribute to check printf functions has been added
to rtems_printf and printk. No changes to remove warrnings are part
of this patch set.
The testsuite has been moved over to the rtems_printer. The testsuite
has a mix of rtems_printer access and direct print control via the
tmacros.h header file. The support for begink/endk has been removed
as it served no purpose and only confused the code base. The testsuite
has not been refactored to use rtems_printf. This is future work.
Diffstat (limited to 'cpukit/libblock')
-rw-r--r-- | cpukit/libblock/include/rtems/blkdev.h | 7 | ||||
-rw-r--r-- | cpukit/libblock/src/blkdev-blkstats.c | 17 | ||||
-rw-r--r-- | cpukit/libblock/src/blkdev-print-stats.c | 7 |
3 files changed, 14 insertions, 17 deletions
diff --git a/cpukit/libblock/include/rtems/blkdev.h b/cpukit/libblock/include/rtems/blkdev.h index 81e2dfa0da..99f857379b 100644 --- a/cpukit/libblock/include/rtems/blkdev.h +++ b/cpukit/libblock/include/rtems/blkdev.h @@ -16,7 +16,7 @@ #include <rtems.h> #include <rtems/diskdevs.h> -#include <rtems/bspIo.h> +#include <rtems/print.h> #include <sys/ioctl.h> #include <stdio.h> @@ -348,15 +348,14 @@ void rtems_blkdev_print_stats( uint32_t media_block_size, uint32_t media_block_count, uint32_t block_size, - rtems_printk_plugin_t print, - void *print_arg + const rtems_printer* printer ); /** * @brief Block device statistics command. */ void rtems_blkstats( - FILE *output, + const rtems_printer *printer, const char *device, bool reset ); diff --git a/cpukit/libblock/src/blkdev-blkstats.c b/cpukit/libblock/src/blkdev-blkstats.c index 1e773cf8c2..ca1e0e4b9c 100644 --- a/cpukit/libblock/src/blkdev-blkstats.c +++ b/cpukit/libblock/src/blkdev-blkstats.c @@ -31,7 +31,7 @@ #include <errno.h> #include <string.h> -void rtems_blkstats(FILE *output, const char *device, bool reset) +void rtems_blkstats(const rtems_printer* printer, const char *device, bool reset) { int fd = open(device, O_RDONLY); @@ -45,7 +45,7 @@ void rtems_blkstats(FILE *output, const char *device, bool reset) if (reset) { rv = rtems_disk_fd_reset_device_stats(fd); if (rv != 0) { - fprintf(output, "error: reset stats: %s\n", strerror(errno)); + rtems_printf(printer, "error: reset stats: %s\n", strerror(errno)); } } else { uint32_t media_block_size = 0; @@ -64,25 +64,24 @@ void rtems_blkstats(FILE *output, const char *device, bool reset) media_block_size, media_block_count, block_size, - (rtems_printk_plugin_t) fprintf, - output + printer ); } else { - fprintf(output, "error: get stats: %s\n", strerror(errno)); + rtems_printf(printer, "error: get stats: %s\n", strerror(errno)); } } } else { - fprintf(output, "error: not a block device\n"); + rtems_printf(printer, "error: not a block device\n"); } } else { - fprintf(output, "error: get file stats: %s\n", strerror(errno)); + rtems_printf(printer, "error: get file stats: %s\n", strerror(errno)); } rv = close(fd); if (rv != 0) { - fprintf(output, "error: close device: %s\n", strerror(errno)); + rtems_printf(printer, "error: close device: %s\n", strerror(errno)); } } else { - fprintf(output, "error: open device: %s\n", strerror(errno)); + rtems_printf(printer, "error: open device: %s\n", strerror(errno)); } } diff --git a/cpukit/libblock/src/blkdev-print-stats.c b/cpukit/libblock/src/blkdev-print-stats.c index edeee906fa..aba2173b42 100644 --- a/cpukit/libblock/src/blkdev-print-stats.c +++ b/cpukit/libblock/src/blkdev-print-stats.c @@ -32,12 +32,11 @@ void rtems_blkdev_print_stats( uint32_t media_block_size, uint32_t media_block_count, uint32_t block_size, - rtems_printk_plugin_t print, - void *print_arg + const rtems_printer* printer ) { - (*print)( - print_arg, + rtems_printf( + printer, "-------------------------------------------------------------------------------\n" " DEVICE STATISTICS\n" "----------------------+--------------------------------------------------------\n" |