diff options
Diffstat (limited to 'include/linux/tty.h')
-rw-r--r-- | include/linux/tty.h | 23 |
1 files changed, 17 insertions, 6 deletions
diff --git a/include/linux/tty.h b/include/linux/tty.h index 0d3974f59c53..f0f43d08d8b8 100644 --- a/include/linux/tty.h +++ b/include/linux/tty.h | |||
@@ -187,7 +187,12 @@ struct tty_port; | |||
187 | struct tty_port_operations { | 187 | struct tty_port_operations { |
188 | /* Return 1 if the carrier is raised */ | 188 | /* Return 1 if the carrier is raised */ |
189 | int (*carrier_raised)(struct tty_port *port); | 189 | int (*carrier_raised)(struct tty_port *port); |
190 | /* Control the DTR line */ | ||
190 | void (*dtr_rts)(struct tty_port *port, int raise); | 191 | void (*dtr_rts)(struct tty_port *port, int raise); |
192 | /* Called when the last close completes or a hangup finishes | ||
193 | IFF the port was initialized. Do not use to free resources */ | ||
194 | void (*shutdown)(struct tty_port *port); | ||
195 | void (*drop)(struct tty_port *port); | ||
191 | }; | 196 | }; |
192 | 197 | ||
193 | struct tty_port { | 198 | struct tty_port { |
@@ -198,11 +203,12 @@ struct tty_port { | |||
198 | int count; /* Usage count */ | 203 | int count; /* Usage count */ |
199 | wait_queue_head_t open_wait; /* Open waiters */ | 204 | wait_queue_head_t open_wait; /* Open waiters */ |
200 | wait_queue_head_t close_wait; /* Close waiters */ | 205 | wait_queue_head_t close_wait; /* Close waiters */ |
206 | wait_queue_head_t delta_msr_wait; /* Modem status change */ | ||
201 | unsigned long flags; /* TTY flags ASY_*/ | 207 | unsigned long flags; /* TTY flags ASY_*/ |
202 | struct mutex mutex; /* Locking */ | 208 | struct mutex mutex; /* Locking */ |
203 | unsigned char *xmit_buf; /* Optional buffer */ | 209 | unsigned char *xmit_buf; /* Optional buffer */ |
204 | int close_delay; /* Close port delay */ | 210 | unsigned int close_delay; /* Close port delay */ |
205 | int closing_wait; /* Delay for output */ | 211 | unsigned int closing_wait; /* Delay for output */ |
206 | int drain_delay; /* Set to zero if no pure time | 212 | int drain_delay; /* Set to zero if no pure time |
207 | based drain is needed else | 213 | based drain is needed else |
208 | set to size of fifo */ | 214 | set to size of fifo */ |
@@ -459,6 +465,12 @@ extern int tty_port_block_til_ready(struct tty_port *port, | |||
459 | extern int tty_port_close_start(struct tty_port *port, | 465 | extern int tty_port_close_start(struct tty_port *port, |
460 | struct tty_struct *tty, struct file *filp); | 466 | struct tty_struct *tty, struct file *filp); |
461 | extern void tty_port_close_end(struct tty_port *port, struct tty_struct *tty); | 467 | extern void tty_port_close_end(struct tty_port *port, struct tty_struct *tty); |
468 | extern void tty_port_close(struct tty_port *port, | ||
469 | struct tty_struct *tty, struct file *filp); | ||
470 | extern inline int tty_port_users(struct tty_port *port) | ||
471 | { | ||
472 | return port->count + port->blocked_open; | ||
473 | } | ||
462 | 474 | ||
463 | extern int tty_register_ldisc(int disc, struct tty_ldisc_ops *new_ldisc); | 475 | extern int tty_register_ldisc(int disc, struct tty_ldisc_ops *new_ldisc); |
464 | extern int tty_unregister_ldisc(int disc); | 476 | extern int tty_unregister_ldisc(int disc); |
@@ -519,14 +531,13 @@ extern void serial_console_init(void); | |||
519 | 531 | ||
520 | extern int pcxe_open(struct tty_struct *tty, struct file *filp); | 532 | extern int pcxe_open(struct tty_struct *tty, struct file *filp); |
521 | 533 | ||
522 | /* printk.c */ | ||
523 | |||
524 | extern void console_print(const char *); | ||
525 | |||
526 | /* vt.c */ | 534 | /* vt.c */ |
527 | 535 | ||
528 | extern int vt_ioctl(struct tty_struct *tty, struct file *file, | 536 | extern int vt_ioctl(struct tty_struct *tty, struct file *file, |
529 | unsigned int cmd, unsigned long arg); | 537 | unsigned int cmd, unsigned long arg); |
530 | 538 | ||
539 | extern long vt_compat_ioctl(struct tty_struct *tty, struct file * file, | ||
540 | unsigned int cmd, unsigned long arg); | ||
541 | |||
531 | #endif /* __KERNEL__ */ | 542 | #endif /* __KERNEL__ */ |
532 | #endif | 543 | #endif |