fedora core 6 1.2949 + vserver 2.2.0
[linux-2.6.git] / include / net / ndisc.h
index 95684d3..475b10c 100644 (file)
  *     ndisc options
  */
 
-#define ND_OPT_SOURCE_LL_ADDR          1
-#define ND_OPT_TARGET_LL_ADDR          2
-#define ND_OPT_PREFIX_INFO             3
-#define ND_OPT_REDIRECT_HDR            4
-#define ND_OPT_MTU                     5
+enum {
+       __ND_OPT_PREFIX_INFO_END = 0,
+       ND_OPT_SOURCE_LL_ADDR = 1,      /* RFC2461 */
+       ND_OPT_TARGET_LL_ADDR = 2,      /* RFC2461 */
+       ND_OPT_PREFIX_INFO = 3,         /* RFC2461 */
+       ND_OPT_REDIRECT_HDR = 4,        /* RFC2461 */
+       ND_OPT_MTU = 5,                 /* RFC2461 */
+       __ND_OPT_ARRAY_MAX,
+       ND_OPT_ROUTE_INFO = 24,         /* RFC4191 */
+       __ND_OPT_MAX
+};
 
 #define MAX_RTR_SOLICITATION_DELAY     HZ
 
 
 #ifdef __KERNEL__
 
-#include <linux/skbuff.h>
-#include <linux/netdevice.h>
+#include <linux/compiler.h>
 #include <linux/icmpv6.h>
+#include <linux/in6.h>
+#include <linux/types.h>
+
 #include <net/neighbour.h>
-#include <asm/atomic.h>
+
+struct ctl_table;
+struct file;
+struct inet6_dev;
+struct net_device;
+struct net_proto_family;
+struct sk_buff;
 
 extern struct neigh_table nd_tbl;
 
@@ -45,10 +59,15 @@ struct nd_msg {
        __u8            opt[0];
 };
 
+struct rs_msg {
+       struct icmp6hdr icmph;
+       __u8            opt[0];
+};
+
 struct ra_msg {
         struct icmp6hdr                icmph;
-       __u32                   reachable_time;
-       __u32                   retrans_timer;
+       __be32                  reachable_time;
+       __be32                  retrans_timer;
 };
 
 struct nd_opt_hdr {
@@ -99,11 +118,12 @@ extern int                 igmp6_event_report(struct sk_buff *skb);
 extern void                    igmp6_cleanup(void);
 
 #ifdef CONFIG_SYSCTL
-extern int                     ndisc_ifinfo_sysctl_change(ctl_table *ctl,
+extern int                     ndisc_ifinfo_sysctl_change(struct ctl_table *ctl,
                                                           int write,
                                                           struct file * filp,
                                                           void __user *buffer,
-                                                          size_t *lenp);
+                                                          size_t *lenp,
+                                                          loff_t *ppos);
 #endif
 
 extern void                    inet6_ifinfo_notify(int event,