summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCarl Hetherington <cth@carlh.net>2017-01-12 13:50:46 +0000
committerCarl Hetherington <cth@carlh.net>2017-01-12 13:50:46 +0000
commita0533f767928978d63751054bb0ece691682dc68 (patch)
treef80354b855194e7643e6c3c14d6e6ca34cb61dd1
parent3902d297cd3bbb1c2a0a1fc790454a9a60bc606a (diff)
Support offsets with io_raw too.carl-attic
-rw-r--r--blockdev/windows/io_raw.c4
-rw-r--r--blockdev/windows/io_raw.h4
2 files changed, 6 insertions, 2 deletions
diff --git a/blockdev/windows/io_raw.c b/blockdev/windows/io_raw.c
index 9178243..323699d 100644
--- a/blockdev/windows/io_raw.c
+++ b/blockdev/windows/io_raw.c
@@ -39,6 +39,7 @@
/**@brief Default filename.*/
static const char *fname = "ext2";
+static uint64_t offset = 0;
/**@brief IO block size.*/
#define EXT4_IORAW_BSIZE 512
@@ -93,7 +94,7 @@ static int io_raw_open(struct ext4_blockdev *bdev)
_filedev.bdif->ph_bsize = pdg.BytesPerSector;
_filedev.bdif->ph_bcnt = disk_size / pdg.BytesPerSector;
- _filedev.part_offset = 0;
+ _filedev.part_offset = offset;
_filedev.part_size = disk_size;
return EOK;
@@ -159,6 +160,7 @@ static int io_raw_close(struct ext4_blockdev *bdev)
struct ext4_blockdev *ext4_io_raw_dev_get(void) { return &_filedev; }
/******************************************************************************/
void ext4_io_raw_filename(const char *n) { fname = n; }
+void ext4_io_raw_offset(uint64_t o) { offset = o; }
/******************************************************************************/
#endif
diff --git a/blockdev/windows/io_raw.h b/blockdev/windows/io_raw.h
index 0953873..77b135e 100644
--- a/blockdev/windows/io_raw.h
+++ b/blockdev/windows/io_raw.h
@@ -37,8 +37,10 @@
/**@brief IO raw blockdev get.*/
struct ext4_blockdev *ext4_io_raw_dev_get(void);
-/**@brief Set filrname to open.*/
+/**@brief Set filename to open.*/
void ext4_io_raw_filename(const char *n);
+/**@brief Set offset to work at within device (in bytes) */
+void ext4_io_raw_offset(uint64_t o);
#endif /* IO_RAW_H_ */