summaryrefslogtreecommitdiff
path: root/include/linux/mroute.h
diff options
context:
space:
mode:
authorYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-07-03 11:51:22 +0400
committerYOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>2008-07-03 12:51:57 +0400
commite0835f8fa56d2d308486f8a34cf1c4480cd27f4e (patch)
tree8b9e2f60795dbc6e0e0138c8e7c362efecb568e8 /include/linux/mroute.h
parent03d2f897e9fb3218989baa2139a951ce7f5414bf (diff)
downloadlinux-e0835f8fa56d2d308486f8a34cf1c4480cd27f4e.tar.xz
ipv4,ipv6 mroute: Add some helper inline functions to remove ugly ifdefs.
ip{,v6}_mroute_{set,get}sockopt() should not matter by optimization but it would be better not to depend on optimization semantically. Signed-off-by: YOSHIFUJI Hideaki <yoshfuji@linux-ipv6.org>
Diffstat (limited to 'include/linux/mroute.h')
-rw-r--r--include/linux/mroute.h27
1 files changed, 27 insertions, 0 deletions
diff --git a/include/linux/mroute.h b/include/linux/mroute.h
index df8efd42bf8a..07112ee9293a 100644
--- a/include/linux/mroute.h
+++ b/include/linux/mroute.h
@@ -144,10 +144,37 @@ static inline int ip_mroute_opt(int opt)
}
#endif
+#ifdef CONFIG_IP_MROUTE
extern int ip_mroute_setsockopt(struct sock *, int, char __user *, int);
extern int ip_mroute_getsockopt(struct sock *, int, char __user *, int __user *);
extern int ipmr_ioctl(struct sock *sk, int cmd, void __user *arg);
extern int ip_mr_init(void);
+#else
+static inline
+int ip_mroute_setsockopt(struct sock *sock,
+ int optname, char __user *optval, int optlen)
+{
+ return -ENOPROTOOPT;
+}
+
+static inline
+int ip_mroute_getsockopt(struct sock *sock,
+ int optname, char __user *optval, int __user *optlen)
+{
+ return -ENOPROTOOPT;
+}
+
+static inline
+int ipmr_ioctl(struct sock *sk, int cmd, void __user *arg)
+{
+ return -ENOIOCTLCMD;
+}
+
+static inline int ip_mr_init(void)
+{
+ return 0;
+}
+#endif
struct vif_device
{