aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/inet_connection_sock.h
diff options
context:
space:
mode:
authorArnaldo Carvalho de Melo <acme@mandriva.com>2005-12-14 02:15:52 -0500
committerDavid S. Miller <davem@sunset.davemloft.net>2006-01-03 16:10:38 -0500
commit8292a17a399ffb7c5c8b083db4ad994e090055f7 (patch)
tree1544436169ba1dc2eface34664a203c2c17a8d65 /include/net/inet_connection_sock.h
parentca304b6104ffdd120bb6687a88a0625e58bc71cd (diff)
[ICSK]: Rename struct tcp_func to struct inet_connection_sock_af_ops
And move it to struct inet_connection_sock. DCCP will use it in the upcoming changesets. Signed-off-by: Arnaldo Carvalho de Melo <acme@mandriva.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/inet_connection_sock.h')
-rw-r--r--include/net/inet_connection_sock.h26
1 files changed, 26 insertions, 0 deletions
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h
index ccc81a1c550c..9e20d201e951 100644
--- a/include/net/inet_connection_sock.h
+++ b/include/net/inet_connection_sock.h
@@ -15,6 +15,7 @@
15#ifndef _INET_CONNECTION_SOCK_H 15#ifndef _INET_CONNECTION_SOCK_H
16#define _INET_CONNECTION_SOCK_H 16#define _INET_CONNECTION_SOCK_H
17 17
18#include <linux/compiler.h>
18#include <linux/ip.h> 19#include <linux/ip.h>
19#include <linux/string.h> 20#include <linux/string.h>
20#include <linux/timer.h> 21#include <linux/timer.h>
@@ -29,6 +30,29 @@ struct inet_bind_bucket;
29struct inet_hashinfo; 30struct inet_hashinfo;
30struct tcp_congestion_ops; 31struct tcp_congestion_ops;
31 32
33/*
34 * Pointers to address related TCP functions
35 * (i.e. things that depend on the address family)
36 */
37struct inet_connection_sock_af_ops {
38 int (*queue_xmit)(struct sk_buff *skb, int ipfragok);
39 void (*send_check)(struct sock *sk, int len,
40 struct sk_buff *skb);
41 int (*rebuild_header)(struct sock *sk);
42 int (*conn_request)(struct sock *sk, struct sk_buff *skb);
43 struct sock *(*syn_recv_sock)(struct sock *sk, struct sk_buff *skb,
44 struct request_sock *req,
45 struct dst_entry *dst);
46 int (*remember_stamp)(struct sock *sk);
47 __u16 net_header_len;
48 int (*setsockopt)(struct sock *sk, int level, int optname,
49 char __user *optval, int optlen);
50 int (*getsockopt)(struct sock *sk, int level, int optname,
51 char __user *optval, int __user *optlen);
52 void (*addr2sockaddr)(struct sock *sk, struct sockaddr *);
53 int sockaddr_len;
54};
55
32/** inet_connection_sock - INET connection oriented sock 56/** inet_connection_sock - INET connection oriented sock
33 * 57 *
34 * @icsk_accept_queue: FIFO of established children 58 * @icsk_accept_queue: FIFO of established children
@@ -37,6 +61,7 @@ struct tcp_congestion_ops;
37 * @icsk_retransmit_timer: Resend (no ack) 61 * @icsk_retransmit_timer: Resend (no ack)
38 * @icsk_rto: Retransmit timeout 62 * @icsk_rto: Retransmit timeout
39 * @icsk_ca_ops Pluggable congestion control hook 63 * @icsk_ca_ops Pluggable congestion control hook
64 * @icsk_af_ops Operations which are AF_INET{4,6} specific
40 * @icsk_ca_state: Congestion control state 65 * @icsk_ca_state: Congestion control state
41 * @icsk_retransmits: Number of unrecovered [RTO] timeouts 66 * @icsk_retransmits: Number of unrecovered [RTO] timeouts
42 * @icsk_pending: Scheduled timer event 67 * @icsk_pending: Scheduled timer event
@@ -55,6 +80,7 @@ struct inet_connection_sock {
55 struct timer_list icsk_delack_timer; 80 struct timer_list icsk_delack_timer;
56 __u32 icsk_rto; 81 __u32 icsk_rto;
57 struct tcp_congestion_ops *icsk_ca_ops; 82 struct tcp_congestion_ops *icsk_ca_ops;
83 struct inet_connection_sock_af_ops *icsk_af_ops;
58 __u8 icsk_ca_state; 84 __u8 icsk_ca_state;
59 __u8 icsk_retransmits; 85 __u8 icsk_retransmits;
60 __u8 icsk_pending; 86 __u8 icsk_pending;