n_tty_receive_char(9)
π n_tty_receive_char(9) π
okay bestie, welcome to the Kernel API Manual β¨ this one's a lil function out of n_tty and it's honestly giving "tiny but load-bearing" π«Ά
πΈ NAME πΈ
n_tty_receive_char β perform processing π
like. that's the whole name-and-purpose combo. "perform processing." iconic of the kernel to be that vague ngl, but we move π
β¨ SYNOPSIS β¨
void n_tty_receive_char (struct tty_struct *tty , u8 c );
returns nothing (void, periodt), takes exactly two things, no cap π
π ARGUMENTS π
ttyβ the terminal device, bestie. the whole vibe lives here π₯οΈβ¨cβ a single character. one (1) char. that's the guest of honour π
π¦ DESCRIPTION π¦
so here's the tea β: this function processes an individual character of input that's been received from the driver. one char at a time, main character energy π
and it's serialized with respect to itself by the rules for the driver above β meaning the kernel's already got the concurrency situation handled upstream, so this one doesn't have to fight itself fr fr π§
β οΈ Locking deets, don't skip these (iykyk): on then_tty_receive_buf/producer path, the caller holds a non-exclusivetermios_rwsem, and it publishescanon_headif canonical mode is active π«Ά
like, that locking note is not decoration, it's the whole contract. respect it π
π SEE ALSO π
grab a snack, this list is LONG and we're listing every single one, no skipping ππ
kernel file ./drivers/tty/n_tty.c plus: n_tty_kick_worker(9), n_tty_write_wakeup(9), put_tty_queue(9), reset_buffer_flags(9), n_tty_flush_buffer(9), is_utf8_continuation(9), is_continuation(9), do_output_char(9), process_output(9), process_output_block(9), __process_echoes(9), add_echo_byte(9), echo_move_back_col(9), echo_set_canon_col(9), echo_erase_tab(9), echo_char_raw(9), echo_char(9), finish_erasing(9), eraser(9), isig(9), n_tty_receive_break(9), n_tty_receive_overrun(9), n_tty_receive_parity_error(9), n_tty_receive_char_flow_ctrl(9), n_tty_receive_buf_common(9), n_tty_set_termios(9), n_tty_close(9), n_tty_open(9), copy_from_read_buf(9), canon_copy_from_read_buf(9), job_control(9), n_tty_read(9), n_tty_write(9), n_tty_poll(9), n_tty_inherit_ops(9) π¦πΈβ
aaaand that's the page! π
sign-off time: this lil beauty comes from ./drivers/tty and it's dated October 2026 β go off, tty subsystem ππ₯ slay, mwah ππ
π¦ 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