summaryrefslogtreecommitdiffstats
path: root/vendor/rustix/src/fs/fadvise.rs
blob: 5bc3a588a07b378292f6be9f47a8ace387f82110 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
use crate::{backend, io};
use backend::fd::AsFd;

pub use backend::fs::types::Advice;

/// `posix_fadvise(fd, offset, len, advice)`—Declares an expected access
/// pattern for a file.
///
/// # References
///  - [POSIX]
///  - [Linux]
///
/// [POSIX]: https://pubs.opengroup.org/onlinepubs/9699919799/functions/posix_fadvise.html
/// [Linux]: https://man7.org/linux/man-pages/man2/posix_fadvise.2.html
#[inline]
#[doc(alias = "posix_fadvise")]
pub fn fadvise<Fd: AsFd>(fd: Fd, offset: u64, len: u64, advice: Advice) -> io::Result<()> {
    backend::fs::syscalls::fadvise(fd.as_fd(), offset, len, advice)
}