pmz_common/
lib.rs

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 {}