Warning: This file is not a C or C++ file. It does not have highlighting.

1/* SPDX-License-Identifier: GPL-2.0 WITH Linux-syscall-note */
2#ifndef _XT_U32_H
3#define _XT_U32_H 1
4
5#include <linux/types.h>
6
7enum xt_u32_ops {
8 XT_U32_AND,
9 XT_U32_LEFTSH,
10 XT_U32_RIGHTSH,
11 XT_U32_AT,
12};
13
14struct xt_u32_location_element {
15 __u32 number;
16 __u8 nextop;
17};
18
19struct xt_u32_value_element {
20 __u32 min;
21 __u32 max;
22};
23
24/*
25 * Any way to allow for an arbitrary number of elements?
26 * For now, I settle with a limit of 10 each.
27 */
28#define XT_U32_MAXSIZE 10
29
30struct xt_u32_test {
31 struct xt_u32_location_element location[XT_U32_MAXSIZE+1];
32 struct xt_u32_value_element value[XT_U32_MAXSIZE+1];
33 __u8 nnums;
34 __u8 nvalues;
35};
36
37struct xt_u32 {
38 struct xt_u32_test tests[XT_U32_MAXSIZE+1];
39 __u8 ntests;
40 __u8 invert;
41};
42
43#endif /* _XT_U32_H */
44

Warning: This file is not a C or C++ file. It does not have highlighting.

source code of linux/include/uapi/linux/netfilter/xt_u32.h