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]
pub 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")?; if let Some(passwd) = pwd { println!("uid is {}", passwd.uid); }
pub 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); }
pub 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); }
pub 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]
fn fmt(&self, __arg_0: &mut Formatter) -> Result
[src]
Formats the value using the given formatter. Read more
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