use endpoint_sec_sys::{es_event_mount_t, statfs};
#[cfg(feature = "macos_15_0_0")]
use endpoint_sec_sys::es_mount_disposition_t;
#[doc(alias = "es_event_mount_t")]
#[cfg_attr(not(feature = "macos_15_0_0"), allow(dead_code))]
pub struct EventMount<'a> {
pub(crate) raw: &'a es_event_mount_t,
pub(crate) version: u32,
}
impl<'a> EventMount<'a> {
#[inline(always)]
pub fn statfs(&self) -> &'a statfs {
unsafe { self.raw.statfs() }
}
#[inline(always)]
#[cfg(feature = "macos_15_0_0")]
pub fn disposition(&self) -> Option<es_mount_disposition_t> {
(self.version >= 8).then_some(self.raw.disposition)
}
}
unsafe impl Send for EventMount<'_> {}
unsafe impl Sync for EventMount<'_> {}
impl_debug_eq_hash_with_functions!(EventMount<'a>; statfs, #[cfg(feature = "macos_15_0_0")] disposition);