#[derive(Debug, Copy, Clone, Hash, PartialOrd, Ord, PartialEq, Eq)]
#[derive(Deserialize, Serialize)]
#[serde(deny_unknown_fields)]
#[repr(u8)]
pub enum AluOperation
{
Add = BPF_OP(BPF_ADD) as u8,
Subtract = BPF_OP(BPF_SUB) as u8,
Multiply = BPF_OP(BPF_MUL) as u8,
Divide = BPF_OP(BPF_DIV) as u8,
Or = BPF_OP(BPF_OR) as u8,
And = BPF_OP(BPF_AND) as u8,
LeftShift = BPF_OP(BPF_LSH) as u8,
RightShift = BPF_OP(BPF_RSH) as u8,
Negate = BPF_OP(BPF_NEG) as u8,
Modulus = BPF_OP(BPF_MOD) as u8,
ExclusiveOr = BPF_OP(BPF_XOR) as u8,
SignExtendingArithmeticRightShift = BPF_OP(BPF_ARSH as u16) as u8,
}