STRUCT QDIO_INITIALIZE(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct qdio_initialize(9) πŸ’–

okay bestie, welcome to the Kernel API Manual entry for struct qdio_initialize β€” literally the qdio initialization data glow-up. it's the lil struct you fill out so qdio knows what you want. main character energy fr fr πŸ’…


✨ SYNOPSIS ✨

here's the whole vibe, every single field, no skips:

struct qdio_initialize {
    unsigned char q_format;
    unsigned char qdr_ac;
    unsigned int qib_param_field_format;
    unsigned char *qib_param_field;
    unsigned char qib_rflags;
    unsigned int no_input_qs;
    unsigned int no_output_qs;
    qdio_handler_t *input_handler;
    qdio_handler_t *output_handler;
    void (*irq_poll)(struct ccw_device *cdev, unsigned long data);
    unsigned long int_parm;
    struct qdio_buffer ***input_sbal_addr_array;
    struct qdio_buffer ***output_sbal_addr_array;
 };

like, look at her. she's structured. she's organized. she's everything. πŸŽ€


🌸 Members 🌸

bestie let's go field by field, i've got you:

  • q_format β€” the queue format. that's it, that's the whole thing πŸ’–
  • qdr_ac β€” feature flags to set. yes queen, set those flags ✨
  • qib_param_field_format β€” the format for qib_parm_field. (and yes, we're definitely spelling it qib_parm_field here, that's not a typo, that's the manual, iykyk)
  • qib_param_field β€” pointer to 128 bytes, or NULL if there's no param field. no field? no problem. πŸ™ˆ
  • qib_rflags β€” the rflags to set πŸ¦‹
  • no_input_qs β€” number of input queues πŸ”₯
  • no_output_qs β€” number of output queues πŸ”₯
  • input_handler β€” the handler to be called for input queues, and device-wide errors. yes bestie, she covers the errors too, multitasking icon πŸ‘‘
  • output_handler β€” the handler to be called for output queues πŸ’œ
  • irq_poll β€” the Data IRQ polling handler ⭐
  • int_parm β€” interruption parameter πŸŽ€
  • input_sbal_addr_array β€” per-queue array, each element points to 128 SBALs. literally per-queue, literally 128, we don't round down 🧚
  • output_sbal_addr_array β€” per-queue array, each element points to 128 SBALs. same energy, opposite direction πŸ’…

πŸ¦‹ SEE ALSO πŸ¦‹

go read your siblings, bestie, they're all iconic:

  • Kernel file ./arch/s390/include/asm/qdio.h
  • struct qdesfmt0(9)
  • struct qdr(9)
  • struct qib(9)
  • struct slibe(9)
  • struct qaob(9)
  • struct slib(9)
  • struct qdio_buffer_element(9)
  • struct qdio_buffer(9)
  • struct sl_element(9)
  • struct sl(9)
  • struct slsb(9)

ok that's the whole page bestie, nothing cut, nothing skipped, we ate and left no crumbs πŸ’€βœ¨

and a lil cute sign-off: this whole thing lives in ./arch/s390/include/asm, it's dated October 2026, and the page is struct qdio_initialize(9). mwah πŸ«ΆπŸŒˆπŸ“

πŸ“¦ where this page comes from