diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-02-28 13:28:42 +0100 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2012-03-13 12:24:17 +0100 |
commit | c6499768595c5c2046eb3c32b0b34a56d948c53b (patch) | |
tree | e091d0f554c01d55efbef4ad9ef49935c5291ef0 /cpukit | |
parent | libblock: New IO control RTEMS_BLKIO_GETDISKDEV (diff) | |
download | rtems-c6499768595c5c2046eb3c32b0b34a56d948c53b.tar.bz2 |
libblock: New block IO control support functions
Diffstat (limited to 'cpukit')
-rw-r--r-- | cpukit/libblock/include/rtems/blkdev.h | 39 | ||||
-rw-r--r-- | cpukit/libmisc/shell/main_blksync.c | 2 |
2 files changed, 40 insertions, 1 deletions
diff --git a/cpukit/libblock/include/rtems/blkdev.h b/cpukit/libblock/include/rtems/blkdev.h index 978e93056f..70259d6c43 100644 --- a/cpukit/libblock/include/rtems/blkdev.h +++ b/cpukit/libblock/include/rtems/blkdev.h @@ -165,6 +165,45 @@ typedef struct rtems_blkdev_request { /** @} */ +static inline int rtems_disk_fd_get_media_block_size( + int fd, + uint32_t *media_block_size +) +{ + return ioctl(fd, RTEMS_BLKIO_GETMEDIABLKSIZE, media_block_size); +} + +static inline int rtems_disk_fd_get_block_size(int fd, uint32_t *block_size) +{ + return ioctl(fd, RTEMS_BLKIO_GETBLKSIZE, block_size); +} + +static inline int rtems_disk_fd_set_block_size(int fd, uint32_t block_size) +{ + return ioctl(fd, RTEMS_BLKIO_SETBLKSIZE, &block_size); +} + +static inline int rtems_disk_fd_get_block_count( + int fd, + rtems_blkdev_bnum *block_count +) +{ + return ioctl(fd, RTEMS_BLKIO_GETSIZE, block_count); +} + +static inline int rtems_disk_fd_get_disk_device( + int fd, + const rtems_disk_device **dd_ptr +) +{ + return ioctl(fd, RTEMS_BLKIO_GETDISKDEV, dd_ptr); +} + +static inline int rtems_disk_fd_sync(int fd) +{ + return ioctl(fd, RTEMS_BLKIO_SYNCDEV); +} + /** * Only consecutive multi-sector buffer requests are supported. * diff --git a/cpukit/libmisc/shell/main_blksync.c b/cpukit/libmisc/shell/main_blksync.c index c3739c6319..c8859b452a 100644 --- a/cpukit/libmisc/shell/main_blksync.c +++ b/cpukit/libmisc/shell/main_blksync.c @@ -58,7 +58,7 @@ static int rtems_shell_main_blksync( return 1; } - if (ioctl (fd, RTEMS_BLKIO_SYNCDEV) < 0) { + if (rtems_disk_fd_sync (fd) < 0) { fprintf( stderr, "%s: driver sync failed: %s\n", argv[0], strerror (errno)); return 1; } |