40 lines
1 KiB
Rust
40 lines
1 KiB
Rust
|
use serde::{Deserialize, Serialize};
|
||
|
|
||
|
use crate::dns;
|
||
|
|
||
|
|
||
|
#[derive(Deserialize, Serialize, Clone)]
|
||
|
pub enum DNSClass {
|
||
|
IN,
|
||
|
CH,
|
||
|
HS,
|
||
|
NONE,
|
||
|
ANY,
|
||
|
OPT(u16),
|
||
|
}
|
||
|
|
||
|
impl From<dns::DNSClass> for DNSClass {
|
||
|
fn from(dns_class: dns::DNSClass) -> DNSClass {
|
||
|
match dns_class {
|
||
|
dns::DNSClass::IN => DNSClass::IN,
|
||
|
dns::DNSClass::CH => DNSClass::CH,
|
||
|
dns::DNSClass::HS => DNSClass::HS,
|
||
|
dns::DNSClass::NONE => DNSClass::NONE,
|
||
|
dns::DNSClass::ANY => DNSClass::ANY,
|
||
|
dns::DNSClass::OPT(v) => DNSClass::OPT(v),
|
||
|
}
|
||
|
}
|
||
|
}
|
||
|
|
||
|
impl From<DNSClass> for dns::DNSClass {
|
||
|
fn from(dns_class: DNSClass) -> dns::DNSClass {
|
||
|
match dns_class {
|
||
|
DNSClass::IN => dns::DNSClass::IN,
|
||
|
DNSClass::CH => dns::DNSClass::CH,
|
||
|
DNSClass::HS => dns::DNSClass::HS,
|
||
|
DNSClass::NONE => dns::DNSClass::NONE,
|
||
|
DNSClass::ANY => dns::DNSClass::ANY,
|
||
|
DNSClass::OPT(v) => dns::DNSClass::OPT(v),
|
||
|
}
|
||
|
}
|
||
|
}
|