static void test_block_io_control_api(dev_t dev, ramdisk *rd) { rtems_status_code sc = RTEMS_SUCCESSFUL; rtems_disk_device *dd = NULL; const rtems_disk_device *fd_dd = NULL; int fd = -1; int rv = -1; uint32_t value = 0; rtems_blkdev_bnum block_count = 0; sc = rtems_disk_create_phys(dev, BLOCK_SIZE, BLOCK_COUNT, ramdisk_ioctl, rd, "/dev/rda"); ASSERT_SC(sc); dd = rtems_disk_obtain(dev); rtems_test_assert(dd != NULL); fd = open("/dev/rda", O_RDWR); rtems_test_assert(fd >= 0); value = 0; rv = rtems_disk_fd_get_media_block_size(fd, &value); rtems_test_assert(rv == 0); rtems_test_assert(value == BLOCK_SIZE); value = 0; rv = rtems_disk_fd_get_block_size(fd, &value); rtems_test_assert(rv == 0); rtems_test_assert(value == BLOCK_SIZE); value = 1024; rv = rtems_disk_fd_set_block_size(fd, value); rtems_test_assert(rv == 0); value = 0; rv = rtems_disk_fd_get_block_size(fd, &value); rtems_test_assert(rv == 0); rtems_test_assert(value == 1024); block_count = 0; rv = rtems_disk_fd_get_block_count(fd, &block_count); rtems_test_assert(rv == 0); rtems_test_assert(block_count == BLOCK_COUNT); rv = rtems_disk_fd_get_disk_device(fd, &fd_dd); rtems_test_assert(rv == 0); rtems_test_assert(fd_dd == dd); rv = rtems_disk_fd_sync(fd); rtems_test_assert(rv == 0); rv = close(fd); rtems_test_assert(rv == 0); sc = rtems_disk_release(dd); ASSERT_SC(sc); sc = rtems_disk_delete(dev); ASSERT_SC(sc); }
/* * Black box test the disk parameters of a sparse disk */ static void test_disk_params( const int file_descriptor, const uint32_t block_size, const uint32_t media_block_size, const rtems_blkdev_bnum block_number ) { int rv; uint32_t value = 0; rtems_disk_device *fd_dd = NULL; rtems_blkdev_bnum block_count = 0; rv = rtems_disk_fd_get_media_block_size( file_descriptor, &value ); rtems_test_assert( 0 == rv ); rtems_test_assert( media_block_size == value ); value = 0; rv = rtems_disk_fd_get_block_size( file_descriptor, &value ); rtems_test_assert( 0 == rv ); rtems_test_assert( block_size == value ); block_count = 0; rv = rtems_disk_fd_get_block_count( file_descriptor, &block_count ); rtems_test_assert( 0 == rv ); rtems_test_assert( block_number == block_count ); rv = rtems_disk_fd_get_disk_device( file_descriptor, &fd_dd ); rtems_test_assert( 0 == rv ); rtems_test_assert( NULL != fd_dd ); }