N_TTY_BUF_SIZE
u8 read_buf[N_TTY_BUF_SIZE];
DECLARE_BITMAP(read_flags, N_TTY_BUF_SIZE);
u8 echo_buf[N_TTY_BUF_SIZE];
#define MASK(x) ((x) & (N_TTY_BUF_SIZE - 1))
size_t n = min(count, N_TTY_BUF_SIZE - head);
size_t size = N_TTY_BUF_SIZE - tail;
room = N_TTY_BUF_SIZE - (ldata->read_head - tail);
bitmap_zero(ldata->read_flags, N_TTY_BUF_SIZE);
n = min3(head - ldata->read_tail, N_TTY_BUF_SIZE - tail, *nr);
size = min_t(size_t, tail + n, N_TTY_BUF_SIZE);
if (eol == N_TTY_BUF_SIZE && more) {
if (n > N_TTY_BUF_SIZE)
n += N_TTY_BUF_SIZE;
tail &= (N_TTY_BUF_SIZE - 1);
if (N_TTY_BUF_SIZE - read_cnt(ldata) >= TTY_THRESHOLD_THROTTLE)
bitmap_zero(ldata->read_flags, N_TTY_BUF_SIZE);
#define ECHO_DISCARD_WATERMARK N_TTY_BUF_SIZE - (ECHO_BLOCK + 32)