STRUCT MBOX_CLIENT(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– STRUCT MBOX_CLIENT(9) πŸ’–

okay bestie, so this is a page straight out of the Kernel API Manual and it's literally about struct mbox_client β€” the user of a mailbox 🫢 like, the thing that actually sends stuff through it. no cap, it's giving "backstage pass to the mailbox club" energy.


✨ NAME ✨

struct mbox_client β€” User of a mailbox πŸ’Œ


🌸 SYNOPSIS 🌸

struct mbox_client {
    struct device *dev;
    bool tx_block;
    unsigned long tx_tout;
    bool knows_txdone;
    void (*rx_callback)(struct mbox_client *cl, void *mssg);
    void (*tx_prepare)(struct mbox_client *cl, void *mssg);
    void (*tx_done)(struct mbox_client *cl, void *mssg, int r);
};

look at that little struct, so organized, so iconic πŸ‘‘


πŸŽ€ Members πŸŽ€

  • dev β€” The client device. that's your whole identity babe πŸ’…
  • tx_block β€” If the mbox_send_message should block until data is transmitted. so like, does it sit there and wait until the message is actually sent? yes ma'am πŸ¦‹
  • tx_tout β€” Max block period in ms before TX is assumed failure. it's the "okay you've had your time, we're calling it" timer ⏰
  • knows_txdone β€” If the client could run the TX state machine. Usually if the client receives some ACK packet for transmission. Unused if the controller already has TX_Done/RTR IRQ. πŸ™ˆ lowkey a very specific vibe, but okay, we respect it
  • rx_callback β€” Atomic callback to provide client the data received. this is the part where your client gets handed the goods 🎁
  • tx_prepare β€” Atomic callback to ask client to prepare the payload before initiating the transmission if required. like a little "get ready bestie, you're about to send" heads-up ✨
  • tx_done β€” Atomic callback to tell client of data transmission. the "we're done here, you ate" notification πŸ”₯
heads-up: rx_callback, tx_prepare and tx_done are all atomic callbacks β€” the original page says atomic, and it means it. no sleeping on the job 😭

🌈 SEE ALSO 🌈

  • Kernel file ./include/linux/mailbox_client.h β€” go read it, iykyk πŸ“–

and that's the whole page, bestie! πŸ’œ this little legend comes from the source path ./include/linux, dated October 2026, and it's the struct mbox_client(9) page in the Kernel API Manual β€” so if you cite it, cite it correctly periodt πŸŽ€βœ¨πŸ¦‹

πŸ“¦ where this page comes from