linux/include/net/timewait_sock.h
<<
>>
Prefs
   1/* SPDX-License-Identifier: GPL-2.0-or-later */
   2/*
   3 * NET          Generic infrastructure for Network protocols.
   4 *
   5 * Authors:     Arnaldo Carvalho de Melo <acme@conectiva.com.br>
   6 */
   7#ifndef _TIMEWAIT_SOCK_H
   8#define _TIMEWAIT_SOCK_H
   9
  10#include <linux/slab.h>
  11#include <linux/bug.h>
  12#include <net/sock.h>
  13
  14struct timewait_sock_ops {
  15        struct kmem_cache       *twsk_slab;
  16        char            *twsk_slab_name;
  17        unsigned int    twsk_obj_size;
  18        int             (*twsk_unique)(struct sock *sk,
  19                                       struct sock *sktw, void *twp);
  20        void            (*twsk_destructor)(struct sock *sk);
  21};
  22
  23static inline int twsk_unique(struct sock *sk, struct sock *sktw, void *twp)
  24{
  25        if (sk->sk_prot->twsk_prot->twsk_unique != NULL)
  26                return sk->sk_prot->twsk_prot->twsk_unique(sk, sktw, twp);
  27        return 0;
  28}
  29
  30static inline void twsk_destructor(struct sock *sk)
  31{
  32        if (sk->sk_prot->twsk_prot->twsk_destructor != NULL)
  33                sk->sk_prot->twsk_prot->twsk_destructor(sk);
  34}
  35
  36#endif /* _TIMEWAIT_SOCK_H */
  37