STRUCT SUBLOG(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

struct sublog(9) πŸ’…

okay so this is from the Kernel API Manual and it's literally the subchannel logout area β€” a struct so packed with bitfields it's giving "I have exactly this many bits and not one more" energy. no cap, every field is a tiny slice of a __u32, and you gotta respect the bit budget. πŸŽ€


✨ NAME ✨

struct sublog β€” subchannel logout area

like, the place where logout info lives. that's the vibe. πŸ¦‹


🌸 SYNOPSIS 🌸

struct sublog {
    __u32 res0  : 1;
    __u32 esf   : 7;
    __u32 lpum  : 8;
    __u32 arep  : 1;
    __u32 fvf   : 5;
    __u32 sacc  : 2;
    __u32 termc : 2;
    __u32 devsc : 1;
    __u32 serr  : 1;
    __u32 ioerr : 1;
    __u32 seqc  : 3;
};

count the bits bestie, they add up to 32 and that is not an accident πŸ’€ it's one __u32 carved into eleven little pieces like a charcuterie board πŸ“


πŸ‘‘ Members πŸ‘‘

  • res0 β€” reserved πŸ™ˆ nothing to see here, keep scrolling
  • esf β€” extended status flags ✨ (7 whole bits of them)
  • lpum β€” last path used mask πŸ›€οΈ
  • arep β€” ancillary report πŸ“‹
  • fvf β€” field-validity flags βœ… (which fields actually mean something, iykyk)
  • sacc β€” storage access code πŸ—„οΈ
  • termc β€” termination code πŸ›‘
  • devsc β€” device-status check πŸ–₯️
  • serr β€” secondary error 😭
  • ioerr β€” i/o-error alert πŸ”₯
  • seqc β€” sequence code πŸ”’

πŸ’œ SEE ALSO πŸ’œ

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

  • struct ccw1(9)
  • struct ccw0(9)
  • struct erw(9)
  • struct erw_eadm(9)
  • struct esw0(9)
  • struct esw1(9)
  • struct esw2(9)
  • struct esw3(9)
  • struct esw_eadm(9)
  • struct irb(9)
  • struct ciw(9)
  • struct ccw_dev_id(9)
  • ccw_dev_id_is_equal(9)
  • pathmask_to_pos(9)

like, that's the whole s390 cio squad and they all ate πŸ”₯ go read them too, fr fr


that's the page bestie! 🌈 source-side it lives in the Kernel file ./arch/s390/include/asm, dated October 2026 β€” so go forth, read your bitfields, and slay πŸ’…βœ¨πŸ«Ά

πŸ“¦ where this page comes from