diff options
Diffstat (limited to 'include/net/inet_connection_sock.h')
-rw-r--r-- | include/net/inet_connection_sock.h | 26 |
1 files changed, 26 insertions, 0 deletions
diff --git a/include/net/inet_connection_sock.h b/include/net/inet_connection_sock.h index fa587c94e9d0..9bf73fe50948 100644 --- a/include/net/inet_connection_sock.h +++ b/include/net/inet_connection_sock.h | |||
@@ -50,6 +50,12 @@ struct inet_connection_sock_af_ops { | |||
50 | char __user *optval, int optlen); | 50 | char __user *optval, int optlen); |
51 | int (*getsockopt)(struct sock *sk, int level, int optname, | 51 | int (*getsockopt)(struct sock *sk, int level, int optname, |
52 | char __user *optval, int __user *optlen); | 52 | char __user *optval, int __user *optlen); |
53 | int (*compat_setsockopt)(struct sock *sk, | ||
54 | int level, int optname, | ||
55 | char __user *optval, int optlen); | ||
56 | int (*compat_getsockopt)(struct sock *sk, | ||
57 | int level, int optname, | ||
58 | char __user *optval, int __user *optlen); | ||
53 | void (*addr2sockaddr)(struct sock *sk, struct sockaddr *); | 59 | void (*addr2sockaddr)(struct sock *sk, struct sockaddr *); |
54 | int sockaddr_len; | 60 | int sockaddr_len; |
55 | }; | 61 | }; |
@@ -72,6 +78,7 @@ struct inet_connection_sock_af_ops { | |||
72 | * @icsk_probes_out: unanswered 0 window probes | 78 | * @icsk_probes_out: unanswered 0 window probes |
73 | * @icsk_ext_hdr_len: Network protocol overhead (IP/IPv6 options) | 79 | * @icsk_ext_hdr_len: Network protocol overhead (IP/IPv6 options) |
74 | * @icsk_ack: Delayed ACK control data | 80 | * @icsk_ack: Delayed ACK control data |
81 | * @icsk_mtup; MTU probing control data | ||
75 | */ | 82 | */ |
76 | struct inet_connection_sock { | 83 | struct inet_connection_sock { |
77 | /* inet_sock has to be the first member! */ | 84 | /* inet_sock has to be the first member! */ |
@@ -104,6 +111,16 @@ struct inet_connection_sock { | |||
104 | __u16 last_seg_size; /* Size of last incoming segment */ | 111 | __u16 last_seg_size; /* Size of last incoming segment */ |
105 | __u16 rcv_mss; /* MSS used for delayed ACK decisions */ | 112 | __u16 rcv_mss; /* MSS used for delayed ACK decisions */ |
106 | } icsk_ack; | 113 | } icsk_ack; |
114 | struct { | ||
115 | int enabled; | ||
116 | |||
117 | /* Range of MTUs to search */ | ||
118 | int search_high; | ||
119 | int search_low; | ||
120 | |||
121 | /* Information on the current probe. */ | ||
122 | int probe_size; | ||
123 | } icsk_mtup; | ||
107 | u32 icsk_ca_priv[16]; | 124 | u32 icsk_ca_priv[16]; |
108 | #define ICSK_CA_PRIV_SIZE (16 * sizeof(u32)) | 125 | #define ICSK_CA_PRIV_SIZE (16 * sizeof(u32)) |
109 | }; | 126 | }; |
@@ -310,4 +327,13 @@ extern void inet_csk_listen_stop(struct sock *sk); | |||
310 | 327 | ||
311 | extern void inet_csk_addr2sockaddr(struct sock *sk, struct sockaddr *uaddr); | 328 | extern void inet_csk_addr2sockaddr(struct sock *sk, struct sockaddr *uaddr); |
312 | 329 | ||
330 | extern int inet_csk_ctl_sock_create(struct socket **sock, | ||
331 | unsigned short family, | ||
332 | unsigned short type, | ||
333 | unsigned char protocol); | ||
334 | |||
335 | extern int inet_csk_compat_getsockopt(struct sock *sk, int level, int optname, | ||
336 | char __user *optval, int __user *optlen); | ||
337 | extern int inet_csk_compat_setsockopt(struct sock *sk, int level, int optname, | ||
338 | char __user *optval, int optlen); | ||
313 | #endif /* _INET_CONNECTION_SOCK_H */ | 339 | #endif /* _INET_CONNECTION_SOCK_H */ |