sg_size_t size();
/** Sets the file head to the given position. */
- void seek(sg_size_t pos);
+ void seek(sg_offset_t pos);
+ void seek(sg_offset_t pos, int origin);
+
/** Retrieves the current file position */
sg_size_t tell();
*/
msg_error_t MSG_file_seek(msg_file_t fd, sg_offset_t offset, int origin)
{
- fd->seek(offset); // TODO re-add origin
+ fd->seek(offset, origin);
return MSG_OK;
}
return simgrid::simix::kernelImmediate([this] { return pimpl_->size(); });
}
-void File::seek(sg_size_t pos)
+void File::seek(sg_offset_t pos)
{
simgrid::simix::kernelImmediate([this, pos] { pimpl_->seek(pos, SEEK_SET); });
}
+void File::seek(sg_offset_t pos, int origin)
+{
+ simgrid::simix::kernelImmediate([this, pos, origin] { pimpl_->seek(pos, origin); });
+}
+
sg_size_t File::tell()
{
return simgrid::simix::kernelImmediate([this] { return pimpl_->tell(); });
std::string path_;
std::string mount_point_;
sg_size_t size_;
- sg_size_t current_position_ = 0;
+ sg_size_t current_position_ = SEEK_SET;
};
}
}