diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/linux/tty.h | 9 | ||||
-rw-r--r-- | include/linux/tty_ldisc.h | 7 |
2 files changed, 10 insertions, 6 deletions
diff --git a/include/linux/tty.h b/include/linux/tty.h index 324a3b231d40..013711ea7385 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
@@ -185,6 +185,7 @@ struct tty_struct { | |||
185 | struct tty_driver *driver; | 185 | struct tty_driver *driver; |
186 | const struct tty_operations *ops; | 186 | const struct tty_operations *ops; |
187 | int index; | 187 | int index; |
188 | /* The ldisc objects are protected by tty_ldisc_lock at the moment */ | ||
188 | struct tty_ldisc ldisc; | 189 | struct tty_ldisc ldisc; |
189 | struct mutex termios_mutex; | 190 | struct mutex termios_mutex; |
190 | spinlock_t ctrl_lock; | 191 | spinlock_t ctrl_lock; |
@@ -289,7 +290,7 @@ extern void tty_wait_until_sent(struct tty_struct * tty, long timeout); | |||
289 | extern int tty_check_change(struct tty_struct * tty); | 290 | extern int tty_check_change(struct tty_struct * tty); |
290 | extern void stop_tty(struct tty_struct * tty); | 291 | extern void stop_tty(struct tty_struct * tty); |
291 | extern void start_tty(struct tty_struct * tty); | 292 | extern void start_tty(struct tty_struct * tty); |
292 | extern int tty_register_ldisc(int disc, struct tty_ldisc *new_ldisc); | 293 | extern int tty_register_ldisc(int disc, struct tty_ldisc_ops *new_ldisc); |
293 | extern int tty_unregister_ldisc(int disc); | 294 | extern int tty_unregister_ldisc(int disc); |
294 | extern int tty_register_driver(struct tty_driver *driver); | 295 | extern int tty_register_driver(struct tty_driver *driver); |
295 | extern int tty_unregister_driver(struct tty_driver *driver); | 296 | extern int tty_unregister_driver(struct tty_driver *driver); |
@@ -330,9 +331,7 @@ extern int tty_termios_hw_change(struct ktermios *a, struct ktermios *b); | |||
330 | extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *); | 331 | extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *); |
331 | extern void tty_ldisc_deref(struct tty_ldisc *); | 332 | extern void tty_ldisc_deref(struct tty_ldisc *); |
332 | extern struct tty_ldisc *tty_ldisc_ref_wait(struct tty_struct *); | 333 | extern struct tty_ldisc *tty_ldisc_ref_wait(struct tty_struct *); |
333 | 334 | extern const struct file_operations tty_ldiscs_proc_fops; | |
334 | extern struct tty_ldisc *tty_ldisc_get(int); | ||
335 | extern void tty_ldisc_put(int); | ||
336 | 335 | ||
337 | extern void tty_wakeup(struct tty_struct *tty); | 336 | extern void tty_wakeup(struct tty_struct *tty); |
338 | extern void tty_ldisc_flush(struct tty_struct *tty); | 337 | extern void tty_ldisc_flush(struct tty_struct *tty); |
@@ -354,7 +353,7 @@ extern int tty_write_lock(struct tty_struct *tty, int ndelay); | |||
354 | 353 | ||
355 | 354 | ||
356 | /* n_tty.c */ | 355 | /* n_tty.c */ |
357 | extern struct tty_ldisc tty_ldisc_N_TTY; | 356 | extern struct tty_ldisc_ops tty_ldisc_N_TTY; |
358 | 357 | ||
359 | /* tty_audit.c */ | 358 | /* tty_audit.c */ |
360 | #ifdef CONFIG_AUDIT | 359 | #ifdef CONFIG_AUDIT |
diff --git a/include/linux/tty_ldisc.h b/include/linux/tty_ldisc.h index 6226504d9108..40f38d896777 100644 --- a/include/linux/tty_ldisc.h +++ b/include/linux/tty_ldisc.h | |||
@@ -104,7 +104,7 @@ | |||
104 | #include <linux/fs.h> | 104 | #include <linux/fs.h> |
105 | #include <linux/wait.h> | 105 | #include <linux/wait.h> |
106 | 106 | ||
107 | struct tty_ldisc { | 107 | struct tty_ldisc_ops { |
108 | int magic; | 108 | int magic; |
109 | char *name; | 109 | char *name; |
110 | int num; | 110 | int num; |
@@ -142,6 +142,11 @@ struct tty_ldisc { | |||
142 | int refcount; | 142 | int refcount; |
143 | }; | 143 | }; |
144 | 144 | ||
145 | struct tty_ldisc { | ||
146 | struct tty_ldisc_ops *ops; | ||
147 | int refcount; | ||
148 | }; | ||
149 | |||
145 | #define TTY_LDISC_MAGIC 0x5403 | 150 | #define TTY_LDISC_MAGIC 0x5403 |
146 | 151 | ||
147 | #define LDISC_FLAG_DEFINED 0x00000001 | 152 | #define LDISC_FLAG_DEFINED 0x00000001 |