1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//! # A Small and Flexible DNS Client
//! The DNS Client has the following features:
//! * Resolves IPv4 and IPv6 addresses.
//! * Supports reverse lookups of IPv4 and IPv6 addresses.
//! * Can lookup a nameserver for a domain.
//!
//! There are multiple features available and one feature must be chosen:
//!
//! | Feature     |  Description |
//! |-------------|-----------------|
//! | sync        | Synchronous API |
//! | std-async   | Async API using async-std |
//! | smol-async  | Async API using smol |
//! | tokio-async | Async API using tokio |

#![forbid(unsafe_code)]
#![forbid(missing_docs)]

mod err;
mod resolve;
mod reverse;
#[cfg(feature = "smol-async")]
mod smol_async;
#[cfg(feature = "std-async")]
mod std_async;
#[cfg(feature = "sync")]
mod sync;
mod tcp;
#[cfg(feature = "tokio-async")]
mod tokio_async;

pub use resolve::DNSClient;
pub use reverse::reverse_ip;