STRUCT CCW1(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’– struct ccw1(9) β€” channel command word πŸ’–

okay bestie, so this one's from the Kernel API Manual (the struct ccw1(9) page, iykyk) and it's literally the blueprint for talking to devices on s390. buckle up πŸŽ€


✨ NAME ✨

struct ccw1 β€” the channel command word. that's it, that's the whole vibe. πŸ‘‘


🌸 SYNOPSIS 🌸

struct ccw1 {
    __u8 cmd_code;
    __u8 flags;
    __u16 count;
    dma32_t cda;
};

look at her. four little fields. main character energy fr fr πŸ’…


πŸ¦‹ Members πŸ¦‹

  • cmd_code β€” the command code. this is the "what are we even doing" of the whole thing πŸ’«
  • flags β€” flags, like IDA addressing, etc. little mood-setters 🚩
  • count β€” byte count. how many bytes we're moving, no cap πŸ“
  • cda β€” data address. where the data actually lives 🏠

🌈 Description 🌈

so the ccw is the basic building block β€” the structure you stack up to build channel programs that perform operations with the device or the control unit. think of it as the group chat message you send to the hardware 🫢

⚠️ real talk: only Format-1 channel command words are supported. don't come at it with format-0, it's not gonna happen πŸ’€

πŸŽ€ SEE ALSO πŸŽ€

Kernel file ./arch/s390/include/asm/cio.h plus the whole friend group:

  • struct ccw0(9)
  • struct erw(9)
  • struct erw_eadm(9)
  • struct sublog(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)

go read them, they're iconic too ✨


and that's the page!! sourced from ./arch/s390/include/asm, dated October 2026, footer still repping struct ccw1(9) πŸ§šπŸ’œ mwah, slay, bye bestie πŸ’–

πŸ“¦ where this page comes from