aboutsummaryrefslogtreecommitdiff
path: root/src/expr/immediate.rs
diff options
context:
space:
mode:
Diffstat (limited to 'src/expr/immediate.rs')
-rw-r--r--src/expr/immediate.rs33
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 {