patch-2.4.21 linux-2.4.21/include/net/ipv6.h
Next file: linux-2.4.21/include/net/irda/irlap.h
Previous file: linux-2.4.21/include/net/ip6_route.h
Back to the patch index
Back to the overall index
- Lines: 68
- Date:
2003-06-13 07:51:39.000000000 -0700
- Orig file:
linux-2.4.20/include/net/ipv6.h
- Orig date:
2001-11-22 11:47:43.000000000 -0800
diff -urN linux-2.4.20/include/net/ipv6.h linux-2.4.21/include/net/ipv6.h
@@ -74,6 +74,20 @@
#define IPV6_ADDR_RESERVED 0x2000U /* reserved address space */
/*
+ * Addr scopes
+ */
+#ifdef __KERNEL__
+#define IPV6_ADDR_MC_SCOPE(a) \
+ ((a)->s6_addr[1] & 0x0f) /* nonstandard */
+#define __IPV6_ADDR_SCOPE_INVALID -1
+#endif
+#define IPV6_ADDR_SCOPE_NODELOCAL 0x01
+#define IPV6_ADDR_SCOPE_LINKLOCAL 0x02
+#define IPV6_ADDR_SCOPE_SITELOCAL 0x05
+#define IPV6_ADDR_SCOPE_ORGLOCAL 0x08
+#define IPV6_ADDR_SCOPE_GLOBAL 0x0e
+
+/*
* fragmentation header
*/
@@ -88,6 +102,9 @@
#include <net/sock.h>
+/* sysctls */
+extern int sysctl_ipv6_bindv6only;
+
extern struct ipv6_mib ipv6_statistics[NR_CPUS*2];
#define IP6_INC_STATS(field) SNMP_INC_STATS(ipv6_statistics, field)
#define IP6_INC_STATS_BH(field) SNMP_INC_STATS_BH(ipv6_statistics, field)
@@ -204,21 +221,21 @@
unsigned int, unsigned int);
-extern int ipv6_addr_type(struct in6_addr *addr);
+extern int ipv6_addr_type(const struct in6_addr *addr);
-static inline int ipv6_addr_scope(struct in6_addr *addr)
+static inline int ipv6_addr_scope(const struct in6_addr *addr)
{
return ipv6_addr_type(addr) & IPV6_ADDR_SCOPE_MASK;
}
-static inline int ipv6_addr_cmp(struct in6_addr *a1, struct in6_addr *a2)
+static inline int ipv6_addr_cmp(const struct in6_addr *a1, const struct in6_addr *a2)
{
- return memcmp((void *) a1, (void *) a2, sizeof(struct in6_addr));
+ return memcmp((const void *) a1, (const void *) a2, sizeof(struct in6_addr));
}
-static inline void ipv6_addr_copy(struct in6_addr *a1, struct in6_addr *a2)
+static inline void ipv6_addr_copy(struct in6_addr *a1, const struct in6_addr *a2)
{
- memcpy((void *) a1, (void *) a2, sizeof(struct in6_addr));
+ memcpy((void *) a1, (const void *) a2, sizeof(struct in6_addr));
}
#ifndef __HAVE_ARCH_ADDR_SET
@@ -233,7 +250,7 @@
}
#endif
-static inline int ipv6_addr_any(struct in6_addr *a)
+static inline int ipv6_addr_any(const struct in6_addr *a)
{
return ((a->s6_addr32[0] | a->s6_addr32[1] |
a->s6_addr32[2] | a->s6_addr32[3] ) == 0);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)