diff options
author | David Miller <davem@davemloft.net> | 2015-06-25 06:19:07 -0700 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-06-28 16:55:44 -0700 |
commit | 3200392b88dd25f0d60a500a38d1ce538eb7f933 (patch) | |
tree | 4a17b0714e23ce214d97d326c7a895a9f891426b /include/net/ax25.h | |
parent | 2e598712e4b36256c3cf3bca1c2bf0460036cc89 (diff) | |
download | lwn-3200392b88dd25f0d60a500a38d1ce538eb7f933.tar.gz lwn-3200392b88dd25f0d60a500a38d1ce538eb7f933.zip |
ax25: Stop using sock->sk_protinfo.
Just make a ax25_sock structure that provides the ax25_cb pointer.
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/net/ax25.h')
-rw-r--r-- | include/net/ax25.h | 16 |
1 files changed, 15 insertions, 1 deletions
diff --git a/include/net/ax25.h b/include/net/ax25.h index 16a923a3a43a..e602f8177ebf 100644 --- a/include/net/ax25.h +++ b/include/net/ax25.h @@ -13,6 +13,7 @@ #include <linux/slab.h> #include <linux/atomic.h> #include <net/neighbour.h> +#include <net/sock.h> #define AX25_T1CLAMPLO 1 #define AX25_T1CLAMPHI (30 * HZ) @@ -246,7 +247,20 @@ typedef struct ax25_cb { atomic_t refcount; } ax25_cb; -#define ax25_sk(__sk) ((ax25_cb *)(__sk)->sk_protinfo) +struct ax25_sock { + struct sock sk; + struct ax25_cb *cb; +}; + +static inline struct ax25_sock *ax25_sk(const struct sock *sk) +{ + return (struct ax25_sock *) sk; +} + +static inline struct ax25_cb *sk_to_ax25(const struct sock *sk) +{ + return ax25_sk(sk)->cb; +} #define ax25_for_each(__ax25, list) \ hlist_for_each_entry(__ax25, list, ax25_node) |