diff options
Diffstat (limited to 'include/linux/tty_driver.h')
-rw-r--r-- | include/linux/tty_driver.h | 19 |
1 files changed, 14 insertions, 5 deletions
diff --git a/include/linux/tty_driver.h b/include/linux/tty_driver.h index 59f1c0bd8f9..e1065ac0d92 100644 --- a/include/linux/tty_driver.h +++ b/include/linux/tty_driver.h | |||
@@ -27,8 +27,7 @@ | |||
27 | * This routine is called by the kernel to write a series of | 27 | * This routine is called by the kernel to write a series of |
28 | * characters to the tty device. The characters may come from | 28 | * characters to the tty device. The characters may come from |
29 | * user space or kernel space. This routine will return the | 29 | * user space or kernel space. This routine will return the |
30 | * number of characters actually accepted for writing. This | 30 | * number of characters actually accepted for writing. |
31 | * routine is mandatory. | ||
32 | * | 31 | * |
33 | * Optional: Required for writable devices. | 32 | * Optional: Required for writable devices. |
34 | * | 33 | * |
@@ -134,9 +133,9 @@ | |||
134 | * This routine notifies the tty driver that it should hangup the | 133 | * This routine notifies the tty driver that it should hangup the |
135 | * tty device. | 134 | * tty device. |
136 | * | 135 | * |
137 | * Required: | 136 | * Optional: |
138 | * | 137 | * |
139 | * void (*break_ctl)(struct tty_stuct *tty, int state); | 138 | * int (*break_ctl)(struct tty_stuct *tty, int state); |
140 | * | 139 | * |
141 | * This optional routine requests the tty driver to turn on or | 140 | * This optional routine requests the tty driver to turn on or |
142 | * off BREAK status on the RS-232 port. If state is -1, | 141 | * off BREAK status on the RS-232 port. If state is -1, |
@@ -147,6 +146,10 @@ | |||
147 | * handle the following ioctls: TCSBRK, TCSBRKP, TIOCSBRK, | 146 | * handle the following ioctls: TCSBRK, TCSBRKP, TIOCSBRK, |
148 | * TIOCCBRK. | 147 | * TIOCCBRK. |
149 | * | 148 | * |
149 | * If the driver sets TTY_DRIVER_HARDWARE_BREAK then the interface | ||
150 | * will also be called with actual times and the hardware is expected | ||
151 | * to do the delay work itself. 0 and -1 are still used for on/off. | ||
152 | * | ||
150 | * Optional: Required for TCSBRK/BRKP/etc handling. | 153 | * Optional: Required for TCSBRK/BRKP/etc handling. |
151 | * | 154 | * |
152 | * void (*wait_until_sent)(struct tty_struct *tty, int timeout); | 155 | * void (*wait_until_sent)(struct tty_struct *tty, int timeout); |
@@ -193,7 +196,7 @@ struct tty_operations { | |||
193 | void (*stop)(struct tty_struct *tty); | 196 | void (*stop)(struct tty_struct *tty); |
194 | void (*start)(struct tty_struct *tty); | 197 | void (*start)(struct tty_struct *tty); |
195 | void (*hangup)(struct tty_struct *tty); | 198 | void (*hangup)(struct tty_struct *tty); |
196 | void (*break_ctl)(struct tty_struct *tty, int state); | 199 | int (*break_ctl)(struct tty_struct *tty, int state); |
197 | void (*flush_buffer)(struct tty_struct *tty); | 200 | void (*flush_buffer)(struct tty_struct *tty); |
198 | void (*set_ldisc)(struct tty_struct *tty); | 201 | void (*set_ldisc)(struct tty_struct *tty); |
199 | void (*wait_until_sent)(struct tty_struct *tty, int timeout); | 202 | void (*wait_until_sent)(struct tty_struct *tty, int timeout); |
@@ -286,12 +289,18 @@ extern struct tty_driver *tty_find_polling_driver(char *name, int *line); | |||
286 | * TTY_DRIVER_DEVPTS_MEM -- don't use the standard arrays, instead | 289 | * TTY_DRIVER_DEVPTS_MEM -- don't use the standard arrays, instead |
287 | * use dynamic memory keyed through the devpts filesystem. This | 290 | * use dynamic memory keyed through the devpts filesystem. This |
288 | * is only applicable to the pty driver. | 291 | * is only applicable to the pty driver. |
292 | * | ||
293 | * TTY_DRIVER_HARDWARE_BREAK -- hardware handles break signals. Pass | ||
294 | * the requested timeout to the caller instead of using a simple | ||
295 | * on/off interface. | ||
296 | * | ||
289 | */ | 297 | */ |
290 | #define TTY_DRIVER_INSTALLED 0x0001 | 298 | #define TTY_DRIVER_INSTALLED 0x0001 |
291 | #define TTY_DRIVER_RESET_TERMIOS 0x0002 | 299 | #define TTY_DRIVER_RESET_TERMIOS 0x0002 |
292 | #define TTY_DRIVER_REAL_RAW 0x0004 | 300 | #define TTY_DRIVER_REAL_RAW 0x0004 |
293 | #define TTY_DRIVER_DYNAMIC_DEV 0x0008 | 301 | #define TTY_DRIVER_DYNAMIC_DEV 0x0008 |
294 | #define TTY_DRIVER_DEVPTS_MEM 0x0010 | 302 | #define TTY_DRIVER_DEVPTS_MEM 0x0010 |
303 | #define TTY_DRIVER_HARDWARE_BREAK 0x0020 | ||
295 | 304 | ||
296 | /* tty driver types */ | 305 | /* tty driver types */ |
297 | #define TTY_DRIVER_TYPE_SYSTEM 0x0001 | 306 | #define TTY_DRIVER_TYPE_SYSTEM 0x0001 |