int exfat_open(const char* spec, int ro);
int exfat_close(int fd);
int exfat_fsync(int fd);
+off_t exfat_seek(int fd, off_t offset, int whence);
ssize_t exfat_read(int fd, void* buffer, size_t size);
ssize_t exfat_write(int fd, const void* buffer, size_t size);
void exfat_pread(int fd, void* buffer, size_t size, off_t offset);
return 0;
}
+off_t exfat_seek(int fd, off_t offset, int whence)
+{
+ return lseek(fd, offset, whence);
+}
+
ssize_t exfat_read(int fd, void* buffer, size_t size)
{
return read(fd, buffer, size);
erase_blocks = DIV_ROUND_UP(erase_size, block_size);
- if (lseek(fd, 0, SEEK_SET) == (off_t) -1)
+ if (exfat_seek(fd, 0, SEEK_SET) == (off_t) -1)
{
exfat_error("seek failed");
return 1;
off_t alignment = structure->get_alignment();
off_t base = ROUND_UP(current, alignment);
- if (lseek(fd, base, SEEK_SET) == (off_t) -1)
+ if (exfat_seek(fd, base, SEEK_SET) == (off_t) -1)
{
exfat_error("seek to %"PRIu64" failed", base);
return -1;
if (fd < 0)
return 1;
- volume_size = lseek(fd, 0, SEEK_END);
+ volume_size = exfat_seek(fd, 0, SEEK_END);
if (volume_size == (off_t) -1)
{
exfat_close(fd);