use {QueryType, QueryClass, Name, Class, Header, RRData};
#[derive(Debug)]
#[allow(missing_docs)] pub struct Packet<'a> {
pub header: Header,
pub questions: Vec<Question<'a>>,
pub answers: Vec<ResourceRecord<'a>>,
pub nameservers: Vec<ResourceRecord<'a>>,
pub additional: Vec<ResourceRecord<'a>>,
pub opt: Option<OptRecord<'a>>,
}
#[derive(Debug)]
#[allow(missing_docs)] pub struct Question<'a> {
pub qname: Name<'a>,
pub prefer_unicast: bool,
pub qtype: QueryType,
pub qclass: QueryClass,
}
#[derive(Debug)]
#[allow(missing_docs)] pub struct ResourceRecord<'a> {
pub name: Name<'a>,
pub multicast_unique: bool,
pub cls: Class,
pub ttl: u32,
pub data: RRData<'a>,
}
#[derive(Debug)]
#[allow(missing_docs)] pub struct OptRecord<'a> {
pub udp: u16,
pub extrcode: u8,
pub version: u8,
pub flags: u16,
pub data: RRData<'a>,
}
#[derive(Debug)]
#[allow(missing_docs)] pub struct SoaRecord<'a> {
pub primary_ns: Name<'a>,
pub mailbox: Name<'a>,
pub serial: u32,
pub refresh: u32,
pub retry: u32,
pub expire: u32,
pub minimum_ttl: u32,
}