blob: c1a06de7c7966405302786deabeca2131fc13d1b (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
|
use super::{DeserializationError, Expression, Rule};
use crate::sys;
use std::os::raw::c_char;
/// Sets the source IP to that of the output interface.
#[derive(Debug, PartialEq)]
pub struct Masquerade;
impl Expression for Masquerade {
fn get_raw_name() -> *const sys::libc::c_char {
b"masq\0" as *const _ as *const c_char
}
fn from_expr(_expr: *const sys::nftnl_expr) -> Result<Self, DeserializationError>
where
Self: Sized,
{
Ok(Masquerade)
}
fn to_expr(&self, _rule: &Rule) -> *mut sys::nftnl_expr {
try_alloc!(unsafe { sys::nftnl_expr_alloc(Self::get_raw_name()) })
}
}
|