summaryrefslogtreecommitdiff
path: root/include
diff options
context:
space:
mode:
authorDavid S. Miller <davem@kernel.bkbits.net>2003-05-16 04:31:10 -0700
committerDavid S. Miller <davem@kernel.bkbits.net>2003-05-16 04:31:10 -0700
commit9a3bc4fdbc7991b60243aae5e7e5a3c9ce861615 (patch)
treec6778b45340283d9e112f4c92a738cc7169f4538 /include
parent004662fb9bf7d080f9dde02eee629974d9b7392c (diff)
parentcff5b2a49cfaa3b15c2020a73c4d053eb6f585ff (diff)
Merge davem@nuts.ninka.net:/home/davem/src/BK/net-2.5
into kernel.bkbits.net:/home/davem/net-2.5
Diffstat (limited to 'include')
-rw-r--r--include/linux/ip.h6
-rw-r--r--include/linux/ipv6.h6
-rw-r--r--include/net/ipcomp.h12
-rw-r--r--include/net/ipv6.h1
-rw-r--r--include/net/ipx.h32
5 files changed, 57 insertions, 0 deletions
diff --git a/include/linux/ip.h b/include/linux/ip.h
index 1d6cb15c94a2..ac117b884331 100644
--- a/include/linux/ip.h
+++ b/include/linux/ip.h
@@ -198,4 +198,10 @@ struct ip_esp_hdr {
__u8 enc_data[0]; /* Variable len but >=8. Mind the 64 bit alignment! */
};
+struct ip_comp_hdr {
+ __u8 nexthdr;
+ __u8 flags;
+ __u16 cpi;
+};
+
#endif /* _LINUX_IP_H */
diff --git a/include/linux/ipv6.h b/include/linux/ipv6.h
index f70e91028c96..50fdde2d8a9f 100644
--- a/include/linux/ipv6.h
+++ b/include/linux/ipv6.h
@@ -89,6 +89,12 @@ struct ipv6_esp_hdr {
__u8 enc_data[0]; /* Length variable but >=8. Mind the 64 bit alignment! */
};
+struct ipv6_comp_hdr {
+ __u8 nexthdr;
+ __u8 flags;
+ __u16 cpi;
+};
+
/*
* IPv6 fixed header
*
diff --git a/include/net/ipcomp.h b/include/net/ipcomp.h
new file mode 100644
index 000000000000..e94a6488a7ee
--- /dev/null
+++ b/include/net/ipcomp.h
@@ -0,0 +1,12 @@
+#ifndef _NET_IPCOMP_H
+#define _NET_IPCOMP_H
+
+#define IPCOMP_SCRATCH_SIZE 65400
+
+struct ipcomp_data {
+ u16 threshold;
+ u8 *scratch;
+ struct crypto_tfm *tfm;
+};
+
+#endif
diff --git a/include/net/ipv6.h b/include/net/ipv6.h
index 754c7f36afda..bf0e5052f824 100644
--- a/include/net/ipv6.h
+++ b/include/net/ipv6.h
@@ -315,6 +315,7 @@ extern int ip6_build_xmit(struct sock *sk,
unsigned length,
struct ipv6_txoptions *opt,
int hlimit, int flags);
+extern int ip6_found_nexthdr(struct sk_buff *skb, u8 **nexthdr);
extern int ip6_append_data(struct sock *sk,
int getfrag(void *from, char *to, int offset, int len, int odd, struct sk_buff *skb),
diff --git a/include/net/ipx.h b/include/net/ipx.h
index 864359402b31..dd20531f04dd 100644
--- a/include/net/ipx.h
+++ b/include/net/ipx.h
@@ -125,4 +125,36 @@ extern void ipx_proc_exit(void);
extern const char *ipx_frame_name(unsigned short);
extern const char *ipx_device_name(struct ipx_interface *intrfc);
+
+static __inline__ void ipxitf_hold(struct ipx_interface *intrfc)
+{
+ atomic_inc(&intrfc->refcnt);
+}
+
+extern void ipxitf_down(struct ipx_interface *intrfc);
+
+static __inline__ void ipxitf_put(struct ipx_interface *intrfc)
+{
+ if (atomic_dec_and_test(&intrfc->refcnt))
+ ipxitf_down(intrfc);
+}
+
+extern void __ipxitf_down(struct ipx_interface *intrfc);
+
+static __inline__ void __ipxitf_put(struct ipx_interface *intrfc)
+{
+ if (atomic_dec_and_test(&intrfc->refcnt))
+ __ipxitf_down(intrfc);
+}
+
+static __inline__ void ipxrtr_hold(struct ipx_route *rt)
+{
+ atomic_inc(&rt->refcnt);
+}
+
+static __inline__ void ipxrtr_put(struct ipx_route *rt)
+{
+ if (atomic_dec_and_test(&rt->refcnt))
+ kfree(rt);
+}
#endif /* _NET_INET_IPX_H_ */