summaryrefslogtreecommitdiffstats
path: root/kernel/include/linux
diff options
context:
space:
mode:
authorJozsef Kadlecsik <kadlec@blackhole.kfki.hu>2011-01-20 11:34:00 +0100
committerJozsef Kadlecsik <kadlec@blackhole.kfki.hu>2011-01-20 11:34:00 +0100
commite0d7b66f0a3eb9528eebb59b83ce14e8f2025b1d (patch)
treeee5823bbd3fcc46526e547ad40927022e6dd228a /kernel/include/linux
parentcbeaceead3416d4522ef1e97977469e0633f1eea (diff)
NETMASK*, HOSTMASK* macros are too generic
NETMASK*, HOSTMASK* macros are rewritten to small inline functions ip_set_netmask* and ip_set_hostmask* (Patrick McHardy's review)
Diffstat (limited to 'kernel/include/linux')
-rw-r--r--kernel/include/linux/netfilter/ipset/pfxlen.h31
1 files changed, 25 insertions, 6 deletions
diff --git a/kernel/include/linux/netfilter/ipset/pfxlen.h b/kernel/include/linux/netfilter/ipset/pfxlen.h
index fe7153c..08e6059 100644
--- a/kernel/include/linux/netfilter/ipset/pfxlen.h
+++ b/kernel/include/linux/netfilter/ipset/pfxlen.h
@@ -5,12 +5,31 @@
#include <linux/netfilter.h>
/* Prefixlen maps, by Jan Engelhardt */
-extern const union nf_inet_addr prefixlen_netmask_map[];
-extern const union nf_inet_addr prefixlen_hostmask_map[];
+extern const union nf_inet_addr ip_set_netmask_map[];
+extern const union nf_inet_addr ip_set_hostmask_map[];
-#define NETMASK(n) prefixlen_netmask_map[n].ip
-#define NETMASK6(n) prefixlen_netmask_map[n].ip6
-#define HOSTMASK(n) prefixlen_hostmask_map[n].ip
-#define HOSTMASK6(n) prefixlen_hostmask_map[n].ip6
+static inline __be32
+ip_set_netmask(u8 pfxlen)
+{
+ return ip_set_netmask_map[pfxlen].ip;
+}
+
+static inline const __be32 *
+ip_set_netmask6(u8 pfxlen)
+{
+ return &ip_set_netmask_map[pfxlen].ip6[0];
+}
+
+static inline __be32
+ip_set_hostmask(u8 pfxlen)
+{
+ return ip_set_hostmask_map[pfxlen].ip;
+}
+
+static inline const __be32 *
+ip_set_hostmask6(u8 pfxlen)
+{
+ return &ip_set_hostmask_map[pfxlen].ip6[0];
+}
#endif /*_PFXLEN_H */