diff options
author | Doug Zongker <dougz@android.com> | 2010-09-15 21:32:22 +0200 |
---|---|---|
committer | Android Git Automerger <android-git-automerger@android.com> | 2010-09-15 21:32:22 +0200 |
commit | 4f69afdb631a2480d466505635cde3a1d61e3610 (patch) | |
tree | 9e6da8749a7451e451e16af95d10f73ce61fa20d /mtdutils | |
parent | am f94a3575: am 61ba7a83: stop treating all-zero blocks as bad (diff) | |
parent | am d12560aa: add the ability to seek to a raw location while reading MTD partition (diff) | |
download | android_bootable_recovery-4f69afdb631a2480d466505635cde3a1d61e3610.tar android_bootable_recovery-4f69afdb631a2480d466505635cde3a1d61e3610.tar.gz android_bootable_recovery-4f69afdb631a2480d466505635cde3a1d61e3610.tar.bz2 android_bootable_recovery-4f69afdb631a2480d466505635cde3a1d61e3610.tar.lz android_bootable_recovery-4f69afdb631a2480d466505635cde3a1d61e3610.tar.xz android_bootable_recovery-4f69afdb631a2480d466505635cde3a1d61e3610.tar.zst android_bootable_recovery-4f69afdb631a2480d466505635cde3a1d61e3610.zip |
Diffstat (limited to 'mtdutils')
-rw-r--r-- | mtdutils/mtdutils.c | 7 | ||||
-rw-r--r-- | mtdutils/mtdutils.h | 1 |
2 files changed, 8 insertions, 0 deletions
diff --git a/mtdutils/mtdutils.c b/mtdutils/mtdutils.c index c913a1945..d16f44ef8 100644 --- a/mtdutils/mtdutils.c +++ b/mtdutils/mtdutils.c @@ -279,6 +279,12 @@ MtdReadContext *mtd_read_partition(const MtdPartition *partition) return ctx; } +// Seeks to a location in the partition. Don't mix with reads of +// anything other than whole blocks; unpredictable things will result. +void mtd_read_skip_to(const MtdReadContext* ctx, size_t offset) { + lseek64(ctx->fd, offset, SEEK_SET); +} + static int read_block(const MtdPartition *partition, int fd, char *data) { struct mtd_ecc_stats before, after; @@ -449,6 +455,7 @@ static int write_block(MtdWriteContext *ctx, const char *data) if (retry > 0) { fprintf(stderr, "mtd: wrote block after %d retries\n", retry); } + fprintf(stderr, "mtd: successfully wrote block at %x\n", pos); return 0; // Success! } diff --git a/mtdutils/mtdutils.h b/mtdutils/mtdutils.h index 528a5bbe8..45d3ebc91 100644 --- a/mtdutils/mtdutils.h +++ b/mtdutils/mtdutils.h @@ -45,6 +45,7 @@ typedef struct MtdWriteContext MtdWriteContext; MtdReadContext *mtd_read_partition(const MtdPartition *); ssize_t mtd_read_data(MtdReadContext *, char *data, size_t data_len); void mtd_read_close(MtdReadContext *); +void mtd_read_skip_to(const MtdReadContext *, size_t offset); MtdWriteContext *mtd_write_partition(const MtdPartition *); ssize_t mtd_write_data(MtdWriteContext *, const char *data, size_t data_len); |