samples/hid: add new hid BPF example
[linux-block.git] / samples / hid / hid_bpf_helpers.h
diff --git a/samples/hid/hid_bpf_helpers.h b/samples/hid/hid_bpf_helpers.h
new file mode 100644 (file)
index 0000000..c555aee
--- /dev/null
@@ -0,0 +1,19 @@
+/* SPDX-License-Identifier: GPL-2.0-only */
+/* Copyright (c) 2022 Benjamin Tissoires
+ */
+
+#ifndef __HID_BPF_HELPERS_H
+#define __HID_BPF_HELPERS_H
+
+/* following are kfuncs exported by HID for HID-BPF */
+extern __u8 *hid_bpf_get_data(struct hid_bpf_ctx *ctx,
+                             unsigned int offset,
+                             const size_t __sz) __ksym;
+extern int hid_bpf_attach_prog(unsigned int hid_id, int prog_fd, u32 flags) __ksym;
+extern int hid_bpf_hw_request(struct hid_bpf_ctx *ctx,
+                             __u8 *data,
+                             size_t buf__sz,
+                             enum hid_report_type type,
+                             enum hid_class_request reqtype) __ksym;
+
+#endif /* __HID_BPF_HELPERS_H */