tiocswinsz(9)
πΈ tiocswinsz(9) β the "bestie, resize my window" kernel API π
okay so this is a page straight out of the Kernel API Manual for tiocswinsz(9) β the kernel-side handler that implements the window size set ioctl. yes, the one that makes your terminal window change size. she's lowkey iconic.
β¨ NAME β¨
tiocswinsz β implement window size set ioctl
π¦ SYNOPSIS π¦
int tiocswinsz (struct tty_struct *tty , struct winsize __user *arg );
π ARGUMENTS π
ttyβ the tty side of the tty, bestie. that's the one we're resizing πargβ a user buffer for the result π«Ά
π₯ DESCRIPTION π₯
so what it actually does: it copies the user's idea of the window size over to the kernel. that's it, that's the whole vibe. π
traditionally this is just advisory information β like, a lil heads up, a suggestion, no cap. but for the Linux console it actually has driver level meaning and it triggers a VC resize. so on the console it's not just a suggestion, it's literally main character energy π₯
π Locking π
Locking here is driver dependent, so it's giving choose-your-own-adventure:
- the default
do_resizemethod takes the tty termios mutex andctrl.lock - the console takes its own lock first, then calls into the default method
ngl, the lock ordering is not a vibe you want to freestyle. read it twice, bestie. π
π SEE ALSO π
the whole squad, fr fr β kernel file ./drivers/tty/tty_io.c plus:
free_tty_struct(9)tty_free_file(9)tty_name(9)get_tty_driver(9)tty_dev_name_to_number(9)tty_find_polling_driver(9)tty_wakeup(9)tty_release_redirect(9)__tty_hangup(9)tty_hangup(9)tty_vhangup(9)tty_vhangup_self(9)tty_vhangup_session(9)tty_hung_up_p(9)stop_tty(9)start_tty(9)tty_read(9)tty_write(9)tty_send_xchar(9)pty_line_name(9)tty_line_name(9)tty_driver_lookup_tty(9)tty_init_termios(9)tty_standard_install(9)tty_driver_install_tty(9)tty_driver_remove_tty(9)tty_reopen(9)tty_init_dev(9)tty_save_termios(9)tty_flush_works(9)release_one_tty(9)tty_kref_put(9)release_tty(9)tty_release_checks(9)tty_kclose(9)tty_release_struct(9)tty_release(9)tty_open_current_tty(9)tty_lookup_driver(9)tty_kopen_exclusive(9)tty_kopen_shared(9)tty_open_by_driver(9)tty_open(9)tty_poll(9)tiocsti(9)tiocgwinsz(9)tty_do_resize(9)tioccons(9)tiocsetd(9)tiocgetd(9)send_break(9)tty_get_tiocm(9)tty_tiocmget(9)tty_tiocmset(9)tty_get_icount(9)alloc_tty_struct(9)tty_put_char(9)tty_register_device(9)tty_register_device_attr(9)tty_unregister_device(9)__tty_alloc_driver(9)tty_driver_kref_put(9)tty_register_driver(9)tty_unregister_driver(9)
that's the whole page, bestie β and it ships out of ./drivers/tty, stamped October 2026. go resize something responsibly πβ¨ππ«Ά
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms