xref: /linux/samples/hid/hid_bpf_helpers.h (revision 6008105b4f4e470da0e9159a3a74ca7ff6e869ba)
1*6008105bSBenjamin Tissoires /* SPDX-License-Identifier: GPL-2.0-only */
2*6008105bSBenjamin Tissoires /* Copyright (c) 2022 Benjamin Tissoires
3*6008105bSBenjamin Tissoires  */
4*6008105bSBenjamin Tissoires 
5*6008105bSBenjamin Tissoires #ifndef __HID_BPF_HELPERS_H
6*6008105bSBenjamin Tissoires #define __HID_BPF_HELPERS_H
7*6008105bSBenjamin Tissoires 
8*6008105bSBenjamin Tissoires /* following are kfuncs exported by HID for HID-BPF */
9*6008105bSBenjamin Tissoires extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
10*6008105bSBenjamin Tissoires 			      unsigned int offset,
11*6008105bSBenjamin Tissoires 			      const size_t __sz) __ksym;
12*6008105bSBenjamin Tissoires extern int hid_bpf_attach_prog(unsigned int hid_id, int prog_fd, u32 flags) __ksym;
13*6008105bSBenjamin Tissoires extern int hid_bpf_hw_request(struct hid_bpf_ctx *ctx,
14*6008105bSBenjamin Tissoires 			      __u8 *data,
15*6008105bSBenjamin Tissoires 			      size_t buf__sz,
16*6008105bSBenjamin Tissoires 			      enum hid_report_type type,
17*6008105bSBenjamin Tissoires 			      enum hid_class_request reqtype) __ksym;
18*6008105bSBenjamin Tissoires 
19*6008105bSBenjamin Tissoires #endif /* __HID_BPF_HELPERS_H */
20