1d0e437b7SPavel Begunkov // SPDX-License-Identifier: GPL-2.0 2d0e437b7SPavel Begunkov #ifndef IOU_BPF_OPS_H 3d0e437b7SPavel Begunkov #define IOU_BPF_OPS_H 4d0e437b7SPavel Begunkov 5d0e437b7SPavel Begunkov #include <linux/io_uring_types.h> 6d0e437b7SPavel Begunkov 789081924SPavel Begunkov enum { 889081924SPavel Begunkov IOU_REGION_MEM, 989081924SPavel Begunkov IOU_REGION_CQ, 1089081924SPavel Begunkov IOU_REGION_SQ, 1189081924SPavel Begunkov }; 1289081924SPavel Begunkov 13d0e437b7SPavel Begunkov struct io_uring_bpf_ops { 14d0e437b7SPavel Begunkov int (*loop_step)(struct io_ring_ctx *ctx, struct iou_loop_params *lp); 15d0e437b7SPavel Begunkov 16d0e437b7SPavel Begunkov __u32 ring_fd; 17d0e437b7SPavel Begunkov void *priv; 18d0e437b7SPavel Begunkov }; 19d0e437b7SPavel Begunkov 20*98f37634SPavel Begunkov #ifdef CONFIG_IO_URING_BPF_OPS 21*98f37634SPavel Begunkov void io_unregister_bpf_ops(struct io_ring_ctx *ctx); 22*98f37634SPavel Begunkov #else io_unregister_bpf_ops(struct io_ring_ctx * ctx)23*98f37634SPavel Begunkovstatic inline void io_unregister_bpf_ops(struct io_ring_ctx *ctx) 24*98f37634SPavel Begunkov { 25*98f37634SPavel Begunkov } 26*98f37634SPavel Begunkov #endif 27*98f37634SPavel Begunkov 28d0e437b7SPavel Begunkov #endif /* IOU_BPF_OPS_H */ 29