root/include/linux/netfilter/nfnetlink_osf.h

/* [<][>][^][v][top][bottom][index][help] */

INCLUDED FROM


   1 /* SPDX-License-Identifier: GPL-2.0 */
   2 #ifndef _NFOSF_H
   3 #define _NFOSF_H
   4 
   5 #include <uapi/linux/netfilter/nfnetlink_osf.h>
   6 
   7 enum osf_fmatch_states {
   8         /* Packet does not match the fingerprint */
   9         FMATCH_WRONG = 0,
  10         /* Packet matches the fingerprint */
  11         FMATCH_OK,
  12         /* Options do not match the fingerprint, but header does */
  13         FMATCH_OPT_WRONG,
  14 };
  15 
  16 extern struct list_head nf_osf_fingers[2];
  17 
  18 struct nf_osf_finger {
  19         struct rcu_head                 rcu_head;
  20         struct list_head                finger_entry;
  21         struct nf_osf_user_finger       finger;
  22 };
  23 
  24 struct nf_osf_data {
  25         const char *genre;
  26         const char *version;
  27 };
  28 
  29 bool nf_osf_match(const struct sk_buff *skb, u_int8_t family,
  30                   int hooknum, struct net_device *in, struct net_device *out,
  31                   const struct nf_osf_info *info, struct net *net,
  32                   const struct list_head *nf_osf_fingers);
  33 
  34 bool nf_osf_find(const struct sk_buff *skb,
  35                  const struct list_head *nf_osf_fingers,
  36                  const int ttl_check, struct nf_osf_data *data);
  37 
  38 #endif /* _NFOSF_H */

/* [<][>][^][v][top][bottom][index][help] */