diff options
Diffstat (limited to 'include')
-rw-r--r-- | include/asm-x86/ioctls.h | 4 | ||||
-rw-r--r-- | include/linux/termios.h | 15 | ||||
-rw-r--r-- | include/linux/tty.h | 1 | ||||
-rw-r--r-- | include/linux/tty_driver.h | 9 |
4 files changed, 29 insertions, 0 deletions
diff --git a/include/asm-x86/ioctls.h b/include/asm-x86/ioctls.h index 1a8ac45b28be..06752a649044 100644 --- a/include/asm-x86/ioctls.h +++ b/include/asm-x86/ioctls.h | |||
@@ -56,6 +56,10 @@ | |||
56 | #define TIOCGPTN _IOR('T', 0x30, unsigned int) | 56 | #define TIOCGPTN _IOR('T', 0x30, unsigned int) |
57 | /* Get Pty Number (of pty-mux device) */ | 57 | /* Get Pty Number (of pty-mux device) */ |
58 | #define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */ | 58 | #define TIOCSPTLCK _IOW('T', 0x31, int) /* Lock/unlock Pty */ |
59 | #define TCGETX 0x5432 /* SYS5 TCGETX compatibility */ | ||
60 | #define TCSETX 0x5433 | ||
61 | #define TCSETXF 0x5434 | ||
62 | #define TCSETXW 0x5435 | ||
59 | 63 | ||
60 | #define FIONCLEX 0x5450 | 64 | #define FIONCLEX 0x5450 |
61 | #define FIOCLEX 0x5451 | 65 | #define FIOCLEX 0x5451 |
diff --git a/include/linux/termios.h b/include/linux/termios.h index 478662889f48..2acd0c1f8a2a 100644 --- a/include/linux/termios.h +++ b/include/linux/termios.h | |||
@@ -4,4 +4,19 @@ | |||
4 | #include <linux/types.h> | 4 | #include <linux/types.h> |
5 | #include <asm/termios.h> | 5 | #include <asm/termios.h> |
6 | 6 | ||
7 | #define NFF 5 | ||
8 | |||
9 | struct termiox | ||
10 | { | ||
11 | __u16 x_hflag; | ||
12 | __u16 x_cflag; | ||
13 | __u16 x_rflag[NFF]; | ||
14 | __u16 x_sflag; | ||
15 | }; | ||
16 | |||
17 | #define RTSXOFF 0x0001 /* RTS flow control on input */ | ||
18 | #define CTSXON 0x0002 /* CTS flow control on output */ | ||
19 | #define DTRXOFF 0x0004 /* DTR flow control on input */ | ||
20 | #define DSRXON 0x0008 /* DCD flow control on output */ | ||
21 | |||
7 | #endif | 22 | #endif |
diff --git a/include/linux/tty.h b/include/linux/tty.h index b6e6c26883ee..b64d10b66548 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
@@ -219,6 +219,7 @@ struct tty_struct { | |||
219 | spinlock_t ctrl_lock; | 219 | spinlock_t ctrl_lock; |
220 | /* Termios values are protected by the termios mutex */ | 220 | /* Termios values are protected by the termios mutex */ |
221 | struct ktermios *termios, *termios_locked; | 221 | struct ktermios *termios, *termios_locked; |
222 | struct termiox *termiox; /* May be NULL for unsupported */ | ||
222 | char name[64]; | 223 | char name[64]; |
223 | struct pid *pgrp; /* Protected by ctrl lock */ | 224 | struct pid *pgrp; /* Protected by ctrl lock */ |
224 | struct pid *session; | 225 | struct pid *session; |
diff --git a/include/linux/tty_driver.h b/include/linux/tty_driver.h index 16d27944c321..ac6e58e26b73 100644 --- a/include/linux/tty_driver.h +++ b/include/linux/tty_driver.h | |||
@@ -180,6 +180,14 @@ | |||
180 | * not force errors here if they are not resizable objects (eg a serial | 180 | * not force errors here if they are not resizable objects (eg a serial |
181 | * line). See tty_do_resize() if you need to wrap the standard method | 181 | * line). See tty_do_resize() if you need to wrap the standard method |
182 | * in your own logic - the usual case. | 182 | * in your own logic - the usual case. |
183 | * | ||
184 | * void (*set_termiox)(struct tty_struct *tty, struct termiox *new); | ||
185 | * | ||
186 | * Called when the device receives a termiox based ioctl. Passes down | ||
187 | * the requested data from user space. This method will not be invoked | ||
188 | * unless the tty also has a valid tty->termiox pointer. | ||
189 | * | ||
190 | * Optional: Called under the termios lock | ||
183 | */ | 191 | */ |
184 | 192 | ||
185 | #include <linux/fs.h> | 193 | #include <linux/fs.h> |
@@ -220,6 +228,7 @@ struct tty_operations { | |||
220 | unsigned int set, unsigned int clear); | 228 | unsigned int set, unsigned int clear); |
221 | int (*resize)(struct tty_struct *tty, struct tty_struct *real_tty, | 229 | int (*resize)(struct tty_struct *tty, struct tty_struct *real_tty, |
222 | struct winsize *ws); | 230 | struct winsize *ws); |
231 | int (*set_termiox)(struct tty_struct *tty, struct termiox *tnew); | ||
223 | #ifdef CONFIG_CONSOLE_POLL | 232 | #ifdef CONFIG_CONSOLE_POLL |
224 | int (*poll_init)(struct tty_driver *driver, int line, char *options); | 233 | int (*poll_init)(struct tty_driver *driver, int line, char *options); |
225 | int (*poll_get_char)(struct tty_driver *driver, int line); | 234 | int (*poll_get_char)(struct tty_driver *driver, int line); |