summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--include/linux/Kbuild1
-rw-r--r--include/linux/mroute.h22
-rw-r--r--include/linux/pim.h29
3 files changed, 31 insertions, 21 deletions
diff --git a/include/linux/Kbuild b/include/linux/Kbuild
index 9cdd12a9e84..84736acb4b9 100644
--- a/include/linux/Kbuild
+++ b/include/linux/Kbuild
@@ -289,6 +289,7 @@ unifdef-y += parport.h
unifdef-y += patchkey.h
unifdef-y += pci.h
unifdef-y += personality.h
+unifdef-y += pim.h
unifdef-y += pktcdvd.h
unifdef-y += pmu.h
unifdef-y += poll.h
diff --git a/include/linux/mroute.h b/include/linux/mroute.h
index 35a8277ec1b..c41b4217ae3 100644
--- a/include/linux/mroute.h
+++ b/include/linux/mroute.h
@@ -3,6 +3,7 @@
#include <linux/sockios.h>
#include <linux/in.h>
+#include <linux/pim.h>
/*
* Based on the MROUTING 3.5 defines primarily to keep
@@ -210,27 +211,6 @@ struct mfc_cache
#define IGMPMSG_WHOLEPKT 3 /* For PIM Register processing */
#ifdef __KERNEL__
-
-#define PIM_V1_VERSION __constant_htonl(0x10000000)
-#define PIM_V1_REGISTER 1
-
-#define PIM_VERSION 2
-#define PIM_REGISTER 1
-
-#define PIM_NULL_REGISTER __constant_htonl(0x40000000)
-
-/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
-
-struct pimreghdr
-{
- __u8 type;
- __u8 reserved;
- __be16 csum;
- __be32 flags;
-};
-
-extern int pim_rcv_v1(struct sk_buff *);
-
struct rtmsg;
extern int ipmr_get_route(struct sk_buff *skb, struct rtmsg *rtm, int nowait);
#endif
diff --git a/include/linux/pim.h b/include/linux/pim.h
new file mode 100644
index 00000000000..6f689dc8550
--- /dev/null
+++ b/include/linux/pim.h
@@ -0,0 +1,29 @@
+#ifndef __LINUX_PIM_H
+#define __LINUX_PIM_H
+
+#include <asm/byteorder.h>
+
+/* Message types - V1 */
+#define PIM_V1_VERSION __constant_htonl(0x10000000)
+#define PIM_V1_REGISTER 1
+
+/* Message types - V2 */
+#define PIM_VERSION 2
+#define PIM_REGISTER 1
+
+#if defined(__KERNEL__)
+#define PIM_NULL_REGISTER __constant_htonl(0x40000000)
+
+/* PIMv2 register message header layout (ietf-draft-idmr-pimvsm-v2-00.ps */
+struct pimreghdr
+{
+ __u8 type;
+ __u8 reserved;
+ __be16 csum;
+ __be32 flags;
+};
+
+struct sk_buff;
+extern int pim_rcv_v1(struct sk_buff *);
+#endif
+#endif