diff options
author | Pali Rohár <pali.rohar@gmail.com> | 2014-11-21 15:03:18 +0100 |
---|---|---|
committer | Pali Rohár <pali.rohar@gmail.com> | 2014-11-21 15:03:18 +0100 |
commit | e66015b8806321835f15434bf9025ca2b1b03a53 (patch) | |
tree | 7a7ee4cc99b293f952eba35aafc26bb8485f4bb4 /src/disk.c | |
parent | e30e08136a7ce083bbaff194be77bbe380d7c9f3 (diff) | |
download | 0xFFFF-e66015b8806321835f15434bf9025ca2b1b03a53.tar.bz2 |
disk: Remove old disk functions (they are not used anymore)
Diffstat (limited to 'src/disk.c')
-rw-r--r-- | src/disk.c | 108 |
1 files changed, 0 insertions, 108 deletions
@@ -234,15 +234,6 @@ enum device disk_get_device(struct usb_device_info * dev) { } -int disk_flash_raw(const char * blkdev, const char * file) { - - ERROR("Not implemented yet"); - (void)blkdev; - (void)file; - return -1; - -} - int disk_flash_image(struct usb_device_info * dev, struct image * image) { ERROR("Not implemented yet"); @@ -252,105 +243,6 @@ int disk_flash_image(struct usb_device_info * dev, struct image * image) { } -int disk_dump_raw(const char * blkdev, const char * file) { - - int fd1, fd2; - int ret; - char * path; - uint64_t blksize; - size_t need, readed; - ssize_t size; - struct stat st; - struct statvfs buf; - - printf("Dump block device %s to file %s...\n", blkdev, file); - - if ( stat(blkdev, &st) != 0 ) { - ERROR_INFO("Cannot stat block device %s", blkdev); - return -1; - } - - if ( ! S_ISBLK(st.st_mode) ) { - ERROR("Invalid block device %s", blkdev); - return -1; - } - - fd1 = open(blkdev, O_RDONLY); - - if ( fd1 < 0 ) { - ERROR_INFO("Cannot open block device %s", blkdev); - return -1; - } - - if ( ioctl(fd1, BLKGETSIZE64, &blksize) != 0 ) { - ERROR_INFO("Cannot get size of block device %s", blkdev); - close(fd1); - return -1; - } - - if ( blksize > ULLONG_MAX ) { - ERROR("Block device %s is too big", blkdev); - close(fd1); - return -1; - } - - if ( blksize == 0 ) { - ERROR("Block device %s has zero size", blkdev); - close(fd1); - return -1; - } - - path = strdup(file); - if ( ! path ) { - ALLOC_ERROR(); - close(fd1); - return -1; - } - - ret = statvfs(dirname(path), &buf); - - free(path); - - if ( ret == 0 && buf.f_bsize * buf.f_bfree < blksize ) { - ERROR("Not enough free space (have: %llu, need: %llu)", (unsigned long long int)(buf.f_bsize) * buf.f_bfree, (unsigned long long int)blksize); - close(fd1); - return -1; - } - - fd2 = creat(file, S_IRUSR | S_IWUSR | S_IRGRP | S_IROTH); - - if ( fd2 < 0 ) { - ERROR_INFO("Cannot create file %s", file); - close(fd1); - return -1; - } - - readed = 0; - printf_progressbar(0, blksize); - - while ( readed < blksize ) { - need = blksize - readed; - if ( need > sizeof(global_buf) ) - need = sizeof(global_buf); - size = read(fd1, global_buf, need); - if ( size == 0 ) - break; - if ( write(fd2, global_buf, size) != size ) { - PRINTF_ERROR("Dumping image failed"); - close(fd1); - close(fd2); - return -1; - } - readed += size; - printf_progressbar(readed, blksize); - } - - close(fd1); - close(fd2); - return 0; - -} - int disk_dump_image(struct usb_device_info * dev, enum image_type image, const char * file) { ERROR("Not implemented yet"); |