STRUCT SOF_IPC4_TUPLE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… struct sof_ipc4_tuple(9) πŸ’…

okay bestie, welcome to the Kernel API Manual ✨ this one's short and sweet β€” it's giving "little struct, big responsibilities" and i'm obsessed 🫢


🌸 NAME 🌸

struct sof_ipc4_tuple β€” a generic type/ID + parameter tuple, fr fr πŸŽ€


✨ SYNOPSIS ✨

struct sof_ipc4_tuple {
    uint32_t type;
    uint32_t size;
    uint32_t value[];
};

like… that's it. three members. she's minimal, she's iconic, she's the tuple πŸ’…


πŸ¦‹ Members πŸ¦‹

  • type β€” the type/ID, aka "what flavour of thing is this" 🌈 it's the label on the box, iykyk
  • size β€” the size of the value array, and yes bestie it's measured in bytes (not elements!! don't do that to yourself 😭)
  • value β€” the actual value for the given type πŸ’– she's flexible, she's a [] flexible array member, she contains multitudes
ngl the way value is a flexible array member means the bytes just keep going after the struct β€” so size is literally your only clue about how much is actually there. trust her. read the size. πŸ™ˆ

πŸ”₯ SEE ALSO πŸ”₯

go read the kernel file ./include/sound/sof/ipc4/header.h first, that's the mothership πŸ‘‘

and then the whole friend group:

  • struct sof_ipc4_msg(9)
  • struct sof_ipc4_process_data_error_event_data(9)
  • struct sof_ipc4_mixer_underrun_event_data(9)
  • union sof_ipc4_resource_event_data(9)
  • struct sof_ipc4_notify_module_data(9)

and that's the whole page, bestie β€” short king energy πŸ‘‘

this lil masterpiece lives in ./include/sound/sof/ipc4, and the version vibes are dated October 2026 ⭐ so go forth, use your tuples responsibly, and slay πŸ’œπŸ§šβ€β™€οΈ

πŸ“¦ where this page comes from