_Static_assert(sizeof(rdesc_assign_selection) == sizeof(fixed_rdesc_assign_selection), "Rdesc and fixed rdesc of different size");
_Static_assert(sizeof(rdesc_assign_selection) + OFFSET_ASSIGN_SELECTION < ORIGINAL_RDESC_SIZE, "Rdesc at given offset is too big");
/* Check that the device is compatible */ if (__builtin_memcmp(data + OFFSET_ASSIGN_SELECTION,
rdesc_assign_selection, sizeof(rdesc_assign_selection))) return0;
SEC("syscall") int probe(struct hid_bpf_probe_args *ctx)
{ /* only bind to the keyboard interface */
ctx->retval = ctx->rdesc_size != ORIGINAL_RDESC_SIZE; if (ctx->retval)
ctx->retval = -EINVAL;
if (__builtin_memcmp(ctx->rdesc + OFFSET_ASSIGN_SELECTION,
rdesc_assign_selection, sizeof(rdesc_assign_selection)))
ctx->retval = -EINVAL;
return0;
}
char _license[] SEC("license") = "GPL";
Messung V0.5 in Prozent
¤ Dauer der Verarbeitung: 0.7 Sekunden
(vorverarbeitet am 2026-10-01)
¤
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.