STRUCT IPA_QMI(9)
β¨ struct ipa_qmi(9) β¨
okay bestie, so this is a page from the Kernel API Manual and it's literally all about struct ipa_qmi β the QMI state that's associated with an IPA. no cap, that's the whole vibe check. it's giving "glue struct that holds all the QMI bookkeeping for one IPA" and honestly we're obsessed π
πΈ SYNOPSIS πΈ
struct ipa_qmi {
struct qmi_handle client_handle;
struct qmi_handle server_handle;
struct sockaddr_qrtr modem_sq;
struct work_struct init_driver_work;
bool initial_boot;
bool uc_ready;
bool modem_ready;
bool indication_requested;
bool indication_sent;
};
bestie look at that struct, it's so clean β¨ every single field is right there and we're gonna go through every one of them fr fr π
π Members π
client_handleβ this one is used to send QMI requests to the modem. it's your outgoing-call energy πserver_handleβ and this one is used to handle QMI requests coming from the modem. it's the one picking up the phone on the other side π«Άmodem_sqβ the QMAP socket address for the modem's QMI server. literally the address book entry so you know where the modem lives πΊοΈinit_driver_workβ a work structure used forINIT_DRIVERmessage handling. the little worker bee that gets scheduled when that message shows up πinitial_bootβTrueif the first boot has not yet completed. yes, it's a bool that means the opposite of its name, that's just how it is, we don't make the rules πuc_readyβTrueonce theDRIVER_INIT_COMPLETErequest has been received. slay, the microcontroller is ready πmodem_readyβTruewhen theINIT_DRIVERresponse has been received. modem said "i'm here" and we logged it π₯indication_requestedβTruewhen theINDICATION_REGISTERrequest has been received. someone asked for indications, noted πindication_sentβTruewhen theINIT_COMPLETEindication has been sent. we did the thing, periodt β
ok quick note: those four bools are the whole handshake storyline, and each one flips at a very specific moment β don't go flipping them yourself unless you know exactly which message triggers them, iykyk π
π SEE ALSO π
- Kernel file
./drivers/net/ipa/ipa_qmi.h ipa_qmi_setup(9)ipa_qmi_teardown(9)
those last two are the main character setup/teardown duo and you will be reading them next, no escaping it π¦
and that's the page bestie!! π it lives in ./drivers/net/ipa, this version is dated October 2026, and it's part of that good good Kernel API Manual energy. go forth and be iconic with your QMI state πππ
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms