diff options
Diffstat (limited to 'src/expr/bitwise.rs')
-rw-r--r-- | src/expr/bitwise.rs | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/expr/bitwise.rs b/src/expr/bitwise.rs index 29d2d63..fb40a04 100644 --- a/src/expr/bitwise.rs +++ b/src/expr/bitwise.rs @@ -1,7 +1,8 @@ use rustables_macros::nfnetlink_struct; -use super::{Expression, ExpressionData, Register}; -use crate::parser::DecodeError; +use super::{Expression, Register}; +use crate::error::BuilderError; +use crate::parser_impls::NfNetlinkData; use crate::sys::{ NFTA_BITWISE_DREG, NFTA_BITWISE_LEN, NFTA_BITWISE_MASK, NFTA_BITWISE_SREG, NFTA_BITWISE_XOR, }; @@ -16,9 +17,9 @@ pub struct Bitwise { #[field(NFTA_BITWISE_LEN)] len: u32, #[field(NFTA_BITWISE_MASK)] - mask: ExpressionData, + mask: NfNetlinkData, #[field(NFTA_BITWISE_XOR)] - xor: ExpressionData, + xor: NfNetlinkData, } impl Expression for Bitwise { @@ -30,17 +31,17 @@ impl Expression for Bitwise { impl Bitwise { /// Returns a new `Bitwise` instance that first masks the value it's applied to with `mask` and /// then performs xor with the value in `xor` - pub fn new(mask: impl Into<Vec<u8>>, xor: impl Into<Vec<u8>>) -> Result<Self, DecodeError> { + pub fn new(mask: impl Into<Vec<u8>>, xor: impl Into<Vec<u8>>) -> Result<Self, BuilderError> { let mask = mask.into(); let xor = xor.into(); if mask.len() != xor.len() { - return Err(DecodeError::IncompatibleLength); + return Err(BuilderError::IncompatibleLength); } Ok(Bitwise::default() .with_sreg(Register::Reg1) .with_dreg(Register::Reg1) .with_len(mask.len() as u32) - .with_xor(ExpressionData::default().with_value(xor)) - .with_mask(ExpressionData::default().with_value(mask))) + .with_xor(NfNetlinkData::default().with_value(xor)) + .with_mask(NfNetlinkData::default().with_value(mask))) } } |