STRUCT MEI_EXT_HDR(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct mei_ext_hdr(9) β€” bestie, let me introduce you

okay so first things first, the page you're on is struct mei_ext_hdr(9) β€” that's the title, and it lives in the Kernel API Manual. Consider yourself formally introduced 🫢


✨ NAME ✨

struct mei_ext_hdr β€” the extend header descriptor, aka a TLV situation. no cap, that's literally what it is. TLV = type/length/value and this little struct is the first two letters of that alphabet soup πŸ’–


πŸ¦‹ SYNOPSIS πŸ¦‹

here's the shape of it, exactly as it is, don't come for me about the formatting:

struct mei_ext_hdr {
    u8 type;
    u8 length;
 };

two tiny fields. main character energy in eight bytes total. it's giving minimalist icon πŸ‘‘


🌸 Members 🌸

so these are the actual members, and yes I'm gonna tell you about each one because they both matter:

  • type β€” this one's an enum mei_ext_hdr_type. that's the "T" in TLV, the whole personality of the descriptor.
  • length β€” and this is the length excluding the descriptor itself. read that again: excluding the descriptor. not including. don't count it. this is the kind of detail that will absolutely bite you at 3am if you skim 😭
lowkey a vibe check reminder: length does NOT count the descriptor. write it on your hand. put it in your notes app. tattoo it. whatever works πŸŽ€

πŸ”₯ SEE ALSO πŸ”₯

okay this is the part where the manpage flexes its entire friend group, and I'm listing every single one because nobody gets left behind πŸ’œ

the kernel file to go look at is ./drivers/misc/mei/hw.h, and then:

  • enum mei_hbm_status(9)
  • enum mei_ext_hdr_type(9)
  • struct mei_ext_meta_hdr(9)
  • struct mei_ext_hdr_vtag(9)
  • mei_ext_begin(9)
  • mei_ext_last(9)
  • struct mei_ext_hdr_gsc_h2f(9)
  • struct mei_ext_hdr_gsc_f2h(9)
  • mei_ext_next(9)
  • mei_ext_hdr_len(9)
  • struct mei_msg_hdr(9)
  • struct mei_hbm_cl_cmd(9)
  • enum hbm_host_enum_flags(9)
  • struct hbm_host_enum_request(9)
  • struct mei_client_properties(9)
  • struct hbm_add_client_request(9)
  • struct hbm_add_client_response(9)
  • struct hbm_power_gate(9)
  • struct hbm_client_connect_request(9)
  • struct hbm_client_connect_response(9)
  • struct hbm_notification_request(9)
  • struct hbm_notification_response(9)
  • struct hbm_notification(9)
  • struct hbm_dma_mem_dscr(9)
  • struct hbm_dma_setup_request(9)
  • struct hbm_dma_setup_response(9)
  • struct hbm_dma_ring_ctrl(9)
  • struct hbm_capability_request(9)
  • struct hbm_capability_response(9)
  • struct hbm_client_dma_map_request(9)
  • struct hbm_client_dma_unmap_request(9)
  • struct hbm_client_dma_response(9)

that's the whole squad. thirty-two entries, all invited, all seated at the table πŸ“


and that's the page!! mwah πŸ’‹ this one came from ./drivers/misc/mei and it's dated October 2026, so if you're reading it, hi from the future, you're doing amazing, slay βœ¨πŸŒˆπŸ‘‘

πŸ“¦ where this page comes from