STRUCT VIRTQUEUE_INFO(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ struct virtqueue_info(9) ✨

okay so bestie, welcome to the Kernel API Manual β€” this is the page for struct virtqueue_info, and honestly? it's giving "small struct, big responsibilities" πŸ’…


🌸 NAME 🌸

struct virtqueue_info β€” literally the info for a virtqueue that gets passed to find_vqs(). that's it, that's the whole vibe πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

struct virtqueue_info {
    const char *name;
    vq_callback_t *callback;
    bool ctx;
 };

like, three members. tiny. iconic. she does exactly what she needs to do and nothing more πŸ‘‘


πŸ’– Members πŸ’–

okay so let's go member by member, because each one has main character energy in her own way:

  • name β€” the virtqueue description. it's used mainly for debugging, so like, it's the little name tag she wears at the party 🏷️ and yeah β€” set it to NULL for a virtqueue that's unused by the driver. no name tag, no party, no problem.
  • callback β€” a callback to invoke on a used buffer notification. think of it as her phone number for when something's ready πŸ“ž and again: NULL for a virtqueue that does not need a callback. she's off duty, don't call her.
  • ctx β€” whether to maintain an extra context per virtqueue. yes/no, true/false, do we keep extra context or not 🫢 that's the whole question.
ngl bestie, name and callback both being NULL-able is very much "I'm flexible, I contain multitudes" and we love that for her πŸ’€

πŸ”₯ SEE ALSO πŸ”₯

go read these next, they're all connected, iykyk:


πŸ’œ one last thing bestie β€” this whole page lives in ./include/linux, and it's dated October 2026, and the page itself is struct virtqueue_info(9). so yeah, go forth, pass your info to find_vqs(), and slay βœ¨πŸ’…πŸ¦‹
πŸ“¦ where this page comes from