STRUCT QAOB(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

✨ NAME ✨

struct qaob β€” the queue asynchronous operation block, bestie πŸ’…

So this is a struct from the Kernel API Manual (that's the manual name, cutie, consider it folded in πŸŽ€) and it lives in the kernel headers β€” it's the block that carries an async QDIO operation's results and storage-block info. Lowkey iconic. Periodt.


🌸 SYNOPSIS 🌸

struct qaob {
    u64 res0[6];
    u8 res1;
    u8 res2;
    u8 res3;
    u8 aorc;
    u8 flags;
    u16 cbtbs;
    u8 sb_count;
    dma64_t sba[QDIO_MAX_ELEMENTS_PER_BUFFER];
    u16 dcount[QDIO_MAX_ELEMENTS_PER_BUFFER];
    u64 user0;
    u64 res4[2];
    u8 user1[16];
 };

Like, that's the whole shape of it. Every field, every type, every array size β€” exactly as written, no cap 🫢


πŸ¦‹ Members πŸ¦‹

Okay so here's the member-by-member vibe check, one bullet each, nothing skipped:

  • res0 β€” reserved parameters πŸ™ˆ (yes, plural, it's a u64[6])
  • res1 β€” reserved parameter
  • res2 β€” reserved parameter
  • res3 β€” reserved parameter
  • aorc β€” asynchronous operation return code πŸ”₯ this is the one that tells you how the async op went
  • flags β€” internal flags
  • cbtbs β€” control block type
  • sb_count β€” number of storage blocks
  • sba β€” storage block element addresses (it's a dma64_t array sized QDIO_MAX_ELEMENTS_PER_BUFFER, fyi)
  • dcount β€” size of storage block elements (a u16 array, same QDIO_MAX_ELEMENTS_PER_BUFFER sizing)
  • user0 β€” user definable value ⭐
  • res4 β€” reserved parameter
  • user1 β€” user definable value πŸ’œ

So yeah β€” the reserved ones are just taking up space, don't touch them, and the user* ones are literally yours to play with ✨


πŸ’– SEE ALSO πŸ’–

Kernel file ./arch/s390/include/asm/qdio.h β€” and the whole friend group:

  • struct qdesfmt0(9)
  • struct qdr(9)
  • struct qib(9)
  • struct slibe(9)
  • struct slib(9)
  • struct qdio_buffer_element(9)
  • struct qdio_buffer(9)
  • struct sl_element(9)
  • struct sl(9)
  • struct slsb(9)
  • struct qdio_initialize(9)
Go read those too, bestie, they're all in the same header and they all know each other. Iykyk 🧚

Okay that's the whole page, mwah πŸ’‹ β€” this one ships from ./arch/s390/include/asm, dated October 2026, under the title struct qaob(9). Slay, bye! πŸ‘‘πŸŒˆ

πŸ“¦ where this page comes from