STRUCT QMI_HEADER(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

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

okay so bestie, welcome to the Kernel API Manual entry for struct qmi_header β€” the literal wireformat header of QMI messages ✨ like, this is the little header that rides in front of every QMI message on the wire, and honestly? iconic.


🌸 NAME 🌸

struct qmi_header β€” the wireformat header of QMI messages, no cap πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct qmi_header {
    u8 type;
    __le16 txn_id;
    __le16 msg_id;
    __le16 msg_len;
 };

that's the whole struct, she's small but she's main character energy πŸ’…


✨ Members ✨

  • type β€” the type of message πŸ‘‘ this is a u8, so just a lil one-byte vibe check.
  • txn_id β€” the transaction id πŸŽ€ it's a __le16, so little-endian, periodt.
  • msg_id β€” the message id πŸ¦‹ also a __le16, also little-endian, ikyk.
  • msg_len β€” the length of the message payload that follows the header πŸ’– __le16 again, keeping it consistent, we love to see it.

πŸ‘€ SEE ALSO πŸ‘€

  • the Kernel file ./include/linux/soc/qcom/qmi.h πŸ“ (this is where she lives, fr fr)
  • struct qmi_elem_info(9)
  • struct qmi_response_type_v01(9)
  • struct qmi_service(9)
  • struct qmi_ops(9)
  • struct qmi_txn(9)
  • struct qmi_msg_handler(9)
  • struct qmi_handle(9)

like, the whole qmi friend group honestly 🫢 go read all of them.


and that's the page!! 🌈 this one came from ./include/linux/soc/qcom, dated October 2026, and yes it's still struct qmi_header(9) at the bottom too πŸ’œ mwah, love u, go read your headers 🧚⭐

πŸ“¦ where this page comes from