STRUCT WILCO_EC_MESSAGE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct wilco_ec_message β€” Request and response message ✨

okay bestie, so this is a page straight out of the Kernel API Manual, and it's about struct wilco_ec_message β€” literally the little envelope you use to slide a message over to the EC (embedded controller) and get one back. Think of it as your request-and-response situationship, formalized in C. πŸ’Œ


🌸 SYNOPSIS 🌸

struct wilco_ec_message {
    enum wilco_ec_msg_type type;
    u8 flags;
    size_t request_size;
    void *request_data;
    size_t response_size;
    void *response_data;
 };

πŸŽ€ Members πŸŽ€

  • type β€” the mailbox message type. basically what kind of message you're sending, iykyk.
  • flags β€” message flags, e.g. WILCO_EC_FLAG_NO_RESPONSE. little extra vibes attached to the message.
  • request_size β€” number of bytes to send to the EC. count 'em.
  • request_data β€” buffer containing the request data. this is the payload you're shipping out 🫢
  • response_size β€” number of bytes to read from EC. how much you're expecting back.
  • response_data β€” buffer containing the response data. it should be response_size bytes and allocated by caller β€” so yes, that's on you, not on the kernel. no cap, do your own mallocing. πŸ’…
heads up bestie: that last one is a classic gotcha. response_data must be allocated by the caller and sized to exactly response_size bytes. don't be out here handing it an unallocated pointer, that's giving undefined chaos. 😭

πŸ’œ SEE ALSO πŸ’œ


and that's the whole page, bestie β€” iconic, no notes. this one's filed under ./include/linux/platform_data and stamped October 2026, so go forth and message your EC responsibly πŸ¦‹πŸ’–βœ¨

πŸ“¦ where this page comes from