c_ares/
types.rs

1/// The platform-specific file descriptor / socket type.  That is, either a `RawFd` or a
2/// `RawSocket`.
3pub type Socket = c_ares_sys::ares_socket_t;
4
5/// An invalid socket / file descriptor.  Use this to represent 'no action' when calling
6/// `process_fd()` on a channel.
7pub const SOCKET_BAD: Socket = c_ares_sys::ARES_SOCKET_BAD;
8
9/// Address families.
10#[derive(Copy, Clone, Eq, PartialEq, Debug, Hash, PartialOrd, Ord)]
11pub enum AddressFamily {
12    /// IPv4.
13    INET = c_types::AF_INET as isize,
14
15    /// IPv6.
16    INET6 = c_types::AF_INET6 as isize,
17
18    /// Unspecified.
19    UNSPEC = c_types::AF_UNSPEC as isize,
20}
21
22// See arpa/nameser.h
23#[derive(Copy, Clone, Eq, PartialEq, Debug, Hash, PartialOrd, Ord)]
24#[allow(clippy::upper_case_acronyms)]
25pub enum QueryType {
26    A = 1,
27    NS = 2,
28    CNAME = 5,
29    SOA = 6,
30    PTR = 12,
31    MX = 15,
32    TXT = 16,
33    AAAA = 28,
34    SRV = 33,
35    NAPTR = 35,
36    URI = 256,
37    CAA = 257,
38}
39
40// See arpa/nameser.h
41#[derive(Copy, Clone, Eq, PartialEq, Debug, Hash, PartialOrd, Ord)]
42pub enum DnsClass {
43    IN = 1,
44}
45
46pub const MAX_ADDRTTLS: usize = 32;