STRUCT OUTPUT_REPORT_HEADER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct output_report_header(9) πŸ’–

okay bestie, so we're deep in the Kernel API Manual (section 9, the big-kid kernel structures section, iykyk) and today's main character is struct output_report_header β€” literally the output report header definition in the HIDSPI protocol. it's giving "small struct, big responsibilities" and honestly? we're obsessed. πŸŽ€


✨ SYNOPSIS ✨

struct output_report_header {
    u8 report_type;
    __le16 content_len;
    u8 content_id;
 };

like, that's the whole thing. three fields. no cap, she's compact. πŸ¦‹


🌸 Members 🌸

  • report_type β€” the output report type, and it's a reference to enum output_report_type (go look it up, bestie, it's right there πŸ’…)
  • content_len β€” length of content. that's it. that's the field. __le16 so mind your endianness, fr fr. ⭐
  • content_id β€” okay this one's the multitasker of the group and it depends on context, so listen up:
    • 0x00 β€” descriptors report id 🌈
    • Set/Feature feature 🌸
    • or Input/Output Reports command opcode β€” for commands πŸ‘‘

literally "it depends" energy but make it kernel, and we respect it. πŸ’œ


πŸ¦‹ SEE ALSO πŸ¦‹

  • Kernel file ./include/linux/hid-over-spi.h
  • struct input_report_body_header(9)
  • struct input_report_body(9)
  • struct output_report(9)
  • struct hidspi_dev_descriptor(9)

go read those next, bestie, they're all in the same friend group 🫢


okay that's the whole page, mwah. πŸ’– this icon lives in ./include/linux, dated October 2026, and she answers to struct output_report_header(9) β€” periodt. πŸ‘‘βœ¨

πŸ“¦ where this page comes from