hc
2023-11-22 9ca5fbcb63a8dcaee0527f96afb91dc4b4bd8fa9
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
/* SPDX-License-Identifier: GPL-2.0 */
#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_STORE_PLAIN_TIMEOUT = -1,
   IPSET_ADD_FAILED = 1,
   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 */