diff options
Diffstat (limited to 'include/linux/netfilter/ipset/ip_set_bitmap.h')
-rw-r--r-- | include/linux/netfilter/ipset/ip_set_bitmap.h | 28 |
1 files changed, 28 insertions, 0 deletions
diff --git a/include/linux/netfilter/ipset/ip_set_bitmap.h b/include/linux/netfilter/ipset/ip_set_bitmap.h new file mode 100644 index 000000000..5e4662a71 --- /dev/null +++ b/include/linux/netfilter/ipset/ip_set_bitmap.h @@ -0,0 +1,28 @@ +#ifndef __IP_SET_BITMAP_H +#define __IP_SET_BITMAP_H + +#include <uapi/linux/netfilter/ipset/ip_set_bitmap.h> + +#define IPSET_BITMAP_MAX_RANGE 0x0000FFFF + +enum { + IPSET_ADD_FAILED = 1, + IPSET_ADD_STORE_PLAIN_TIMEOUT, + IPSET_ADD_START_STORED_TIMEOUT, +}; + +/* Common functions */ + +static inline u32 +range_to_mask(u32 from, u32 to, u8 *bits) +{ + u32 mask = 0xFFFFFFFE; + + *bits = 32; + while (--(*bits) > 0 && mask && (to & mask) != from) + mask <<= 1; + + return mask; +} + +#endif /* __IP_SET_BITMAP_H */ |