1#![no_std]
2
3pub const MAX_DNS_NAME_LENGTH: usize = 256;
4
5#[repr(C)]
6#[derive(Copy, Clone)]
7pub struct DnsHdr {
8 pub id: u16,
9 pub flags: u16,
10 pub question_count: u16,
11 pub answer_count: u16,
12 pub authority_count: u16,
13 pub additional_count: u16,
14}
15
16#[repr(C)]
17#[derive(Clone, Copy)]
18pub struct DnsQuery {
19 pub record_type: u16,
20 pub class: u16,
21 pub name: [u8; MAX_DNS_NAME_LENGTH],
22}
23
24#[cfg(feature = "user")]
25unsafe impl aya::Pod for DnsQuery {}
26
27#[repr(C)]
28#[derive(Clone, Copy)]
29pub struct DnsRecordA {
30 pub ip: u32,
31 pub ttl: u32,
32}
33
34#[cfg(feature = "user")]
35unsafe impl aya::Pod for DnsRecordA {}
36
37#[repr(C)]
38#[derive(Copy, Clone)]
39pub struct NatKey {
40 pub src_addr: u32,
41 pub dst_addr: u32,
42 pub src_port: u16,
43 pub dst_port: u16,
44}
45
46#[cfg(feature = "user")]
47unsafe impl aya::Pod for NatKey {}
48
49#[repr(C)]
50#[derive(Copy, Clone)]
51pub struct NatOrigin {
52 pub addr: u32,
53 pub dummy: u16,
54 pub port: u16,
55}
56
57#[cfg(feature = "user")]
58unsafe impl aya::Pod for NatOrigin {}