diff options
author | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-12-07 17:46:40 +0100 |
---|---|---|
committer | Jozsef Kadlecsik <kadlec@blackhole.kfki.hu> | 2010-12-07 17:46:40 +0100 |
commit | 4902415c1e95003068343d69206887be0e202615 (patch) | |
tree | ac65ed5eaf20d79b513e769eed7a4b63a86cd119 /kernel/include/linux/netfilter/ipset/ip_set_bitmap.h | |
parent | b4e9b45a615898bf81aead9f55f87c5a37c5d6df (diff) |
Create include/linux/netfilter/ipset/ directory
Separate the ipset header files from netfilter header files.
Diffstat (limited to 'kernel/include/linux/netfilter/ipset/ip_set_bitmap.h')
-rw-r--r-- | kernel/include/linux/netfilter/ipset/ip_set_bitmap.h | 31 |
1 files changed, 31 insertions, 0 deletions
diff --git a/kernel/include/linux/netfilter/ipset/ip_set_bitmap.h b/kernel/include/linux/netfilter/ipset/ip_set_bitmap.h new file mode 100644 index 0000000..61a9e87 --- /dev/null +++ b/kernel/include/linux/netfilter/ipset/ip_set_bitmap.h @@ -0,0 +1,31 @@ +#ifndef __IP_SET_BITMAP_H +#define __IP_SET_BITMAP_H + +/* Bitmap type specific error codes */ +enum { + /* The element is out of the range of the set */ + IPSET_ERR_BITMAP_RANGE = IPSET_ERR_TYPE_SPECIFIC, + /* The range exceeds the size limit of the set type */ + IPSET_ERR_BITMAP_RANGE_SIZE, +}; + +#ifdef __KERNEL__ +#define IPSET_BITMAP_MAX_RANGE 0x0000FFFF + +/* 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 /* __KERNEL__ */ + +#endif /* __IP_SET_BITMAP_H */ |