aboutsummaryrefslogtreecommitdiffstats
path: root/include/net/sock.h
diff options
context:
space:
mode:
Diffstat (limited to 'include/net/sock.h')
-rw-r--r--include/net/sock.h6
1 files changed, 6 insertions, 0 deletions
diff --git a/include/net/sock.h b/include/net/sock.h
index 1331008ad885..1c28f394d8ec 100644
--- a/include/net/sock.h
+++ b/include/net/sock.h
@@ -563,6 +563,7 @@ enum sock_flags {
563 SOCK_FASYNC, /* fasync() active */ 563 SOCK_FASYNC, /* fasync() active */
564 SOCK_RXQ_OVFL, 564 SOCK_RXQ_OVFL,
565 SOCK_ZEROCOPY, /* buffers from userspace */ 565 SOCK_ZEROCOPY, /* buffers from userspace */
566 SOCK_WIFI_STATUS, /* push wifi status to userspace */
566}; 567};
567 568
568static inline void sock_copy_flags(struct sock *nsk, struct sock *osk) 569static inline void sock_copy_flags(struct sock *nsk, struct sock *osk)
@@ -1714,6 +1715,8 @@ static inline int sock_intr_errno(long timeo)
1714 1715
1715extern void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk, 1716extern void __sock_recv_timestamp(struct msghdr *msg, struct sock *sk,
1716 struct sk_buff *skb); 1717 struct sk_buff *skb);
1718extern void __sock_recv_wifi_status(struct msghdr *msg, struct sock *sk,
1719 struct sk_buff *skb);
1717 1720
1718static __inline__ void 1721static __inline__ void
1719sock_recv_timestamp(struct msghdr *msg, struct sock *sk, struct sk_buff *skb) 1722sock_recv_timestamp(struct msghdr *msg, struct sock *sk, struct sk_buff *skb)
@@ -1741,6 +1744,9 @@ sock_recv_timestamp(struct msghdr *msg, struct sock *sk, struct sk_buff *skb)
1741 __sock_recv_timestamp(msg, sk, skb); 1744 __sock_recv_timestamp(msg, sk, skb);
1742 else 1745 else
1743 sk->sk_stamp = kt; 1746 sk->sk_stamp = kt;
1747
1748 if (sock_flag(sk, SOCK_WIFI_STATUS) && skb->wifi_acked_valid)
1749 __sock_recv_wifi_status(msg, sk, skb);
1744} 1750}
1745 1751
1746extern void __sock_recv_ts_and_drops(struct msghdr *msg, struct sock *sk, 1752extern void __sock_recv_ts_and_drops(struct msghdr *msg, struct sock *sk,