am bd4bc088: am d12560aa: add the ability to seek to a raw location while reading MTD partition

Merge commit 'bd4bc088e286b87a5d1469598644125ecc0fd547'

* commit 'bd4bc088e286b87a5d1469598644125ecc0fd547':
  add the ability to seek to a raw location while reading MTD partition
This commit is contained in:
Doug Zongker 2010-09-15 12:32:22 -07:00 committed by Android Git Automerger
commit 4f69afdb63
2 changed files with 8 additions and 0 deletions

View file

@ -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!
}

View file

@ -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);