itcw_init(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

πŸ’… itcw_init(9) β€” the kernel API glow-up

okay bestie, welcome to itcw_init(9) ✨ this is a page from the Kernel API Manual and it's all about getting your incremental tcw data structure ready to slay. it's in ./drivers/s390/cio if you're wondering where it lives πŸŽ€


🌸 NAME 🌸

itcw_init β€” initializes the incremental tcw data structure, no cap πŸ’–


✨ SYNOPSIS ✨

struct itcw * itcw_init (void *buffer , size_t size , int op , int intrg
, int max_tidaws , int intrg_max_tidaws );

πŸ¦‹ ARGUMENTS πŸ¦‹

  • buffer β€” the address of the buffer you're gonna use for the data structures 🫢
  • size β€” how many bytes are in that buffer, literally the byte count
  • op β€” pass ITCW_OP_READ if you want a read operation tcw, or ITCW_OP_WRITE if you want a write operation tcw. pick your fighter πŸ’…
  • intrg β€” if this is non-zero, an interrogate tcw gets added and initialized ✨
  • max_tidaws β€” the maximum number of tidaws used for data addressing, or zero if no tida is to be used
  • intrg_max_tidaws β€” the maximum number of tidaws used for data addressing by the interrogate tcw, if one was specified πŸ‘‘

πŸ’œ DESCRIPTION πŸ’œ

so the whole vibe here is: you hand over this buffer and itcw_init preps it to be used as an incremental tcw β€” which is basically a helper data structure that lets you build a valid tcw through successive calls to other helper functions. teamwork, iykyk 🧚

⚠️ heads up bestie: the buffer needs to be located below the 2G address limit. that's not optional, that's the law πŸ’€

and the resulting tcw comes with these restrictions, fr fr:

  • no tccb tidal
  • input/output tidal is contiguous (no ttic)
  • total data should not exceed 4k
  • tcw specifies either read or write operation

on success, it returns a pointer to the resulting incremental tcw data structure. otherwise you get ERR_PTR β€” not iconic, but that's the deal πŸ™ˆ


πŸ”₯ SEE ALSO πŸ”₯

Kernel file ./drivers/s390/cio/itcw.c, plus these baddies: itcw_get_tcw(9), itcw_calc_size(9), itcw_add_dcw(9), itcw_add_tidaw(9), itcw_set_data(9), itcw_finalize(9) ⭐


and that's the whole page, bestie πŸŽ€ mwah πŸ’‹

this little love letter comes to you from ./drivers/s390/cio, dated October 2026, and it's your girl itcw_init(9) signing off πŸŒˆπŸ’–πŸ¦‹

πŸ“¦ where this page comes from