tty_tiocmget(9)

πŸ“¦ version 7.3.1, in nixpkgs unstable

🌸 tty_tiocmget(9) β€” get modem status 🌸

okay bestie, welcome to the tty_tiocmget(9) page from the Kernel API Manual πŸ’– this one is short and sweet and honestly a little iconic for how simple it is. let's get into it ✨


✨ NAME ✨

tty_tiocmget β€” get modem status πŸŽ€


πŸ¦‹ SYNOPSIS πŸ¦‹

int tty_tiocmget (struct tty_struct *tty , int __user *p );

like, that's the whole signature. it gives you back an int and it takes two things. slay πŸ’…


🌸 ARGUMENTS 🌸

  • tty β€” the tty device πŸ’œ like, the actual thing you're asking about.
  • p β€” pointer to result 🌟 this is where the answer gets parked, in userspace.

πŸ‘‘ DESCRIPTION πŸ‘‘

so here's the vibe: this function goes and gets the modem status bits from the tty driver β€” but only if the feature is supported. if it's not supported, it hits you with -ENOTTY and honestly good for it for being honest 😭 no cap.

Locking: none (up to the driver) πŸ™ˆ β€” yeah, that means locking is literally not this function's problem, it's on the driver to sort itself out. main character energy, but for the driver.


πŸ’€ SEE ALSO πŸ’€

Kernel file ./drivers/tty/tty_io.c β€” and the whole friend group lives there too, fr fr:

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), tiocswinsz(9), tioccons(9), tiocsetd(9), tiocgetd(9), send_break(9), tty_get_tiocm(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)

🫢 tiny note bestie: tty_get_tiocm(9) and tty_tiocmset(9) are right there next to this one in the list, so if you're going down the modem-status rabbit hole, iykyk ✨

aaaand that's the whole page πŸŽ€ it's giving "small function, big responsibilities, zero locking of its own" πŸ’… this little baby ships out of ./drivers/tty and was dated October 2026 β€” so go forth and go get those modem status bits, bestie πŸŒˆβ­πŸ’–

πŸ“¦ where this page comes from