sock_diag_handler
int sock_diag_register(const struct sock_diag_handler *h);
void sock_diag_unregister(const struct sock_diag_handler *h);
static const struct sock_diag_handler *sock_diag_lock_handler(int family)
const struct sock_diag_handler *handler;
static void sock_diag_unlock_handler(const struct sock_diag_handler *handler)
const struct sock_diag_handler *hndl;
static const struct sock_diag_handler __rcu *sock_diag_handlers[AF_MAX];
int sock_diag_register(const struct sock_diag_handler *hndl)
return !cmpxchg((const struct sock_diag_handler **)
void sock_diag_unregister(const struct sock_diag_handler *hndl)
xchg((const struct sock_diag_handler **)&sock_diag_handlers[family],
const struct sock_diag_handler *hndl;
static const struct sock_diag_handler inet_diag_handler = {
static const struct sock_diag_handler inet6_diag_handler = {
static const struct sock_diag_handler netlink_diag_handler = {
static const struct sock_diag_handler packet_diag_handler = {
static const struct sock_diag_handler smc_diag_handler = {
static const struct sock_diag_handler tipc_sock_diag_handler = {
static const struct sock_diag_handler unix_diag_handler = {
static const struct sock_diag_handler vsock_diag_handler = {
static const struct sock_diag_handler xsk_diag_handler = {