xref: /linux/Documentation/driver-api/tty/tty_buffer.rst (revision c900529f3d9161bfde5cca0754f83b4d3c3e0220)
1.. SPDX-License-Identifier: GPL-2.0
2
3==========
4TTY Buffer
5==========
6
7.. contents:: :local:
8
9Here, we document functions for taking care of tty buffer and their flipping.
10Drivers are supposed to fill the buffer by one of those functions below and
11then flip the buffer, so that the data are passed to :doc:`line discipline
12<tty_ldisc>` for further processing.
13
14Flip Buffer Management
15======================
16
17.. kernel-doc:: drivers/tty/tty_buffer.c
18   :identifiers: tty_prepare_flip_string
19           tty_flip_buffer_push tty_ldisc_receive_buf
20
21.. kernel-doc:: include/linux/tty_flip.h
22   :identifiers: tty_insert_flip_string_fixed_flag tty_insert_flip_string_flags
23           tty_insert_flip_char
24
25----
26
27Other Functions
28===============
29
30.. kernel-doc:: drivers/tty/tty_buffer.c
31   :identifiers: tty_buffer_space_avail tty_buffer_set_limit
32
33----
34
35Buffer Locking
36==============
37
38These are used only in special circumstances. Avoid them.
39
40.. kernel-doc:: drivers/tty/tty_buffer.c
41   :identifiers: tty_buffer_lock_exclusive tty_buffer_unlock_exclusive
42
43----
44
45Internal Functions
46==================
47
48.. kernel-doc:: drivers/tty/tty_buffer.c
49   :internal:
50