use bitflags::bitflags;
pub use fuser::{
AccessFlags,
BsdFileFlags,
FopenFlags,
OpenFlags,
RenameFlags,
IoctlFlags,
WriteFlags,
CopyFileRangeFlags,
};
bitflags! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct FallocateFlags: i32 {
#[cfg(target_os = "linux")]
const KEEP_SIZE = libc::FALLOC_FL_KEEP_SIZE;
#[cfg(target_os = "linux")]
const PUNCH_HOLE = libc::FALLOC_FL_PUNCH_HOLE;
#[cfg(target_os = "linux")]
const COLLAPSE_RANGE = libc::FALLOC_FL_COLLAPSE_RANGE;
#[cfg(target_os = "linux")]
const ZERO_RANGE = libc::FALLOC_FL_ZERO_RANGE;
#[cfg(target_os = "linux")]
const INSERT_RANGE = libc::FALLOC_FL_INSERT_RANGE;
#[cfg(target_os = "linux")]
const UNSHARE_RANGE = libc::FALLOC_FL_UNSHARE_RANGE;
const _ = !0;
}
}
bitflags! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct AttrFlags: u32 {
const SUBMOUNT = 1 << 0;
const DAX = 1 << 1;
const _ = !0;
}
}
bitflags! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct GetAttrFlags: i32 {
const GETATTR_FH = 1 << 0;
const _ = !0;
}
}
bitflags! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct ReadFlags: i32 {
const LOCKOWNER = 1 << 0;
const _ = !0;
}
}
bitflags! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct ReleaseFlags: i32 {
const FLUSH = 1 << 0;
const FLOCK_UNLOCK = 1 << 1;
const _ = !0;
}
}
bitflags! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct FsyncFlags: u32 {
const FDATASYNC = 1 << 0;
const _ = !0;
}
}
bitflags! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct SetXAttrFlags: i32 {
const ACL_KILL_SGID = 1 << 0;
const _ = !0;
}
}
bitflags! {
#[derive(Debug, Copy, Clone, PartialEq, Eq, Hash)]
pub struct LockType: i32 {
const UNLOCKED = libc::F_UNLCK as i32;
const READ_LOCK = libc::F_RDLCK as i32;
const WRITE_LOCK = libc::F_WRLCK as i32;
const _ = !0;
}
}