summaryrefslogtreecommitdiffstats
path: root/vendor/rustix/src/io/seek_from.rs
diff options
context:
space:
mode:
Diffstat (limited to 'vendor/rustix/src/io/seek_from.rs')
-rw-r--r--vendor/rustix/src/io/seek_from.rs18
1 files changed, 18 insertions, 0 deletions
diff --git a/vendor/rustix/src/io/seek_from.rs b/vendor/rustix/src/io/seek_from.rs
index 265369b6b..cca23ed62 100644
--- a/vendor/rustix/src/io/seek_from.rs
+++ b/vendor/rustix/src/io/seek_from.rs
@@ -5,6 +5,8 @@
/// Enumeration of possible methods to seek within an I/O object.
///
/// It is used by the [`Seek`] trait.
+///
+/// [`Seek`]: std::io::Seek
#[derive(Copy, PartialEq, Eq, Clone, Debug)]
#[cfg_attr(staged_api, stable(feature = "rust1", since = "1.0.0"))]
pub enum SeekFrom {
@@ -27,4 +29,20 @@ pub enum SeekFrom {
/// to seek before byte 0.
#[cfg_attr(staged_api, stable(feature = "rust1", since = "1.0.0"))]
Current(#[cfg_attr(staged_api, stable(feature = "rust1", since = "1.0.0"))] i64),
+
+ /// Sets the offset to the current position plus the specified number of bytes,
+ /// plus the distance to the next byte which is not in a hole.
+ ///
+ /// If the offset is in a hole at the end of the file, the seek will produce
+ /// an `NXIO` error.
+ #[cfg(any(freebsdlike, target_os = "linux", target_os = "solaris"))]
+ Data(i64),
+
+ /// Sets the offset to the current position plus the specified number of bytes,
+ /// plus the distance to the next byte which is in a hole.
+ ///
+ /// If there is no hole past the offset, it will be set to the end of the file
+ /// i.e. there is an implicit hole at the end of any file.
+ #[cfg(any(freebsdlike, target_os = "linux", target_os = "solaris"))]
+ Hole(i64),
}