|
@@ -67,6 +67,7 @@
|
|
|
#include <linux/atomic.h>
|
|
|
#include <net/dst.h>
|
|
|
#include <net/checksum.h>
|
|
|
+#include <net/tcp_states.h>
|
|
|
#include <linux/net_tstamp.h>
|
|
|
|
|
|
struct cgroup;
|
|
@@ -2218,6 +2219,14 @@ static inline struct sock *skb_steal_sock(struct sk_buff *skb)
|
|
|
return NULL;
|
|
|
}
|
|
|
|
|
|
+/* This helper checks if a socket is a full socket,
|
|
|
+ * ie _not_ a timewait or request socket.
|
|
|
+ */
|
|
|
+static inline bool sk_fullsock(const struct sock *sk)
|
|
|
+{
|
|
|
+ return (1 << sk->sk_state) & ~(TCPF_TIME_WAIT | TCPF_NEW_SYN_RECV);
|
|
|
+}
|
|
|
+
|
|
|
void sock_enable_timestamp(struct sock *sk, int flag);
|
|
|
int sock_get_timestamp(struct sock *, struct timeval __user *);
|
|
|
int sock_get_timestampns(struct sock *, struct timespec __user *);
|