aboutsummaryrefslogtreecommitdiff
path: root/src/expr/meta.rs
diff options
context:
space:
mode:
authorSimon THOBY <git@nightmared.fr>2022-12-03 22:47:53 +0100
committerSimon THOBY <git@nightmared.fr>2022-12-03 22:50:09 +0100
commit4b60b3cd41f5198c47a260ce69abf4c15b60ca92 (patch)
treeef3b7df96306820fc35db909762ac3c4227de87f /src/expr/meta.rs
parent3b11070076f0509f9423d6c4f582f6cf636df65a (diff)
convert the expressions to the new macros
Diffstat (limited to 'src/expr/meta.rs')
-rw-r--r--src/expr/meta.rs45
1 files changed, 13 insertions, 32 deletions
diff --git a/src/expr/meta.rs b/src/expr/meta.rs
index bb8023d..c4c1adb 100644
--- a/src/expr/meta.rs
+++ b/src/expr/meta.rs
@@ -1,11 +1,11 @@
-use super::{Expression, Register, Rule};
+use rustables_macros::nfnetlink_struct;
+
+use super::{Expression, Register};
use crate::{
- create_wrapper_type,
nlmsg::{NfNetlinkAttribute, NfNetlinkDeserializable},
parser::DecodeError,
sys,
};
-use std::convert::TryFrom;
/// A meta expression refers to meta data associated with a packet.
#[derive(Debug, Copy, Clone, Eq, PartialEq)]
@@ -78,35 +78,16 @@ impl NfNetlinkDeserializable for MetaType {
}
}
-create_wrapper_type!(
- inline: Meta,
- [
- (
- get_dreg,
- set_dreg,
- with_dreg,
- sys::NFTA_META_DREG,
- dreg,
- Register
- ),
- (
- get_key,
- set_key,
- with_key,
- sys::NFTA_META_KEY,
- key,
- MetaType
- ),
- (
- get_sreg,
- set_sreg,
- with_sreg,
- sys::NFTA_META_SREG,
- sreg,
- Register
- )
- ]
-);
+#[derive(Clone, PartialEq, Eq, Default, Debug)]
+#[nfnetlink_struct]
+pub struct Meta {
+ #[field(sys::NFTA_META_DREG)]
+ dreg: Register,
+ #[field(sys::NFTA_META_KEY)]
+ key: MetaType,
+ #[field(sys::NFTA_META_SREG)]
+ sreg: Register,
+}
impl Expression for Meta {
fn get_name() -> &'static str {