| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 1 | #ifndef _LINUX_TTY_FLIP_H | 
 | 2 | #define _LINUX_TTY_FLIP_H | 
 | 3 |  | 
| Alan Cox | 33f0f88 | 2006-01-09 20:54:13 -0800 | [diff] [blame] | 4 | extern int tty_buffer_request_room(struct tty_struct *tty, size_t size); | 
 | 5 | extern int tty_insert_flip_string(struct tty_struct *tty, unsigned char *chars, size_t size); | 
 | 6 | extern int tty_insert_flip_string_flags(struct tty_struct *tty, unsigned char *chars, char *flags, size_t size); | 
 | 7 | extern int tty_prepare_flip_string(struct tty_struct *tty, unsigned char **chars, size_t size); | 
 | 8 | extern int tty_prepare_flip_string_flags(struct tty_struct *tty, unsigned char **chars, char **flags, size_t size); | 
 | 9 |  | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 10 | #ifdef INCLUDE_INLINE_FUNCS | 
 | 11 | #define _INLINE_ extern | 
 | 12 | #else | 
 | 13 | #define _INLINE_ static __inline__ | 
 | 14 | #endif | 
 | 15 |  | 
| Alan Cox | 33f0f88 | 2006-01-09 20:54:13 -0800 | [diff] [blame] | 16 | _INLINE_ int tty_insert_flip_char(struct tty_struct *tty, | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 17 | 				   unsigned char ch, char flag) | 
 | 18 | { | 
| Alan Cox | 33f0f88 | 2006-01-09 20:54:13 -0800 | [diff] [blame] | 19 | 	struct tty_buffer *tb = tty->buf.tail; | 
 | 20 | 	if (tb && tb->used < tb->size) { | 
 | 21 | 		tb->flag_buf_ptr[tb->used] = flag; | 
 | 22 | 		tb->char_buf_ptr[tb->used++] = ch; | 
 | 23 | 		return 1; | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 24 | 	} | 
| Alan Cox | 33f0f88 | 2006-01-09 20:54:13 -0800 | [diff] [blame] | 25 | 	return tty_insert_flip_string_flags(tty, &ch, &flag, 1); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 26 | } | 
 | 27 |  | 
 | 28 | _INLINE_ void tty_schedule_flip(struct tty_struct *tty) | 
 | 29 | { | 
| Alan Cox | 33f0f88 | 2006-01-09 20:54:13 -0800 | [diff] [blame] | 30 | 	schedule_delayed_work(&tty->buf.work, 1); | 
| Linus Torvalds | 1da177e | 2005-04-16 15:20:36 -0700 | [diff] [blame] | 31 | } | 
 | 32 |  | 
 | 33 | #undef _INLINE_ | 
 | 34 |  | 
 | 35 |  | 
 | 36 | #endif /* _LINUX_TTY_FLIP_H */ | 
 | 37 |  | 
 | 38 |  | 
 | 39 |  | 
 | 40 |  | 
 | 41 |  | 
 | 42 |  | 
 | 43 |  |