enable kexec
[linux-2.6.git] / include / net / ip.h
index 94ea1ed..bacccde 100644 (file)
 #include <linux/in_route.h>
 #include <net/route.h>
 #include <net/arp.h>
-
-#ifndef _SNMP_H
 #include <net/snmp.h>
-#endif
 
-#include <net/sock.h>  /* struct sock */
+struct sock;
 
 struct inet_skb_parm
 {
@@ -92,8 +89,8 @@ extern int            ip_rcv(struct sk_buff *skb, struct net_device *dev,
                               struct packet_type *pt);
 extern int             ip_local_deliver(struct sk_buff *skb);
 extern int             ip_mr_input(struct sk_buff *skb);
-extern int             ip_output(struct sk_buff *skb);
-extern int             ip_mc_output(struct sk_buff *skb);
+extern int             ip_output(struct sk_buff **pskb);
+extern int             ip_mc_output(struct sk_buff **pskb);
 extern int             ip_fragment(struct sk_buff *skb, int (*out)(struct sk_buff*));
 extern int             ip_do_nat(struct sk_buff *skb);
 extern void            ip_send_check(struct iphdr *ip);
@@ -112,6 +109,9 @@ extern ssize_t              ip_append_page(struct sock *sk, struct page *page,
 extern int             ip_push_pending_frames(struct sock *sk);
 extern void            ip_flush_pending_frames(struct sock *sk);
 
+/* datagram.c */
+extern int             ip4_datagram_connect(struct sock *sk, 
+                                            struct sockaddr *uaddr, int addr_len);
 
 /*
  *     Map a multicast IP onto multicast MAC for type Token Ring.
@@ -131,10 +131,10 @@ static inline void ip_tr_mc_map(u32 addr, char *buf)
 }
 
 struct ip_reply_arg {
-       struct iovec iov[1];   
-       u32          csum; 
-       int          csumoffset; /* u16 offset of csum in iov[0].iov_base */
-                                /* -1 if not needed */ 
+       struct kvec iov[1];   
+       u32         csum; 
+       int         csumoffset; /* u16 offset of csum in iov[0].iov_base */
+                               /* -1 if not needed */ 
 }; 
 
 void ip_send_reply(struct sock *sk, struct sk_buff *skb, struct ip_reply_arg *arg,
@@ -301,7 +301,7 @@ extern int ipv4_proc_init(void);
  */
 int ipv4_doint_and_flush(ctl_table *ctl, int write,
                         struct file* filp, void __user *buffer,
-                        size_t *lenp);
+                        size_t *lenp, loff_t *ppos);
 int ipv4_doint_and_flush_strategy(ctl_table *table, int __user *name, int nlen,
                                  void __user *oldval, size_t __user *oldlenp,
                                  void __user *newval, size_t newlen,