rpmsg_trysend(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’Œ rpmsg_trysend(9) β€” literally the "send it and don't wait" girlie of the Kernel API Manual

okay so bestie, welcome to the <rainbow>rpmsg_trysend</rainbow> page πŸ’… this is the impatient little sibling of rpmsg_send β€” it sends a message across to the remote processor, and if it can't? it does not wait around. iconic behaviour, honestly.


✨ NAME ✨

rpmsg_trysend β€” send a message across to the remote processor 🫢


🌸 SYNOPSIS 🌸

int rpmsg_trysend (struct rpmsg_endpoint *ept , const void *data , int
len );

that's the whole vibe. no cap. ✨


πŸŽ€ ARGUMENTS πŸŽ€

  • ept β€” the rpmsg endpoint, aka the lil connection you're sending from πŸ’–
  • data β€” payload of message, aka the actual stuff you're yeeting over there πŸ“¦
  • len β€” length of payload, so the kernel knows how much of data is real and not just vibes 🌈

πŸ¦‹ DESCRIPTION πŸ¦‹

so what it does: this function sends data of length len on the ept endpoint. the message will be sent to the remote processor which the ept endpoint belongs to, using ept's address as source and its associated rpdev's address as destination. like a little addressed envelope, but make it silicon πŸ’Œβœ¨

now here's the main character trait: in case there are no TX buffers available, the function will immediately return -ENOMEM without waiting until one becomes available. highkey the whole point of this function. it does NOT queue up and wait, it does NOT hold your hand, it just says "nope, no buffers, bye" 😭

also, important: it can only be called from process context (for now). that "(for now)" is doing a lot of emotional labour, iykyk πŸ™ˆ


πŸ‘‘ RETURN πŸ‘‘

0 on success and an appropriate error value on failure. that's it, that's the whole mood. ⭐


πŸ”₯ SEE ALSO πŸ”₯

kernel file ./drivers/rpmsg/rpmsg_core.c β€” go read it, it's giving source of truth πŸ“–

the whole friend group fr fr πŸ’œ


and that's the page bestie 🧚 this one lives in ./drivers/rpmsg, dated October 2026, and it's filed right under rpmsg_trysend(9) β€” go forth and try to send, and if there's no buffer, at least you found out fast πŸ’€βœ¨

πŸ“¦ where this page comes from