]>
Commit | Line | Data |
---|---|---|
6ac99e8f MKL |
1 | /* SPDX-License-Identifier: GPL-2.0 */ |
2 | /* Copyright (c) 2019 Facebook */ | |
3 | #ifndef _BPF_SK_STORAGE_H | |
4 | #define _BPF_SK_STORAGE_H | |
5 | ||
6 | struct sock; | |
7 | ||
8 | void bpf_sk_storage_free(struct sock *sk); | |
9 | ||
10 | extern const struct bpf_func_proto bpf_sk_storage_get_proto; | |
11 | extern const struct bpf_func_proto bpf_sk_storage_delete_proto; | |
12 | ||
1ed4d924 MKL |
13 | struct bpf_sk_storage_diag; |
14 | struct sk_buff; | |
15 | struct nlattr; | |
16 | struct sock; | |
17 | ||
8f51dfc7 SF |
18 | #ifdef CONFIG_BPF_SYSCALL |
19 | int bpf_sk_storage_clone(const struct sock *sk, struct sock *newsk); | |
1ed4d924 MKL |
20 | struct bpf_sk_storage_diag * |
21 | bpf_sk_storage_diag_alloc(const struct nlattr *nla_stgs); | |
22 | void bpf_sk_storage_diag_free(struct bpf_sk_storage_diag *diag); | |
23 | int bpf_sk_storage_diag_put(struct bpf_sk_storage_diag *diag, | |
24 | struct sock *sk, struct sk_buff *skb, | |
25 | int stg_array_type, | |
26 | unsigned int *res_diag_size); | |
8f51dfc7 SF |
27 | #else |
28 | static inline int bpf_sk_storage_clone(const struct sock *sk, | |
29 | struct sock *newsk) | |
30 | { | |
31 | return 0; | |
32 | } | |
1ed4d924 MKL |
33 | static inline struct bpf_sk_storage_diag * |
34 | bpf_sk_storage_diag_alloc(const struct nlattr *nla) | |
35 | { | |
36 | return NULL; | |
37 | } | |
38 | static inline void bpf_sk_storage_diag_free(struct bpf_sk_storage_diag *diag) | |
39 | { | |
40 | } | |
41 | static inline int bpf_sk_storage_diag_put(struct bpf_sk_storage_diag *diag, | |
42 | struct sock *sk, struct sk_buff *skb, | |
43 | int stg_array_type, | |
44 | unsigned int *res_diag_size) | |
45 | { | |
46 | return 0; | |
47 | } | |
8f51dfc7 SF |
48 | #endif |
49 | ||
6ac99e8f | 50 | #endif /* _BPF_SK_STORAGE_H */ |