Commit | Line | Data |
---|---|---|
b2441318 | 1 | /* SPDX-License-Identifier: GPL-2.0 */ |
72205fc6 JK |
2 | #ifndef __IP_SET_BITMAP_H |
3 | #define __IP_SET_BITMAP_H | |
4 | ||
a8201414 | 5 | #include <uapi/linux/netfilter/ipset/ip_set_bitmap.h> |
72205fc6 | 6 | |
72205fc6 JK |
7 | #define IPSET_BITMAP_MAX_RANGE 0x0000FFFF |
8 | ||
4d73de38 | 9 | enum { |
702b71e7 | 10 | IPSET_ADD_STORE_PLAIN_TIMEOUT = -1, |
4d73de38 | 11 | IPSET_ADD_FAILED = 1, |
4d73de38 JK |
12 | IPSET_ADD_START_STORED_TIMEOUT, |
13 | }; | |
14 | ||
72205fc6 JK |
15 | /* Common functions */ |
16 | ||
17 | static inline u32 | |
18 | range_to_mask(u32 from, u32 to, u8 *bits) | |
19 | { | |
20 | u32 mask = 0xFFFFFFFE; | |
21 | ||
22 | *bits = 32; | |
23 | while (--(*bits) > 0 && mask && (to & mask) != from) | |
24 | mask <<= 1; | |
25 | ||
26 | return mask; | |
27 | } | |
28 | ||
72205fc6 | 29 | #endif /* __IP_SET_BITMAP_H */ |