summaryrefslogtreecommitdiffstats
path: root/cpukit/libblock
diff options
context:
space:
mode:
authorThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-11-12 15:32:11 +0000
committerThomas Doerfler <Thomas.Doerfler@embedded-brains.de>2009-11-12 15:32:11 +0000
commitc0e0a92892f1f4993522e482cb13953d69e60309 (patch)
tree11c09fe56771bcec66ebce6b050a375b145e9bf0 /cpukit/libblock
parent2009-11-12 Ralf Corsépius <ralf.corsepius@rtems.org> (diff)
downloadrtems-c0e0a92892f1f4993522e482cb13953d69e60309.tar.bz2
Changed set and get IO controls to use the buffer argument for data exchange.
Diffstat (limited to 'cpukit/libblock')
-rw-r--r--cpukit/libblock/include/rtems/blkdev.h8
-rw-r--r--cpukit/libblock/src/blkdev.c12
2 files changed, 12 insertions, 8 deletions
diff --git a/cpukit/libblock/include/rtems/blkdev.h b/cpukit/libblock/include/rtems/blkdev.h
index 721ecbb707..7956a59460 100644
--- a/cpukit/libblock/include/rtems/blkdev.h
+++ b/cpukit/libblock/include/rtems/blkdev.h
@@ -157,10 +157,10 @@ typedef struct rtems_blkdev_request {
*/
#define RTEMS_BLKIO_REQUEST _IOWR('B', 1, rtems_blkdev_request)
-#define RTEMS_BLKIO_GETMEDIABLKSIZE _IO('B', 2)
-#define RTEMS_BLKIO_GETBLKSIZE _IO('B', 3)
-#define RTEMS_BLKIO_SETBLKSIZE _IO('B', 4)
-#define RTEMS_BLKIO_GETSIZE _IO('B', 5)
+#define RTEMS_BLKIO_GETMEDIABLKSIZE _IOR('B', 2, uint32_t)
+#define RTEMS_BLKIO_GETBLKSIZE _IOR('B', 3, uint32_t)
+#define RTEMS_BLKIO_SETBLKSIZE _IOW('B', 4, uint32_t)
+#define RTEMS_BLKIO_GETSIZE _IOR('B', 5, rtems_blkdev_bnum)
#define RTEMS_BLKIO_SYNCDEV _IO('B', 6)
#define RTEMS_BLKIO_DELETED _IO('B', 7)
diff --git a/cpukit/libblock/src/blkdev.c b/cpukit/libblock/src/blkdev.c
index 779290b4f4..dccb93b020 100644
--- a/cpukit/libblock/src/blkdev.c
+++ b/cpukit/libblock/src/blkdev.c
@@ -226,19 +226,23 @@ rtems_blkdev_generic_ioctl(
switch (args->command)
{
case RTEMS_BLKIO_GETMEDIABLKSIZE:
- args->ioctl_return = dd->media_block_size;
+ *((uint32_t *) args->buffer) = dd->media_block_size;
+ args->ioctl_return = 0;
break;
case RTEMS_BLKIO_GETBLKSIZE:
- args->ioctl_return = dd->block_size;
+ *((uint32_t *) args->buffer) = dd->block_size;
+ args->ioctl_return = 0;
break;
case RTEMS_BLKIO_SETBLKSIZE:
- dd->block_size = *((size_t*) args->buffer);
+ dd->block_size = *((uint32_t *) args->buffer);
+ args->ioctl_return = 0;
break;
case RTEMS_BLKIO_GETSIZE:
- args->ioctl_return = dd->size;
+ *((rtems_blkdev_bnum *) args->buffer) = dd->size;
+ args->ioctl_return = 0;
break;
case RTEMS_BLKIO_SYNCDEV: