STRUCT SCMI_ITERATOR_OPS(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 NAME 🌸

struct scmi_iterator_ops β€” Custom iterator operations. okay so this is the Kernel API Manual page for it, and bestie it's literally the blueprint for custom iterators, no cap πŸ’….

✨ SYNOPSIS ✨

here's the struct exactly as it shows up β€” wrapped lines and all, iykyk:

       struct scmi_iterator_ops {
           void (*prepare_message)(void *message, unsigned int desc_index,
       const void *priv);
           int (*update_state)(struct scmi_iterator_state *st, const void
       *response, void *priv);
           int (*process_response)(const struct scmi_protocol_handle *ph, const
       void *response, struct scmi_iterator_state *st, void *priv);
        };

🧚 Members 🧚

  • prepare_message β€” this operation is where you provide the custom logic to fill in the SCMI command request pointed to by message. desc_index is a reference to the next index to use in the multi-part request. go off and slay that request-filling πŸ’–
  • update_state β€” this operation is where you provide the custom logic to update the iterator state from the actual message response. state update era, we love to see it ✨
  • process_response β€” this operation is where you provide the custom logic needed to process each chunk of the multi-part message. one chunk at a time, iconic behavior πŸŽ€

πŸ” SEE ALSO πŸ”

  • Kernel file ./drivers/firmware/arm_scmi/protocols.h
  • struct scmi_msg_resp_prot_version(9)
  • struct scmi_msg(9)
  • struct scmi_msg_hdr(9)
  • struct scmi_xfer(9)
  • struct scmi_protocol_handle(9)
  • struct scmi_iterator_state(9)
  • struct scmi_proto_helpers_ops(9)
  • struct scmi_xfer_ops(9)
  • struct scmi_protocol(9)
🫢 cute sign-off bestie: source ./drivers/firmware/arm_scmi, dated October 2026, page struct scmi_iterator_ops(9). byeee, go read those structs πŸ’œ
πŸ“¦ where this page comes from