| 1 | /* SPDX-License-Identifier: GPL-2.0-only */ |
| 2 | /* Copyright (c) 2022 Benjamin Tissoires |
| 3 | */ |
| 4 | |
| 5 | #ifndef ____HID_BPF__H |
| 6 | #define ____HID_BPF__H |
| 7 | |
| 8 | #define HID_BPF_DEVICE_EVENT "struct_ops/hid_device_event" |
| 9 | #define HID_BPF_RDESC_FIXUP "struct_ops/hid_rdesc_fixup" |
| 10 | #define HID_BPF_OPS(name) SEC(".struct_ops.link") \ |
| 11 | struct hid_bpf_ops name |
| 12 | #define hid_set_name(_hdev, _name) __builtin_memcpy(_hdev->name, _name, sizeof(_name)) |
| 13 | |
| 14 | struct hid_bpf_probe_args { |
| 15 | unsigned int hid; |
| 16 | unsigned int rdesc_size; |
| 17 | unsigned char rdesc[4096]; |
| 18 | int retval; |
| 19 | }; |
| 20 | |
| 21 | #endif /* ____HID_BPF__H */ |
| 22 | |