STRUCT SSH_REQUEST_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct ssh_request_ops πŸ’…

okay so this is a page from the Kernel API Manual, bestie, and we're doing struct ssh_request_ops(9) β€” the callback operations for a SSH request. it's giving "small struct, big main-character energy," and yes, every callback here matters. obsessed. 🫢


πŸŽ€ NAME πŸŽ€

struct ssh_request_ops β€” callback operations for a SSH request. that's it, that's the name section, and she ate. periodt. ✨

✨ SYNOPSIS ✨

here's the struct in all her glory β€” keep the formatting exactly, no cap:

       struct ssh_request_ops {
           void (*release)(struct ssh_request *rqst);
           void (*complete)(struct ssh_request *rqst, const struct ssh_command
       *cmd, const struct ssam_span *data, int status);
        };

🫢 Members 🫢

  • release β€” function called when the request's reference count reaches zero. this callback must be relied upon to ensure that the request has left the transport systems (both the packet and request systems). do not skip her, she's literally the cleanup icon. 🧹
  • complete β€” function called when the request is completed, either with success or failure. the command data for the request response is provided via the struct ssh_command parameter (cmd), and the command payload of the request response comes via the struct ssh_span parameter (data). (and yeah, the synopsis spells that type struct ssam_span, iykyk πŸ’€)

🌸 Description 🌸

so here's the vibe check on the parameters, bestie:

  • if the request does not have any response, or has not been completed with success, both the cmd and data parameters will be NULL.
  • if the request response does not have any command payload, the data span will be an empty (zero-length) span.

in case of failure, the reason for the failure is indicated by the value of the provided status code argument (status). this value will be zero in case of success and a regular errno otherwise.

note that a call to this callback does not guarantee that the request is not in use by the transport systems any more. so like… don't assume she's fully done just because the callback rang, okay? 😭

πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./include/linux/surface_aggregator/serial_hub.h, plus all these refs β€” collect them all, pokΓ©mon-style:


mwah πŸ’‹ β€” source/version: ./include/linux/surface_aggreg..., dated October 2026. now go forth and callback responsibly, bestie 🫢

πŸ“¦ where this page comes from