19f7fa225SAndrii Nakryiko /* SPDX-License-Identifier: GPL-2.0 */
29f7fa225SAndrii Nakryiko /* Copyright (c) 2020 Facebook */
39f7fa225SAndrii Nakryiko #ifndef _BPF_TESTMOD_H
49f7fa225SAndrii Nakryiko #define _BPF_TESTMOD_H
59f7fa225SAndrii Nakryiko 
69f7fa225SAndrii Nakryiko #include <linux/types.h>
79f7fa225SAndrii Nakryiko 
89f7fa225SAndrii Nakryiko struct bpf_testmod_test_read_ctx {
99f7fa225SAndrii Nakryiko 	char *buf;
109f7fa225SAndrii Nakryiko 	loff_t off;
119f7fa225SAndrii Nakryiko 	size_t len;
129f7fa225SAndrii Nakryiko };
139f7fa225SAndrii Nakryiko 
14407be922SQais Yousef struct bpf_testmod_test_write_ctx {
15407be922SQais Yousef 	char *buf;
16407be922SQais Yousef 	loff_t off;
17407be922SQais Yousef 	size_t len;
18407be922SQais Yousef };
19407be922SQais Yousef 
20fa7f17d0SHou Tao struct bpf_testmod_test_writable_ctx {
21fa7f17d0SHou Tao 	bool early_ret;
22fa7f17d0SHou Tao 	int val;
23fa7f17d0SHou Tao };
24fa7f17d0SHou Tao 
25*7e86a8c4SAndrii Nakryiko /* BPF iter that returns *value* *n* times in a row */
26*7e86a8c4SAndrii Nakryiko struct bpf_iter_testmod_seq {
27*7e86a8c4SAndrii Nakryiko 	s64 value;
28*7e86a8c4SAndrii Nakryiko 	int cnt;
29*7e86a8c4SAndrii Nakryiko };
30*7e86a8c4SAndrii Nakryiko 
319f7fa225SAndrii Nakryiko #endif /* _BPF_TESTMOD_H */
32