KFunc hid_bpf_hw_request
Communicate with a HID device
Definition
Parameters
ctx
: the HID-BPF context previously allocated in hid_bpf_allocate_context
buf
: a PTR_TO_MEM
buffer
buf__sz
: the size of the data to transfer
rtype
: the type of the report (HID_INPUT_REPORT
, HID_FEATURE_REPORT
, HID_OUTPUT_REPORT
)
reqtype
: the type of the request (HID_REQ_GET_REPORT
, HID_REQ_SET_REPORT
, ...)
Returns
0
on success, a negative error code otherwise.
int hid_bpf_hw_request(struct hid_bpf_ctx *ctx, __u8 *buf, size_t buf__sz, hid_report_type rtype, hid_class_request reqtype)
Note
This function may sleep, and therefore can only be used from sleepable programs.
This is only true when not used from BPF_PROG_TYPE_SYSCALL
programs.
Usage
Docs could be improved
This part of the docs is incomplete, contributions are very welcome
Program types
The following program types can make use of this kfunc:
BPF_PROG_TYPE_LSM
Until v6.11BPF_PROG_TYPE_TRACING
Until v6.11BPF_PROG_TYPE_STRUCT_OPS
Since v6.11BPF_PROG_TYPE_SYSCALL
Example
See hid_bpf_allocate_context for an example of how to use this kfunc.