gio/
unix_mount_entry.rs
1use std::mem;
4
5use glib::translate::*;
6
7use crate::{ffi, UnixMountEntry};
8
9impl UnixMountEntry {
10 #[doc(alias = "g_unix_mounts_get")]
11 #[doc(alias = "g_unix_mount_entries_get")]
12 #[doc(alias = "get_mounts")]
13 pub fn mounts() -> (Vec<UnixMountEntry>, u64) {
14 unsafe {
15 let mut time_read = mem::MaybeUninit::uninit();
16 let ret = FromGlibPtrContainer::from_glib_full(ffi::g_unix_mount_entries_get(
17 time_read.as_mut_ptr(),
18 ));
19 let time_read = time_read.assume_init();
20 (ret, time_read)
21 }
22 }
23
24 #[cfg(feature = "v2_82")]
25 #[cfg_attr(docsrs, doc(cfg(feature = "v2_82")))]
26 #[doc(alias = "g_unix_mounts_get")]
27 #[doc(alias = "g_unix_mount_entries_get")]
28 #[doc(alias = "get_mounts")]
29 pub fn mounts_from_file(table_path: impl AsRef<std::path::Path>) -> (Vec<UnixMountEntry>, u64) {
30 unsafe {
31 let mut time_read = mem::MaybeUninit::uninit();
32 let mut n_entries_out = mem::MaybeUninit::uninit();
33 let ret = ffi::g_unix_mount_entries_get_from_file(
34 table_path.as_ref().to_glib_none().0,
35 time_read.as_mut_ptr(),
36 n_entries_out.as_mut_ptr(),
37 );
38 let n_entries_out = n_entries_out.assume_init();
39 let ret = FromGlibContainer::from_glib_full_num(ret, n_entries_out);
40 let time_read = time_read.assume_init();
41 (ret, time_read)
42 }
43 }
44
45 #[doc(alias = "g_unix_mount_get_mount_path")]
46 #[deprecated = "Use `mount_path()`"]
47 pub fn unix_mount_get_mount_path(&self) -> std::path::PathBuf {
48 self.mount_path()
49 }
50
51 #[doc(alias = "g_unix_mounts_changed_since")]
52 #[doc(alias = "g_unix_mount_entries_changed_since")]
53 pub fn is_changed_since(time: u64) -> bool {
54 unsafe { from_glib(ffi::g_unix_mount_entries_changed_since(time)) }
55 }
56}