Commit | Line | Data |
---|---|---|
96518518 PM |
1 | #ifndef _NET_NF_TABLES_CORE_H |
2 | #define _NET_NF_TABLES_CORE_H | |
3 | ||
5eccdfaa JP |
4 | int nf_tables_core_module_init(void); |
5 | void nf_tables_core_module_exit(void); | |
96518518 | 6 | |
5eccdfaa JP |
7 | int nft_immediate_module_init(void); |
8 | void nft_immediate_module_exit(void); | |
96518518 | 9 | |
cb7dbfd0 PM |
10 | struct nft_cmp_fast_expr { |
11 | u32 data; | |
12 | enum nft_registers sreg:8; | |
13 | u8 len; | |
14 | }; | |
15 | ||
b855d416 PM |
16 | /* Calculate the mask for the nft_cmp_fast expression. On big endian the |
17 | * mask needs to include the *upper* bytes when interpreting that data as | |
18 | * something smaller than the full u32, therefore a cpu_to_le32 is done. | |
19 | */ | |
20 | static inline u32 nft_cmp_fast_mask(unsigned int len) | |
21 | { | |
22 | return cpu_to_le32(~0U >> (FIELD_SIZEOF(struct nft_cmp_fast_expr, | |
23 | data) * BITS_PER_BYTE - len)); | |
24 | } | |
25 | ||
cb7dbfd0 PM |
26 | extern const struct nft_expr_ops nft_cmp_fast_ops; |
27 | ||
5eccdfaa JP |
28 | int nft_cmp_module_init(void); |
29 | void nft_cmp_module_exit(void); | |
96518518 | 30 | |
5eccdfaa JP |
31 | int nft_lookup_module_init(void); |
32 | void nft_lookup_module_exit(void); | |
96518518 | 33 | |
5eccdfaa JP |
34 | int nft_bitwise_module_init(void); |
35 | void nft_bitwise_module_exit(void); | |
96518518 | 36 | |
5eccdfaa JP |
37 | int nft_byteorder_module_init(void); |
38 | void nft_byteorder_module_exit(void); | |
96518518 | 39 | |
c29b72e0 PM |
40 | struct nft_payload { |
41 | enum nft_payload_bases base:8; | |
42 | u8 offset; | |
43 | u8 len; | |
44 | enum nft_registers dreg:8; | |
45 | }; | |
46 | ||
47 | extern const struct nft_expr_ops nft_payload_fast_ops; | |
48 | ||
5eccdfaa JP |
49 | int nft_payload_module_init(void); |
50 | void nft_payload_module_exit(void); | |
96518518 PM |
51 | |
52 | #endif /* _NET_NF_TABLES_CORE_H */ |