pub struct HostEnt { /* private fields */ }
Expand description
The result of a host lookup.
Note. This implementation is highly temporary. While will probably keep the semantics, the actual types may change.
Implementations§
Source§impl HostEnt
impl HostEnt
Sourcepub fn name(&self) -> &str
pub fn name(&self) -> &str
The canoncial name of the host.
Examples found in repository?
examples/hostbyname.rs (line 19)
6fn main() {
7 let mut args = env::args();
8 let cmd = args.next().unwrap();
9 let name = match args.next() {
10 None => {
11 println!("Usage: {} <hostname>", cmd);
12 return;
13 }
14 Some(name) => name
15 };
16
17 match get_host_by_name(&name) {
18 Ok(Some(ent)) => {
19 println!("{}", ent.name());
20 if !ent.aliases().is_empty() {
21 println!(" Aliases:");
22 for name in ent.aliases() {
23 println!(" {}", name);
24 }
25 }
26 println!(" Addresses:");
27 for addr in ent.addrs() {
28 println!(" {}", addr);
29 }
30 }
31 Ok(None) => println!("Not found."),
32 Err(err) => println!("Error: {:?}", err),
33 }
34}
More examples
examples/hostbyaddr.rs (line 30)
8fn main() {
9 let mut args = env::args();
10 let cmd = args.next().unwrap();
11 let addr = match args.next() {
12 None => {
13 println!("Usage: {} <addr>", cmd);
14 return;
15 }
16 Some(addr) => addr
17 };
18
19 let addr = match IpAddr::from_str(&addr) {
20 Ok(addr) => addr,
21 Err(err) => {
22 println!("Not an address: {:?}", err);
23 return;
24 }
25 };
26
27 match get_host_by_addr(addr) {
28 Ok(Some(ent)) => {
29 println!("{}", addr);
30 println!(" {}", ent.name());
31 if !ent.aliases().is_empty() {
32 println!(" Aliases:");
33 for name in ent.aliases() {
34 println!(" {}", name);
35 }
36 }
37 println!(" Addresses:");
38 for addr in ent.addrs() {
39 println!(" {}", addr);
40 }
41 }
42 Ok(None) => println!("Not found."),
43 Err(err) => println!("Error: {:?}", err),
44 }
45}
Sourcepub fn aliases(&self) -> &[String]
pub fn aliases(&self) -> &[String]
The aliases of the host.
Note. Best to assume this is a slice of
str
.
Examples found in repository?
examples/hostbyname.rs (line 20)
6fn main() {
7 let mut args = env::args();
8 let cmd = args.next().unwrap();
9 let name = match args.next() {
10 None => {
11 println!("Usage: {} <hostname>", cmd);
12 return;
13 }
14 Some(name) => name
15 };
16
17 match get_host_by_name(&name) {
18 Ok(Some(ent)) => {
19 println!("{}", ent.name());
20 if !ent.aliases().is_empty() {
21 println!(" Aliases:");
22 for name in ent.aliases() {
23 println!(" {}", name);
24 }
25 }
26 println!(" Addresses:");
27 for addr in ent.addrs() {
28 println!(" {}", addr);
29 }
30 }
31 Ok(None) => println!("Not found."),
32 Err(err) => println!("Error: {:?}", err),
33 }
34}
More examples
examples/hostbyaddr.rs (line 31)
8fn main() {
9 let mut args = env::args();
10 let cmd = args.next().unwrap();
11 let addr = match args.next() {
12 None => {
13 println!("Usage: {} <addr>", cmd);
14 return;
15 }
16 Some(addr) => addr
17 };
18
19 let addr = match IpAddr::from_str(&addr) {
20 Ok(addr) => addr,
21 Err(err) => {
22 println!("Not an address: {:?}", err);
23 return;
24 }
25 };
26
27 match get_host_by_addr(addr) {
28 Ok(Some(ent)) => {
29 println!("{}", addr);
30 println!(" {}", ent.name());
31 if !ent.aliases().is_empty() {
32 println!(" Aliases:");
33 for name in ent.aliases() {
34 println!(" {}", name);
35 }
36 }
37 println!(" Addresses:");
38 for addr in ent.addrs() {
39 println!(" {}", addr);
40 }
41 }
42 Ok(None) => println!("Not found."),
43 Err(err) => println!("Error: {:?}", err),
44 }
45}
Sourcepub fn addrs(&self) -> &[IpAddr]
pub fn addrs(&self) -> &[IpAddr]
The addresses of the host.
Examples found in repository?
examples/hostbyname.rs (line 27)
6fn main() {
7 let mut args = env::args();
8 let cmd = args.next().unwrap();
9 let name = match args.next() {
10 None => {
11 println!("Usage: {} <hostname>", cmd);
12 return;
13 }
14 Some(name) => name
15 };
16
17 match get_host_by_name(&name) {
18 Ok(Some(ent)) => {
19 println!("{}", ent.name());
20 if !ent.aliases().is_empty() {
21 println!(" Aliases:");
22 for name in ent.aliases() {
23 println!(" {}", name);
24 }
25 }
26 println!(" Addresses:");
27 for addr in ent.addrs() {
28 println!(" {}", addr);
29 }
30 }
31 Ok(None) => println!("Not found."),
32 Err(err) => println!("Error: {:?}", err),
33 }
34}
More examples
examples/hostbyaddr.rs (line 38)
8fn main() {
9 let mut args = env::args();
10 let cmd = args.next().unwrap();
11 let addr = match args.next() {
12 None => {
13 println!("Usage: {} <addr>", cmd);
14 return;
15 }
16 Some(addr) => addr
17 };
18
19 let addr = match IpAddr::from_str(&addr) {
20 Ok(addr) => addr,
21 Err(err) => {
22 println!("Not an address: {:?}", err);
23 return;
24 }
25 };
26
27 match get_host_by_addr(addr) {
28 Ok(Some(ent)) => {
29 println!("{}", addr);
30 println!(" {}", ent.name());
31 if !ent.aliases().is_empty() {
32 println!(" Aliases:");
33 for name in ent.aliases() {
34 println!(" {}", name);
35 }
36 }
37 println!(" Addresses:");
38 for addr in ent.addrs() {
39 println!(" {}", addr);
40 }
41 }
42 Ok(None) => println!("Not found."),
43 Err(err) => println!("Error: {:?}", err),
44 }
45}
Auto Trait Implementations§
impl Freeze for HostEnt
impl RefUnwindSafe for HostEnt
impl Send for HostEnt
impl Sync for HostEnt
impl Unpin for HostEnt
impl UnwindSafe for HostEnt
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more