aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
Diffstat (limited to 'include')
-rw-r--r--include/linux/tty.h9
-rw-r--r--include/linux/tty_ldisc.h7
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);
289extern int tty_check_change(struct tty_struct * tty); 290extern int tty_check_change(struct tty_struct * tty);
290extern void stop_tty(struct tty_struct * tty); 291extern void stop_tty(struct tty_struct * tty);
291extern void start_tty(struct tty_struct * tty); 292extern void start_tty(struct tty_struct * tty);
292extern int tty_register_ldisc(int disc, struct tty_ldisc *new_ldisc); 293extern int tty_register_ldisc(int disc, struct tty_ldisc_ops *new_ldisc);
293extern int tty_unregister_ldisc(int disc); 294extern int tty_unregister_ldisc(int disc);
294extern int tty_register_driver(struct tty_driver *driver); 295extern int tty_register_driver(struct tty_driver *driver);
295extern int tty_unregister_driver(struct tty_driver *driver); 296extern int tty_unregister_driver(struct tty_driver *driver);
@@ -330,9 +331,7 @@ extern int tty_termios_hw_change(struct ktermios *a, struct ktermios *b);
330extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *); 331extern struct tty_ldisc *tty_ldisc_ref(struct tty_struct *);
331extern void tty_ldisc_deref(struct tty_ldisc *); 332extern void tty_ldisc_deref(struct tty_ldisc *);
332extern struct tty_ldisc *tty_ldisc_ref_wait(struct tty_struct *); 333extern struct tty_ldisc *tty_ldisc_ref_wait(struct tty_struct *);
333 334extern const struct file_operations tty_ldiscs_proc_fops;
334extern struct tty_ldisc *tty_ldisc_get(int);
335extern void tty_ldisc_put(int);
336 335
337extern void tty_wakeup(struct tty_struct *tty); 336extern void tty_wakeup(struct tty_struct *tty);
338extern void tty_ldisc_flush(struct tty_struct *tty); 337extern 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 */
357extern struct tty_ldisc tty_ldisc_N_TTY; 356extern 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
107struct tty_ldisc { 107struct 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
145struct 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