Struct pwd::Passwd
[−]
[src]
pub struct Passwd {
pub name: String,
pub passwd: Option<String>,
pub uid: u32,
pub gid: u32,
pub gecos: Option<String>,
pub dir: String,
pub shell: String,
}The main struct for the library, a safe version
of the POSIX struct passwd
There are 2 ways to construct a Passwd instance (other
than assigning fields by hand). You can look up a user account
by username with Passwd::from_name(String), or by uid with
Passwd::from_uid(u32).
There is a shortcut function, Passwd::current_user(), which is just
short for Passwd::from_uid(unsafe { libc::getuid() } as u32).
Fields
name: String
passwd: Option<String>
uid: u32
gid: u32
gecos: Option<String>
dir: String
shell: String
Methods
impl Passwd[src]
fn from_name(name: &str) -> Result<Option<Passwd>>[src]
Looks up the username and returns a Passwd with the user's values, if the user is found
This is Result<Option<>> because the operation to convert a rust String to a cstring could fail
Example
use pwd::Passwd; let pwd = Passwd::from_name("bob").expect("Failed to convert 'bob' to a c-string"); if let Some(passwd) = pwd { println!("uid is {}", passwd.uid); }
fn from_uid(uid: u32) -> Option<Passwd>[src]
Looks up the uid and returns a Passwd with the user's values, if the user is found
Example
use libc::getuid; use pwd::Passwd; let uid = unsafe { getuid() }; let pwd = Passwd::from_uid(uid as u32); if let Some(passwd) = pwd { println!("username is {}", passwd.name); }
fn current_user() -> Option<Passwd>[src]
Shortcut for Passwd::from_uid(libc::getuid() as u32), so see the docs for that constructor
Example
use pwd::Passwd; let pwd = Passwd::current_user(); if let Some(passwd) = pwd { println!("username is {}", passwd.name); }
fn iter() -> PasswdIter[src]
Returns an iterator over all entries in the /etc/passwd file
Example
use pwd::Passwd; let passwds = Passwd::iter(); for passwd in passwds { println!("username is {}", passwd.name); }
Trait Implementations
impl Debug for Passwd[src]
impl Clone for Passwd[src]
fn clone(&self) -> Passwd[src]
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)1.0.0[src]
Performs copy-assignment from source. Read more