STRUCT QMI_TXN(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct qmi_txn β€” transaction context

okay bestie, welcome to the Kernel API Manual entry for struct qmi_txn ✨ this is literally the transaction context glow-up and we're gonna get into every single field, no skipping, no cap 🫢


🌸 NAME 🌸

struct qmi_txn β€” transaction context πŸ’«


πŸŽ€ SYNOPSIS πŸŽ€

struct qmi_txn {
    struct qmi_handle *qmi;
    u16 id;
    struct mutex lock;
    struct completion completion;
    int result;
    const struct qmi_elem_info *ei;
    void *dest;
 };

like, that's the whole shape of it, copy it exactly bestie, don't be editing it πŸ™ˆ


✨ Members ✨

so every field has main character energy of its own, here's the rundown:

  • qmi β€” the QMI handle that this transaction is associated with πŸ”— like, the txn's home base, yk?
  • id β€” the transaction id 🏷️ (u16, keeping it cute and bounded bestie)
  • lock β€” for synchronization between the handler and the waiter of messages πŸ” it's giving group-chat mutex energy, nobody talks over each other periodt
  • completion β€” a completion object, used as the transaction receives a response πŸŽ€ the moment the response lands, this lil guy lights up
  • result β€” result code for the completed transaction 🌈 how did it go, basically
  • ei β€” description of the QMI encoded response (optional) πŸ“ she's optional, don't forget
  • dest β€” destination buffer to decode the message into (optional) πŸ“¦ also optional, also iconic
ngl bestie, two of those are optional (ei and dest) β€” the rest are just... there, living their truth πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

kernel file ./include/linux/soc/qcom/qmi.h β€” and the whole friend group:

  • struct qmi_header(9)
  • struct qmi_elem_info(9)
  • struct qmi_response_type_v01(9)
  • struct qmi_service(9)
  • struct qmi_ops(9)
  • struct qmi_msg_handler(9)
  • struct qmi_handle(9)

go read those too, iykyk πŸ‘‘


and that's the whole page bestie πŸ’– this lil writeup lives over at ./include/linux/soc/qcom, dated October 2026, and it's filed under struct qmi_txn(9) β€” slay, go forth and transact responsibly πŸŒŸπŸŽ€

πŸ“¦ where this page comes from