diff options
Diffstat (limited to 'src/expr/immediate.rs')
-rw-r--r-- | src/expr/immediate.rs | 33 |
1 files changed, 11 insertions, 22 deletions
diff --git a/src/expr/immediate.rs b/src/expr/immediate.rs index 925ca06..134f7e1 100644 --- a/src/expr/immediate.rs +++ b/src/expr/immediate.rs @@ -1,27 +1,16 @@ +use rustables_macros::nfnetlink_struct; + use super::{Expression, ExpressionData, Register}; -use crate::{create_wrapper_type, sys}; +use crate::sys::{NFTA_IMMEDIATE_DATA, NFTA_IMMEDIATE_DREG}; -create_wrapper_type!( - inline: Immediate, - [ - ( - get_dreg, - set_dreg, - with_dreg, - sys::NFTA_IMMEDIATE_DREG, - dreg, - Register - ), - ( - get_data, - set_data, - with_data, - sys::NFTA_IMMEDIATE_DATA, - data, - ExpressionData - ) - ] -); +#[derive(Clone, PartialEq, Eq, Default, Debug)] +#[nfnetlink_struct] +pub struct Immediate { + #[field(NFTA_IMMEDIATE_DREG)] + dreg: Register, + #[field(NFTA_IMMEDIATE_DATA)] + data: ExpressionData, +} impl Immediate { pub fn new_data(data: Vec<u8>, register: Register) -> Self { |