Warning: This file is not a C or C++ file. It does not have highlighting.
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 */ |
39 |
Warning: This file is not a C or C++ file. It does not have highlighting.