STRUCT RPMSG_EPTDEV(9)
β¨ struct rpmsg_eptdev(9) β¨
okay so bestie, we're in the Kernel API Manual today and this one is literally the glow-up of a struct you're gonna meet in ./drivers/rpmsg/rpmsg_char.c β it's called struct rpmsg_eptdev, and it's basically the endpoint device context π like, it holds the whole vibe of one rpmsg endpoint device. no cap. π
πΈ SYNOPSIS πΈ
here's the whole squad, exactly as it appears, don't @ me:
struct rpmsg_eptdev {
struct device dev;
struct cdev cdev;
struct rpmsg_device *rpdev;
struct rpmsg_channel_info chinfo;
struct mutex ept_lock;
struct rpmsg_endpoint *ept;
struct rpmsg_endpoint *default_ept;
spinlock_t queue_lock;
struct sk_buff_head queue;
wait_queue_head_t readq;
bool remote_flow_restricted;
bool remote_flow_updated;
};
π Members π
devβ the endpoint device itself. the main character π«cdevβ the cdev for the endpoint device. yes queen, char device representation β¨rpdevβ the underlaying rpmsg device. (their spelling, not mine, keeping it 100% exact fr fr) π«Άchinfoβ the info used to open the endpoint. like the lil guest list πept_lockβ synchronization ofeptmodifications. keeps everyone from touching ept at the same time, iconic πeptβ rpmsg endpoint reference, when open. note the when open β she's conditional π¦default_eptβ set to channel default endpoint if the default endpoint should be re-used on device open to prevent endpoint address update. iykyk, this one's doing the quiet important work πqueue_lockβ synchronization of queue operations. another lock, another slay πqueueβ incoming message queue. the inbox, but make it kernel πΈreadqβ wait object for incoming queue. she waits, patiently, dramatically πremote_flow_restrictedβ to indicate if the remote has requested for flow to be limited. the remote said "chill please" π§remote_flow_updatedβ to indicate if the flow control has been requested. basically the "did someone ask tho" flag π
π¦ SEE ALSO π¦
- Kernel file
./drivers/rpmsg/rpmsg_char.cβ go read her, she's the whole reason this struct exists bestie π
π quick vibe check: every field above is listed exactly as the kernel declares it β don't rename anything, the compiler will absolutely notice and it will not be slay.
β¨ and that's the page! β¨ this cutie came from ./drivers/rpmsg, dated October 2026, and she's filed under struct rpmsg_eptdev(9) in the Kernel API Manual β go forth and be iconic with your endpoints, bestie ππ«Άπ
π¦ 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