ecbbfd44a0
So this is it. The big step why we did all the work over the past kernel releases. Now everything is prepared, so nothing protects us from doing that big step. | | \ \ nnnn/^l | | | | \ / / | | | '-,.__ => \/ ,-` => | '-,.__ | O __.´´) ( .` | O __.´´) ~~~ ~~ `` ~~~ ~~ The buffers are now in the tty_port structure and we can start teaching the buffer helpers (insert char/string, flip etc.) to use tty_port instead of tty_struct all around. Signed-off-by: Jiri Slaby <jslaby@suse.cz> Acked-by: Alan Cox <alan@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
29 lines
1.2 KiB
C
29 lines
1.2 KiB
C
#ifndef _LINUX_TTY_FLIP_H
|
|
#define _LINUX_TTY_FLIP_H
|
|
|
|
extern int tty_buffer_request_room(struct tty_struct *tty, size_t size);
|
|
extern int tty_insert_flip_string_flags(struct tty_struct *tty, const unsigned char *chars, const char *flags, size_t size);
|
|
extern int tty_insert_flip_string_fixed_flag(struct tty_struct *tty, const unsigned char *chars, char flag, size_t size);
|
|
extern int tty_prepare_flip_string(struct tty_struct *tty, unsigned char **chars, size_t size);
|
|
extern int tty_prepare_flip_string_flags(struct tty_struct *tty, unsigned char **chars, char **flags, size_t size);
|
|
void tty_schedule_flip(struct tty_struct *tty);
|
|
|
|
static inline int tty_insert_flip_char(struct tty_struct *tty,
|
|
unsigned char ch, char flag)
|
|
{
|
|
struct tty_buffer *tb = tty->port->buf.tail;
|
|
if (tb && tb->used < tb->size) {
|
|
tb->flag_buf_ptr[tb->used] = flag;
|
|
tb->char_buf_ptr[tb->used++] = ch;
|
|
return 1;
|
|
}
|
|
return tty_insert_flip_string_flags(tty, &ch, &flag, 1);
|
|
}
|
|
|
|
static inline int tty_insert_flip_string(struct tty_struct *tty, const unsigned char *chars, size_t size)
|
|
{
|
|
return tty_insert_flip_string_fixed_flag(tty, chars, TTY_NORMAL, size);
|
|
}
|
|
|
|
#endif /* _LINUX_TTY_FLIP_H */
|