mirror of
git://git.code.sf.net/p/xtables-addons/xtables-addons
synced 2025-09-19 02:54:56 +02:00

This requires Linux 2.6.35 or newer to build, so it is deactivated by default in the "mconfig" file.
32 lines
617 B
C
32 lines
617 B
C
#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 */
|