Provide nlink metadata for plugins

This commit is contained in:
Lauri Niskanen 2024-07-09 01:35:37 +03:00
parent 9d0ef9a5dc
commit 6b17c9e278
No known key found for this signature in database
GPG key ID: 807DCEAC3AEB1848
2 changed files with 10 additions and 0 deletions

View file

@ -27,6 +27,7 @@ impl Cha {
{ {
reg.add_field_method_get("uid", |_, me| Ok(me.uid)); reg.add_field_method_get("uid", |_, me| Ok(me.uid));
reg.add_field_method_get("gid", |_, me| Ok(me.gid)); reg.add_field_method_get("gid", |_, me| Ok(me.gid));
reg.add_field_method_get("nlink", |_, me| Ok(me.nlink));
} }
reg.add_field_method_get("length", |_, me| Ok(me.len)); reg.add_field_method_get("length", |_, me| Ok(me.len));
@ -80,6 +81,8 @@ impl Cha {
uid: t.raw_get("uid").unwrap_or_default(), uid: t.raw_get("uid").unwrap_or_default(),
#[cfg(unix)] #[cfg(unix)]
gid: t.raw_get("gid").unwrap_or_default(), gid: t.raw_get("gid").unwrap_or_default(),
#[cfg(unix)]
nlink: t.raw_get("nlink").unwrap_or_default(),
}) })
})?, })?,
) )

View file

@ -31,6 +31,8 @@ pub struct Cha {
pub uid: u32, pub uid: u32,
#[cfg(unix)] #[cfg(unix)]
pub gid: u32, pub gid: u32,
#[cfg(unix)]
pub nlink: u64,
} }
impl From<Metadata> for Cha { impl From<Metadata> for Cha {
@ -79,6 +81,11 @@ impl From<Metadata> for Cha {
use std::os::unix::fs::MetadataExt; use std::os::unix::fs::MetadataExt;
m.gid() m.gid()
}, },
#[cfg(unix)]
nlink: {
use std::os::unix::fs::MetadataExt;
m.nlink()
},
} }
} }
} }