STRUCT FWCTL_RPC_PDS(9)
π struct fwctl_rpc_pds(9) π
Okay so bestie, welcome to the Kernel API Manual β yes we're literally reading kernel headers for fun now, this is the era we're in, and honestly? iconic. Today's main character is struct fwctl_rpc_pds, and ngl the NAME section is giving mystery. There's no description after the dash. Nothing. Silence. The struct simply exists and refuses to explain itself. We respect the mystique. π
β¨ SYNOPSIS β¨
Here's the whole shape of it, copied exactly, no cap:
struct fwctl_rpc_pds {
struct {
__u32 op;
__u32 ep;
__u32 rsvd;
__u32 len;
__aligned_u64 payload;
} in;
struct {
__u32 retval;
__u32 rsvd[2];
__u32 len;
__aligned_u64 payload;
} out;
};
See how it's split into two little nested structs, in and out? It's giving "request in, response out" energy. A whole conversation in one struct. Obsessed. π¦
πΈ Members πΈ
π in β rpc in parameters
The stuff you're sending. The ask. The "hey bestie can you do this for me" half of the struct.
in.opβ the requested operation code. This is the "what do you want me to do" field, fr fr.in.epβ the firmware endpoint to operate on. Like, which part of the firmware are we talking to. Pick your target wisely. π―in.rsvdβ reserved. Hands off, it's not for you, leave it alone. πin.lenβ length of payload data. How many bytes are we actually sending.in.payloadβ address of payload buffer. The actual goods, pointed at by address.__aligned_u64, so it's aligned, because of course it is. β¨
π out β rpc out parameters
The reply. The firmware's answer back to you. The group chat response after you send the message.
out.retvalβ operation result value. Did it slay or did it flop? This tells you.out.rsvdβ reserved. This one'srsvd[2], an array of two β so two whole reserved slots, and you're touching neither of them. πout.lenβ length of result data buffer. How much came back.out.payloadβ address of payload data buffer. Where the result actually lives. Also__aligned_u64. Consistent queen. π
π«Ά SEE ALSO π«Ά
Go read these next, it's a whole little family:
- Kernel file
./include/uapi/fwctl/pds.h struct fwctl_info_pds(9)enum pds_fwctl_capabilities(9)
Lowkey reminder: the rsvd fields are reserved. Don't be the one who writes into them. That's not a vibe, that's a bug. π
And that's the page, bestie! Sourced from ./include/uapi/fwctl, dated October 2026, and signed off with the header struct fwctl_rpc_pds(9) because we always come full circle. π« Stay aligned, stay reserved, and go read your headers. π§π
π¦ 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