dns_parser/
lib.rs

1#![recursion_limit="100"]
2//! The network-agnostic DNS parser library
3//!
4//! [Documentation](https://docs.rs/dns-parser) |
5//! [Github](https://github.com/tailhook/dns-parser) |
6//! [Crate](https://crates.io/crates/dns-parser)
7//!
8//! Use [`Builder`] to create a new outgoing packet.
9//!
10//! Use [`Packet::parse`] to parse a packet into a data structure.
11//!
12//! [`Builder`]: struct.Builder.html
13//! [`Packet::parse`]: struct.Packet.html#method.parse
14//!
15#![warn(missing_docs)]
16#![warn(missing_debug_implementations)]
17
18extern crate byteorder;
19#[cfg(test)] #[macro_use] extern crate matches;
20#[macro_use(quick_error)] extern crate quick_error;
21#[cfg(feature = "with-serde")] #[macro_use] extern crate serde_derive;
22
23mod enums;
24mod structs;
25mod name;
26mod parser;
27mod error;
28mod header;
29mod builder;
30
31pub mod rdata;
32
33pub use enums::{Type, QueryType, Class, QueryClass, ResponseCode, Opcode};
34pub use structs::{Question, ResourceRecord, Packet};
35pub use name::{Name};
36pub use error::{Error};
37pub use header::{Header};
38pub use rdata::{RData};
39pub use builder::{Builder};