taglinefilesource code
tty435fs/open.cstruct tty_struct *tty;
tty444fs/open.cif (current->tty < 0)
tty459fs/open.cMINOR(filep->f_rdev) == MINOR (current->tty))) {
tty481fs/open.cif (task[i]->tty == current->tty && task[i] != current) {
tty482fs/open.ctask[i]->tty = -1;
tty486fs/open.ctty = TTY_TABLE(MINOR(current->tty));
tty487fs/open.ctty->session = 0;
tty488fs/open.ctty->pgrp = -1;
tty489fs/open.ccurrent->tty = -1;
tty166include/linux/sched.hint tty;    /* -1 if no tty, so it must be signed */
tty43include/linux/serial.hstruct tty_struct   *tty;
tty123include/linux/tty.h#define INTR_CHAR(tty) ((tty)->termios->c_cc[VINTR])
tty124include/linux/tty.h#define QUIT_CHAR(tty) ((tty)->termios->c_cc[VQUIT])
tty125include/linux/tty.h#define ERASE_CHAR(tty) ((tty)->termios->c_cc[VERASE])
tty126include/linux/tty.h#define KILL_CHAR(tty) ((tty)->termios->c_cc[VKILL])
tty127include/linux/tty.h#define EOF_CHAR(tty) ((tty)->termios->c_cc[VEOF])
tty128include/linux/tty.h#define START_CHAR(tty) ((tty)->termios->c_cc[VSTART])
tty129include/linux/tty.h#define STOP_CHAR(tty) ((tty)->termios->c_cc[VSTOP])
tty130include/linux/tty.h#define SUSPEND_CHAR(tty) ((tty)->termios->c_cc[VSUSP])
tty132include/linux/tty.h#define _L_FLAG(tty,f)  ((tty)->termios->c_lflag & f)
tty133include/linux/tty.h#define _I_FLAG(tty,f)  ((tty)->termios->c_iflag & f)
tty134include/linux/tty.h#define _O_FLAG(tty,f)  ((tty)->termios->c_oflag & f)
tty136include/linux/tty.h#define L_CANON(tty)  _L_FLAG((tty),ICANON)
tty137include/linux/tty.h#define L_ISIG(tty)  _L_FLAG((tty),ISIG)
tty138include/linux/tty.h#define L_ECHO(tty)  _L_FLAG((tty),ECHO)
tty139include/linux/tty.h#define L_ECHOE(tty)  _L_FLAG((tty),ECHOE)
tty140include/linux/tty.h#define L_ECHOK(tty)  _L_FLAG((tty),ECHOK)
tty141include/linux/tty.h#define L_ECHONL(tty)  _L_FLAG((tty),ECHONL)
tty142include/linux/tty.h#define L_ECHOCTL(tty)  _L_FLAG((tty),ECHOCTL)
tty143include/linux/tty.h#define L_ECHOKE(tty)  _L_FLAG((tty),ECHOKE)
tty144include/linux/tty.h#define L_TOSTOP(tty)  _L_FLAG((tty),TOSTOP)
tty146include/linux/tty.h#define I_UCLC(tty)  _I_FLAG((tty),IUCLC)
tty147include/linux/tty.h#define I_NLCR(tty)  _I_FLAG((tty),INLCR)
tty148include/linux/tty.h#define I_CRNL(tty)  _I_FLAG((tty),ICRNL)
tty149include/linux/tty.h#define I_NOCR(tty)  _I_FLAG((tty),IGNCR)
tty150include/linux/tty.h#define I_IXON(tty)  _I_FLAG((tty),IXON)
tty151include/linux/tty.h#define I_STRP(tty)  _I_FLAG((tty),ISTRIP)
tty153include/linux/tty.h#define O_POST(tty)  _O_FLAG((tty),OPOST)
tty154include/linux/tty.h#define O_NLCR(tty)  _O_FLAG((tty),ONLCR)
tty155include/linux/tty.h#define O_CRNL(tty)  _O_FLAG((tty),OCRNL)
tty156include/linux/tty.h#define O_NLRET(tty)  _O_FLAG((tty),ONLRET)
tty157include/linux/tty.h#define O_LCUC(tty)  _O_FLAG((tty),OLCUC)
tty159include/linux/tty.h#define C_SPEED(tty)  ((tty)->termios->c_cflag & CBAUD)
tty160include/linux/tty.h#define C_HUP(tty)  (C_SPEED((tty)) == B0)
tty186include/linux/tty.hint  (*open)(struct tty_struct * tty, struct file * filp);
tty187include/linux/tty.hvoid (*close)(struct tty_struct * tty, struct file * filp);
tty188include/linux/tty.hvoid (*write)(struct tty_struct * tty);
tty189include/linux/tty.hint  (*ioctl)(struct tty_struct *tty, struct file * file,
tty191include/linux/tty.hvoid (*throttle)(struct tty_struct * tty, int status);
tty267include/linux/tty.h#define TTY_WRITE_FLUSH(tty) tty_write_flush((tty))
tty268include/linux/tty.h#define TTY_READ_FLUSH(tty) tty_read_flush((tty))
tty296include/linux/tty.hextern void flush_input(struct tty_struct * tty);
tty297include/linux/tty.hextern void flush_output(struct tty_struct * tty);
tty298include/linux/tty.hextern void wait_until_sent(struct tty_struct * tty);
tty299include/linux/tty.hextern void copy_to_cooked(struct tty_struct * tty);
tty304include/linux/tty.hextern int tty_signal(int sig, struct tty_struct *tty);
tty309include/linux/tty.hextern void rs_write(struct tty_struct * tty);
tty310include/linux/tty.hextern void con_write(struct tty_struct * tty);
tty311include/linux/tty.hextern void mpty_write(struct tty_struct * tty);
tty312include/linux/tty.hextern void spty_write(struct tty_struct * tty);
tty316include/linux/tty.hextern int  rs_open(struct tty_struct * tty, struct file * filp);
tty321include/linux/tty.hextern int  pty_open(struct tty_struct * tty, struct file * filp);
tty325include/linux/tty.hextern int con_open(struct tty_struct * tty, struct file * filp);
tty332include/linux/tty.hextern int vt_ioctl(struct tty_struct *tty, struct file * file,
tty611kernel/chr_drv/console.cstatic void respond_string(char * p, int currcons, struct tty_struct * tty)
tty614kernel/chr_drv/console.cput_tty_queue(*p, &tty->read_q);
tty617kernel/chr_drv/console.cTTY_READ_FLUSH(tty);
tty620kernel/chr_drv/console.cstatic void respond_num(unsigned int n, int currcons, struct tty_struct * tty)
tty630kernel/chr_drv/console.cput_tty_queue(buff[i], &tty->read_q);
tty635kernel/chr_drv/console.cstatic void cursor_report(int currcons, struct tty_struct * tty)
tty637kernel/chr_drv/console.cput_tty_queue('\033', &tty->read_q);
tty638kernel/chr_drv/console.cput_tty_queue('[', &tty->read_q);
tty639kernel/chr_drv/console.crespond_num(y + (decom ? top+1 : 1), currcons, tty);
tty640kernel/chr_drv/console.cput_tty_queue(';', &tty->read_q);
tty641kernel/chr_drv/console.crespond_num(x+1, currcons, tty);
tty642kernel/chr_drv/console.cput_tty_queue('R', &tty->read_q);
tty643kernel/chr_drv/console.cTTY_READ_FLUSH(tty);
tty646kernel/chr_drv/console.cstatic inline void status_report(int currcons, struct tty_struct * tty)
tty648kernel/chr_drv/console.crespond_string("\033[0n", currcons, tty);  /* Terminal ok */
tty651kernel/chr_drv/console.cstatic inline void respond_ID(int currcons, struct tty_struct * tty)
tty653kernel/chr_drv/console.crespond_string(VT102ID, currcons, tty);
tty903kernel/chr_drv/console.cvoid con_write(struct tty_struct * tty)
tty908kernel/chr_drv/console.cwake_up(&tty->write_q.proc_list);
tty909kernel/chr_drv/console.ccurrcons = tty->line - 1;
tty914kernel/chr_drv/console.cwhile (!tty->stopped &&  (c = get_tty_queue(&tty->write_q)) >= 0) {
tty1003kernel/chr_drv/console.crespond_ID(currcons,tty);
tty1063kernel/chr_drv/console.cstatus_report(currcons,tty);
tty1065kernel/chr_drv/console.ccursor_report(currcons,tty);
tty1127kernel/chr_drv/console.crespond_ID(currcons,tty);
tty1514kernel/chr_drv/console.cint con_open(struct tty_struct *tty, struct file * filp)
tty1516kernel/chr_drv/console.ctty->write = con_write;
tty1517kernel/chr_drv/console.ctty->ioctl = vt_ioctl;
tty82kernel/chr_drv/keyboard.cstruct tty_struct * tty = TTY_TABLE(0);
tty129kernel/chr_drv/keyboard.celse if (!(krepeat && tty && (L_ECHO(tty) ||
tty130kernel/chr_drv/keyboard.c(EMPTY(&tty->secondary) &&
tty131kernel/chr_drv/keyboard.cEMPTY(&tty->read_q))))) {
tty143kernel/chr_drv/keyboard.cstruct tty_struct *tty = TTY_TABLE(0);
tty147kernel/chr_drv/keyboard.cif (!tty)
tty149kernel/chr_drv/keyboard.cqp = &tty->read_q;
tty160kernel/chr_drv/keyboard.cstruct tty_struct *tty = TTY_TABLE(0);
tty165kernel/chr_drv/keyboard.cif (!tty)
tty167kernel/chr_drv/keyboard.cqp = &tty->read_q;
tty23kernel/chr_drv/pty.cstatic void pty_close(struct tty_struct * tty, struct file * filp);
tty25kernel/chr_drv/pty.cint pty_open(struct tty_struct *tty, struct file * filp)
tty27kernel/chr_drv/pty.cif (!tty || !tty->link)
tty29kernel/chr_drv/pty.cif (IS_A_PTY_MASTER(tty->line))
tty30kernel/chr_drv/pty.ctty->write = mpty_write;
tty32kernel/chr_drv/pty.ctty->write = spty_write;
tty33kernel/chr_drv/pty.ctty->close = pty_close;
tty34kernel/chr_drv/pty.cwake_up(&tty->read_q.proc_list);
tty37kernel/chr_drv/pty.cwhile (!tty->link->count && !(current->signal & ~current->blocked))
tty38kernel/chr_drv/pty.cinterruptible_sleep_on(&tty->link->read_q.proc_list);
tty39kernel/chr_drv/pty.cif (!tty->link->count)
tty44kernel/chr_drv/pty.cstatic void pty_close(struct tty_struct * tty, struct file * filp)
tty46kernel/chr_drv/pty.cwake_up(&tty->read_q.proc_list);
tty47kernel/chr_drv/pty.cwake_up(&tty->link->write_q.proc_list);
tty48kernel/chr_drv/pty.cif (IS_A_PTY_MASTER(tty->line)) {
tty49kernel/chr_drv/pty.cif (tty->link->pgrp > 0)
tty50kernel/chr_drv/pty.ckill_pg(tty->link->pgrp,SIGHUP,1);
tty79kernel/chr_drv/pty.cvoid mpty_write(struct tty_struct * tty)
tty81kernel/chr_drv/pty.cif (tty->link)
tty82kernel/chr_drv/pty.cpty_copy(tty,tty->link);
tty85kernel/chr_drv/pty.cvoid spty_write(struct tty_struct * tty)
tty87kernel/chr_drv/pty.cif (tty->link)
tty88kernel/chr_drv/pty.cpty_copy(tty,tty->link);
tty126kernel/chr_drv/serial.cstruct tty_queue * queue = &info->tty->write_q;
tty129kernel/chr_drv/serial.cif (info->tty->stopped)
tty140kernel/chr_drv/serial.cwhile (count-- && !info->tty->stopped) {
tty162kernel/chr_drv/serial.cstruct tty_queue * queue = &info->tty->read_q;
tty193kernel/chr_drv/serial.cif (!(info->tty->termios->c_cflag & CLOCAL)) {
tty195kernel/chr_drv/serial.c&& info->tty->pgrp > 0)
tty196kernel/chr_drv/serial.ckill_pg(info->tty->pgrp,SIGHUP,1);
tty198kernel/chr_drv/serial.cif (info->tty->termios->c_cflag & CRTSCTS)
tty199kernel/chr_drv/serial.cinfo->tty->stopped = !(status & UART_MSR_CTS);
tty201kernel/chr_drv/serial.cif (!info->tty->stopped)
tty224kernel/chr_drv/serial.cif (!info || !info->tty || !info->port)
tty241kernel/chr_drv/serial.cif (!info->tty || !info->port)
tty243kernel/chr_drv/serial.cif (EMPTY(&info->tty->write_q))
tty298kernel/chr_drv/serial.cTTY_READ_FLUSH(info->tty);
tty380kernel/chr_drv/serial.cvoid rs_write(struct tty_struct * tty)
tty382kernel/chr_drv/serial.cdo_rs_write(rs_table+DEV_TO_SL(tty->line));
tty391kernel/chr_drv/serial.cstatic void rs_close(struct tty_struct *tty, struct file * filp)
tty397kernel/chr_drv/serial.cline = DEV_TO_SL(tty->line);
tty400kernel/chr_drv/serial.cwait_until_sent(tty);
tty404kernel/chr_drv/serial.cinfo->tty = 0;
tty487kernel/chr_drv/serial.ccflag = info->tty->termios->c_cflag;
tty681kernel/chr_drv/serial.cstatic int rs_ioctl(struct tty_struct *tty, struct file * file,
tty687kernel/chr_drv/serial.cline = DEV_TO_SL(tty->line);
tty694kernel/chr_drv/serial.cwait_until_sent(tty);
tty725kernel/chr_drv/serial.cint rs_open(struct tty_struct *tty, struct file * filp)
tty732kernel/chr_drv/serial.cif (!tty)
tty734kernel/chr_drv/serial.cif (tty->count > 1)
tty736kernel/chr_drv/serial.cline = DEV_TO_SL(tty->line);
tty742kernel/chr_drv/serial.cinfo->tty = tty;
tty743kernel/chr_drv/serial.ctty->write = rs_write;
tty744kernel/chr_drv/serial.ctty->close = rs_close;
tty745kernel/chr_drv/serial.ctty->ioctl = rs_ioctl;
tty786kernel/chr_drv/serial.cinfo->tty = 0;
tty55kernel/chr_drv/tty_io.cint initialize_tty_struct(struct tty_struct *tty, int line);
tty85kernel/chr_drv/tty_io.cvoid inline tty_write_flush(struct tty_struct * tty)
tty87kernel/chr_drv/tty_io.cif (!tty->write || EMPTY(&tty->write_q))
tty89kernel/chr_drv/tty_io.cif (set_bit(TTY_WRITE_BUSY,&tty->flags))
tty91kernel/chr_drv/tty_io.ctty->write(tty);
tty92kernel/chr_drv/tty_io.cif (clear_bit(TTY_WRITE_BUSY,&tty->flags))
tty96kernel/chr_drv/tty_io.cvoid tty_read_flush(struct tty_struct * tty)
tty98kernel/chr_drv/tty_io.cif (EMPTY(&tty->read_q))
tty100kernel/chr_drv/tty_io.cif (set_bit(TTY_READ_BUSY, &tty->flags))
tty102kernel/chr_drv/tty_io.ccopy_to_cooked(tty);
tty103kernel/chr_drv/tty_io.cif (clear_bit(TTY_READ_BUSY, &tty->flags))
tty121kernel/chr_drv/tty_io.cvoid copy_to_cooked(struct tty_struct * tty)
tty125kernel/chr_drv/tty_io.cif (!tty) {
tty129kernel/chr_drv/tty_io.cif (!tty->write) {
tty131kernel/chr_drv/tty_io.ctty->line);
tty139kernel/chr_drv/tty_io.cc = LEFT(&tty->secondary);
tty140kernel/chr_drv/tty_io.cif (tty->throttle && (c < SQ_THRESHOLD_LW)
tty141kernel/chr_drv/tty_io.c&& !set_bit(TTY_SQ_THROTTLED, &tty->flags))
tty142kernel/chr_drv/tty_io.ctty->throttle(tty, TTY_THROTTLE_SQ_FULL);
tty145kernel/chr_drv/tty_io.cc = get_tty_queue(&tty->read_q);
tty148kernel/chr_drv/tty_io.cif (I_STRP(tty))
tty151kernel/chr_drv/tty_io.cif (I_CRNL(tty))
tty153kernel/chr_drv/tty_io.celse if (I_NOCR(tty))
tty155kernel/chr_drv/tty_io.c} else if (c==10 && I_NLCR(tty))
tty157kernel/chr_drv/tty_io.cif (I_UCLC(tty))
tty159kernel/chr_drv/tty_io.cif (L_CANON(tty)) {
tty160kernel/chr_drv/tty_io.cif ((KILL_CHAR(tty) != __DISABLED_CHAR) &&
tty161kernel/chr_drv/tty_io.c(c==KILL_CHAR(tty))) {
tty163kernel/chr_drv/tty_io.cwhile(!(EMPTY(&tty->secondary) ||
tty164kernel/chr_drv/tty_io.c(c=LAST(&tty->secondary))==10 ||
tty165kernel/chr_drv/tty_io.c((EOF_CHAR(tty) != __DISABLED_CHAR) &&
tty166kernel/chr_drv/tty_io.c(c==EOF_CHAR(tty))))) {
tty167kernel/chr_drv/tty_io.cif (L_ECHO(tty)) {
tty169kernel/chr_drv/tty_io.cput_tty_queue(8, &tty->write_q);
tty170kernel/chr_drv/tty_io.cput_tty_queue(' ', &tty->write_q);
tty171kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty173kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty174kernel/chr_drv/tty_io.cput_tty_queue(' ',&tty->write_q);
tty175kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty177kernel/chr_drv/tty_io.cDEC(tty->secondary.head);
tty181kernel/chr_drv/tty_io.cif ((ERASE_CHAR(tty) != __DISABLED_CHAR) &&
tty182kernel/chr_drv/tty_io.c(c==ERASE_CHAR(tty))) {
tty183kernel/chr_drv/tty_io.cif (EMPTY(&tty->secondary) ||
tty184kernel/chr_drv/tty_io.c(c=LAST(&tty->secondary))==10 ||
tty185kernel/chr_drv/tty_io.c((EOF_CHAR(tty) != __DISABLED_CHAR) &&
tty186kernel/chr_drv/tty_io.c(c==EOF_CHAR(tty))))
tty188kernel/chr_drv/tty_io.cif (L_ECHO(tty)) {
tty190kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty191kernel/chr_drv/tty_io.cput_tty_queue(' ',&tty->write_q);
tty192kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty194kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty195kernel/chr_drv/tty_io.cput_tty_queue(32,&tty->write_q);
tty196kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty198kernel/chr_drv/tty_io.cDEC(tty->secondary.head);
tty202kernel/chr_drv/tty_io.cif (I_IXON(tty)) {
tty203kernel/chr_drv/tty_io.cif ((STOP_CHAR(tty) != __DISABLED_CHAR) &&
tty204kernel/chr_drv/tty_io.c(c==STOP_CHAR(tty))) {
tty205kernel/chr_drv/tty_io.ctty->status_changed = 1;
tty206kernel/chr_drv/tty_io.ctty->ctrl_status |= TIOCPKT_STOP;
tty207kernel/chr_drv/tty_io.ctty->stopped=1;
tty210kernel/chr_drv/tty_io.cif ((START_CHAR(tty) != __DISABLED_CHAR) &&
tty211kernel/chr_drv/tty_io.c(c==START_CHAR(tty))) {
tty212kernel/chr_drv/tty_io.ctty->status_changed = 1;
tty213kernel/chr_drv/tty_io.ctty->ctrl_status |= TIOCPKT_START;
tty214kernel/chr_drv/tty_io.ctty->stopped=0;
tty218kernel/chr_drv/tty_io.cif (L_ISIG(tty)) {
tty219kernel/chr_drv/tty_io.cif ((INTR_CHAR(tty) != __DISABLED_CHAR) &&
tty220kernel/chr_drv/tty_io.c(c==INTR_CHAR(tty))) {
tty221kernel/chr_drv/tty_io.ckill_pg(tty->pgrp, SIGINT, 1);
tty222kernel/chr_drv/tty_io.cflush_input(tty);
tty225kernel/chr_drv/tty_io.cif ((QUIT_CHAR(tty) != __DISABLED_CHAR) &&
tty226kernel/chr_drv/tty_io.c(c==QUIT_CHAR(tty))) {
tty227kernel/chr_drv/tty_io.ckill_pg(tty->pgrp, SIGQUIT, 1);
tty228kernel/chr_drv/tty_io.cflush_input(tty);
tty231kernel/chr_drv/tty_io.cif ((SUSPEND_CHAR(tty) != __DISABLED_CHAR) &&
tty232kernel/chr_drv/tty_io.c(c==SUSPEND_CHAR(tty))) {
tty233kernel/chr_drv/tty_io.cif (!is_orphaned_pgrp(tty->pgrp))
tty234kernel/chr_drv/tty_io.ckill_pg(tty->pgrp, SIGTSTP, 1);
tty238kernel/chr_drv/tty_io.cif (c==10 || (EOF_CHAR(tty) != __DISABLED_CHAR &&
tty239kernel/chr_drv/tty_io.cc==EOF_CHAR(tty)))
tty240kernel/chr_drv/tty_io.ctty->secondary.data++;
tty241kernel/chr_drv/tty_io.cif ((c==10) && (L_ECHO(tty) || (L_CANON(tty) && L_ECHONL(tty)))) {
tty242kernel/chr_drv/tty_io.cput_tty_queue(10,&tty->write_q);
tty243kernel/chr_drv/tty_io.cput_tty_queue(13,&tty->write_q);
tty244kernel/chr_drv/tty_io.c} else if (L_ECHO(tty)) {
tty245kernel/chr_drv/tty_io.cif (c<32 && L_ECHOCTL(tty)) {
tty246kernel/chr_drv/tty_io.cput_tty_queue('^',&tty->write_q);
tty247kernel/chr_drv/tty_io.cput_tty_queue(c+64, &tty->write_q);
tty249kernel/chr_drv/tty_io.cput_tty_queue(c, &tty->write_q);
tty251kernel/chr_drv/tty_io.cput_tty_queue(c, &tty->secondary);
tty253kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty);
tty254kernel/chr_drv/tty_io.cif (!EMPTY(&tty->secondary))
tty255kernel/chr_drv/tty_io.cwake_up(&tty->secondary.proc_list);
tty256kernel/chr_drv/tty_io.cif (tty->write_q.proc_list && LEFT(&tty->write_q) > TTY_BUF_SIZE/2)
tty257kernel/chr_drv/tty_io.cwake_up(&tty->write_q.proc_list);
tty258kernel/chr_drv/tty_io.cif (tty->throttle && (LEFT(&tty->read_q) >= RQ_THRESHOLD_HW)
tty259kernel/chr_drv/tty_io.c&& !clear_bit(TTY_RQ_THROTTLED, &tty->flags))
tty260kernel/chr_drv/tty_io.ctty->throttle(tty, TTY_THROTTLE_RQ_AVAIL);
tty270kernel/chr_drv/tty_io.cstatic void wait_for_canon_input(struct tty_struct * tty)
tty273kernel/chr_drv/tty_io.cTTY_READ_FLUSH(tty);
tty274kernel/chr_drv/tty_io.cif (tty->link)
tty275kernel/chr_drv/tty_io.cif (tty->link->count)
tty276kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty->link);
tty281kernel/chr_drv/tty_io.cif (FULL(&tty->read_q))
tty283kernel/chr_drv/tty_io.cif (tty->secondary.data)
tty286kernel/chr_drv/tty_io.cif (!tty->secondary.data)
tty287kernel/chr_drv/tty_io.cinterruptible_sleep_on(&tty->secondary.proc_list);
tty294kernel/chr_drv/tty_io.cstruct tty_struct * tty;
tty301kernel/chr_drv/tty_io.ctty = TTY_TABLE(channel);
tty302kernel/chr_drv/tty_io.cif (!tty)
tty304kernel/chr_drv/tty_io.cif ((tty->pgrp > 0) &&
tty305kernel/chr_drv/tty_io.c(current->tty == channel) &&
tty306kernel/chr_drv/tty_io.c(tty->pgrp != current->pgrp))
tty313kernel/chr_drv/tty_io.cif (L_CANON(tty))
tty316kernel/chr_drv/tty_io.ctime = 10L*tty->termios->c_cc[VTIME];
tty317kernel/chr_drv/tty_io.cminimum = tty->termios->c_cc[VMIN];
tty331kernel/chr_drv/tty_io.celse if (L_CANON(tty)) {
tty332kernel/chr_drv/tty_io.cwait_for_canon_input(tty);
tty340kernel/chr_drv/tty_io.cif (tty->packet && tty->link && tty->link->status_changed)
tty342kernel/chr_drv/tty_io.cput_fs_byte (tty->link->ctrl_status, b);
tty343kernel/chr_drv/tty_io.ctty->link->status_changed = 0;
tty348kernel/chr_drv/tty_io.cif (tty->packet)
tty358kernel/chr_drv/tty_io.cTTY_READ_FLUSH(tty);
tty359kernel/chr_drv/tty_io.cif (tty->link)
tty360kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty->link);
tty361kernel/chr_drv/tty_io.cwhile (nr > 0 && ((c = get_tty_queue(&tty->secondary)) >= 0)) {
tty362kernel/chr_drv/tty_io.cif ((EOF_CHAR(tty) != __DISABLED_CHAR &&
tty363kernel/chr_drv/tty_io.cc==EOF_CHAR(tty)) || c==10)
tty364kernel/chr_drv/tty_io.ctty->secondary.data--;
tty365kernel/chr_drv/tty_io.cif ((EOF_CHAR(tty) != __DISABLED_CHAR &&
tty366kernel/chr_drv/tty_io.cc==EOF_CHAR(tty)) && L_CANON(tty))
tty372kernel/chr_drv/tty_io.cif (c==10 && L_CANON(tty))
tty375kernel/chr_drv/tty_io.cwake_up(&tty->read_q.proc_list);
tty380kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count)
tty382kernel/chr_drv/tty_io.cTTY_READ_FLUSH(tty);
tty383kernel/chr_drv/tty_io.cif (tty->link)
tty384kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty->link);
tty389kernel/chr_drv/tty_io.cif (tty->throttle && (LEFT(&tty->secondary) >= SQ_THRESHOLD_HW)
tty390kernel/chr_drv/tty_io.c&& !clear_bit(TTY_SQ_THROTTLED, &tty->flags))
tty391kernel/chr_drv/tty_io.ctty->throttle(tty, TTY_THROTTLE_SQ_AVAIL);
tty393kernel/chr_drv/tty_io.cif (EMPTY(&tty->secondary))
tty394kernel/chr_drv/tty_io.cinterruptible_sleep_on(&tty->secondary.proc_list);
tty397kernel/chr_drv/tty_io.cTTY_READ_FLUSH(tty);
tty398kernel/chr_drv/tty_io.cif (tty->link && tty->link->write)
tty399kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty->link);
tty404kernel/chr_drv/tty_io.cif (tty->packet)
tty424kernel/chr_drv/tty_io.cstruct tty_struct * tty;
tty430kernel/chr_drv/tty_io.ctty = redirect;
tty432kernel/chr_drv/tty_io.ctty = TTY_TABLE(channel);
tty433kernel/chr_drv/tty_io.cif (!tty || !tty->write)
tty435kernel/chr_drv/tty_io.cif (L_TOSTOP(tty) && (tty->pgrp > 0) &&
tty436kernel/chr_drv/tty_io.c(current->tty == channel) && (tty->pgrp != current->pgrp)) {
tty437kernel/chr_drv/tty_io.cif (is_orphaned_pgrp(tty->pgrp))
tty451kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count) {
tty455kernel/chr_drv/tty_io.cif (FULL(&tty->write_q)) {
tty456kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty);
tty458kernel/chr_drv/tty_io.cif (FULL(&tty->write_q))
tty459kernel/chr_drv/tty_io.cinterruptible_sleep_on(&tty->write_q.proc_list);
tty463kernel/chr_drv/tty_io.cwhile (nr>0 && !FULL(&tty->write_q)) {
tty465kernel/chr_drv/tty_io.cif (O_POST(tty)) {
tty466kernel/chr_drv/tty_io.cif (c=='\r' && O_CRNL(tty))
tty468kernel/chr_drv/tty_io.celse if (c=='\n' && O_NLRET(tty))
tty470kernel/chr_drv/tty_io.cif (c=='\n' && O_NLCR(tty) &&
tty471kernel/chr_drv/tty_io.c!set_bit(TTY_CR_PENDING,&tty->flags)) {
tty472kernel/chr_drv/tty_io.cput_tty_queue(13,&tty->write_q);
tty475kernel/chr_drv/tty_io.cif (O_LCUC(tty))
tty479kernel/chr_drv/tty_io.cclear_bit(TTY_CR_PENDING,&tty->flags);
tty480kernel/chr_drv/tty_io.cput_tty_queue(c,&tty->write_q);
tty485kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty);
tty488kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count)
tty538kernel/chr_drv/tty_io.cstruct tty_struct *tty, *o_tty;
tty543kernel/chr_drv/tty_io.cdev = current->tty;
tty549kernel/chr_drv/tty_io.ctty = TTY_TABLE(dev);
tty550kernel/chr_drv/tty_io.cif (!tty) {
tty551kernel/chr_drv/tty_io.ctty = TTY_TABLE(dev) = (struct tty_struct *)
tty553kernel/chr_drv/tty_io.cif (!tty)
tty555kernel/chr_drv/tty_io.cretval = initialize_tty_struct(tty, TTY_TABLE_IDX(dev));
tty557kernel/chr_drv/tty_io.cfree_page((unsigned long)tty);
tty564kernel/chr_drv/tty_io.cfree_page((unsigned long)tty);
tty569kernel/chr_drv/tty_io.cfree_page((unsigned long) tty);
tty573kernel/chr_drv/tty_io.ctty->link = o_tty;
tty574kernel/chr_drv/tty_io.co_tty->link = tty;
tty578kernel/chr_drv/tty_io.cif (tty->count)
tty580kernel/chr_drv/tty_io.cif (tty->link)
tty581kernel/chr_drv/tty_io.ctty->link->count++;
tty586kernel/chr_drv/tty_io.ctty->termios->c_lflag &= ~ECHO;
tty588kernel/chr_drv/tty_io.ctty->count++;
tty592kernel/chr_drv/tty_io.ctty->status_changed = 0;
tty593kernel/chr_drv/tty_io.ctty->ctrl_status = 0;
tty594kernel/chr_drv/tty_io.ctty->packet = 0;
tty598kernel/chr_drv/tty_io.ccurrent->tty<0 &&
tty599kernel/chr_drv/tty_io.ctty->session==0) {
tty600kernel/chr_drv/tty_io.ccurrent->tty = dev;
tty601kernel/chr_drv/tty_io.ctty->session = current->session;
tty602kernel/chr_drv/tty_io.ctty->pgrp = current->pgrp;
tty604kernel/chr_drv/tty_io.cif (tty->open)
tty605kernel/chr_drv/tty_io.cretval = tty->open(tty, filp);
tty609kernel/chr_drv/tty_io.ctty->count--;
tty610kernel/chr_drv/tty_io.cif (IS_A_PTY_MASTER(dev) && tty->link)
tty611kernel/chr_drv/tty_io.ctty->link->count--;
tty624kernel/chr_drv/tty_io.cstruct tty_struct * tty;
tty632kernel/chr_drv/tty_io.ctty = TTY_TABLE(dev);
tty633kernel/chr_drv/tty_io.cif (!tty) {
tty637kernel/chr_drv/tty_io.cif (IS_A_PTY_MASTER(dev) && tty->link)  {
tty638kernel/chr_drv/tty_io.cif (--tty->link->count < 0) {
tty640kernel/chr_drv/tty_io.cdev, tty->count);  
tty641kernel/chr_drv/tty_io.ctty->link->count = 0;
tty644kernel/chr_drv/tty_io.cif (--tty->count < 0) {
tty646kernel/chr_drv/tty_io.cdev, tty->count);
tty647kernel/chr_drv/tty_io.ctty->count = 0;
tty649kernel/chr_drv/tty_io.cif (tty->count)
tty651kernel/chr_drv/tty_io.cif (tty->close)
tty652kernel/chr_drv/tty_io.ctty->close(tty, filp);
tty653kernel/chr_drv/tty_io.cif (!tty->count && (tty == redirect))
tty655kernel/chr_drv/tty_io.cif (tty = tty->link)
tty656kernel/chr_drv/tty_io.cif (!tty->count && (tty == redirect))
tty658kernel/chr_drv/tty_io.cif (!tty->count && !(tty->link && tty->link->count)) {
tty659kernel/chr_drv/tty_io.cif (tty->link) {
tty671kernel/chr_drv/tty_io.cstruct tty_struct * tty;
tty679kernel/chr_drv/tty_io.ctty = TTY_TABLE(dev);
tty680kernel/chr_drv/tty_io.cif (!tty) {
tty686kernel/chr_drv/tty_io.cif (!EMPTY(&tty->secondary))
tty688kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count)
tty692kernel/chr_drv/tty_io.cif (tty->packet && tty->link &&
tty693kernel/chr_drv/tty_io.ctty->link->status_changed)
tty696kernel/chr_drv/tty_io.cselect_wait(&tty->secondary.proc_list, wait);
tty699kernel/chr_drv/tty_io.cif (!FULL(&tty->write_q))
tty701kernel/chr_drv/tty_io.cselect_wait(&tty->write_q.proc_list, wait);
tty704kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count)
tty726kernel/chr_drv/tty_io.cint initialize_tty_struct(struct tty_struct *tty, int line)
tty730kernel/chr_drv/tty_io.cmemset(tty, 0, sizeof(struct tty_struct));
tty731kernel/chr_drv/tty_io.ctty->line = line;
tty732kernel/chr_drv/tty_io.ctty->pgrp = -1;
tty733kernel/chr_drv/tty_io.ctty->winsize.ws_row = 24;
tty734kernel/chr_drv/tty_io.ctty->winsize.ws_col = 80;
tty756kernel/chr_drv/tty_io.ctty->termios = tty_termios[line];
tty759kernel/chr_drv/tty_io.ctty->open = con_open;
tty760kernel/chr_drv/tty_io.ctty->winsize.ws_row = video_num_lines;
tty761kernel/chr_drv/tty_io.ctty->winsize.ws_col = video_num_columns;
tty763kernel/chr_drv/tty_io.ctty->open = rs_open;
tty765kernel/chr_drv/tty_io.ctty->open = pty_open;
tty33kernel/chr_drv/tty_ioctl.cvoid flush_input(struct tty_struct * tty)
tty35kernel/chr_drv/tty_ioctl.ctty->status_changed = 1;
tty36kernel/chr_drv/tty_ioctl.ctty->ctrl_status |= TIOCPKT_FLUSHREAD;
tty37kernel/chr_drv/tty_ioctl.cflush(&tty->read_q);
tty38kernel/chr_drv/tty_ioctl.cwake_up(&tty->read_q.proc_list);
tty39kernel/chr_drv/tty_ioctl.cflush(&tty->secondary);
tty40kernel/chr_drv/tty_ioctl.ctty->secondary.data = 0;
tty42kernel/chr_drv/tty_ioctl.cif (tty = tty->link) {
tty43kernel/chr_drv/tty_ioctl.cflush(&tty->write_q);
tty44kernel/chr_drv/tty_ioctl.cwake_up(&tty->write_q.proc_list);
tty48kernel/chr_drv/tty_ioctl.cvoid flush_output(struct tty_struct * tty)
tty50kernel/chr_drv/tty_ioctl.ctty->status_changed = 1;
tty51kernel/chr_drv/tty_ioctl.ctty->ctrl_status |= TIOCPKT_FLUSHWRITE;
tty52kernel/chr_drv/tty_ioctl.cflush(&tty->write_q);
tty53kernel/chr_drv/tty_ioctl.cwake_up(&tty->write_q.proc_list);
tty54kernel/chr_drv/tty_ioctl.cif (tty = tty->link) {
tty55kernel/chr_drv/tty_ioctl.cflush(&tty->read_q);
tty56kernel/chr_drv/tty_ioctl.cwake_up(&tty->read_q.proc_list);
tty57kernel/chr_drv/tty_ioctl.cflush(&tty->secondary);
tty58kernel/chr_drv/tty_ioctl.ctty->secondary.data = 0;
tty62kernel/chr_drv/tty_ioctl.cvoid wait_until_sent(struct tty_struct * tty)
tty65kernel/chr_drv/tty_ioctl.c!EMPTY(&tty->write_q)) {
tty66kernel/chr_drv/tty_ioctl.cTTY_WRITE_FLUSH(tty);
tty69kernel/chr_drv/tty_ioctl.cif (EMPTY(&tty->write_q))
tty72kernel/chr_drv/tty_ioctl.cinterruptible_sleep_on(&tty->write_q.proc_list);
tty106kernel/chr_drv/tty_ioctl.cstatic int get_termios(struct tty_struct * tty, struct termios * termios)
tty112kernel/chr_drv/tty_ioctl.cput_fs_byte( ((char *)tty->termios)[i] , i+(char *)termios );
tty116kernel/chr_drv/tty_ioctl.cstatic int set_termios(struct tty_struct * tty, struct termios * termios,
tty120kernel/chr_drv/tty_ioctl.cunsigned short old_cflag = tty->termios->c_cflag;
tty125kernel/chr_drv/tty_ioctl.cif ((current->tty == channel) &&
tty126kernel/chr_drv/tty_ioctl.c(tty->pgrp != current->pgrp)) {
tty135kernel/chr_drv/tty_ioctl.c((char *)tty->termios)[i]=get_fs_byte(i+(char *)termios);
tty136kernel/chr_drv/tty_ioctl.cif (IS_A_SERIAL(channel) && tty->termios->c_cflag != old_cflag)
tty142kernel/chr_drv/tty_ioctl.cif (IS_A_PTY_MASTER(channel)) tty->termios->c_lflag &= ~ECHO;
tty147kernel/chr_drv/tty_ioctl.cstatic int get_termio(struct tty_struct * tty, struct termio * termio)
tty153kernel/chr_drv/tty_ioctl.ctmp_termio.c_iflag = tty->termios->c_iflag;
tty154kernel/chr_drv/tty_ioctl.ctmp_termio.c_oflag = tty->termios->c_oflag;
tty155kernel/chr_drv/tty_ioctl.ctmp_termio.c_cflag = tty->termios->c_cflag;
tty156kernel/chr_drv/tty_ioctl.ctmp_termio.c_lflag = tty->termios->c_lflag;
tty157kernel/chr_drv/tty_ioctl.ctmp_termio.c_line = tty->termios->c_line;
tty159kernel/chr_drv/tty_ioctl.ctmp_termio.c_cc[i] = tty->termios->c_cc[i];
tty168kernel/chr_drv/tty_ioctl.cstatic int set_termio(struct tty_struct * tty, struct termio * termio,
tty173kernel/chr_drv/tty_ioctl.cunsigned short old_cflag = tty->termios->c_cflag;
tty175kernel/chr_drv/tty_ioctl.cif ((current->tty == channel) &&
tty176kernel/chr_drv/tty_ioctl.c(tty->pgrp > 0) &&
tty177kernel/chr_drv/tty_ioctl.c(tty->pgrp != current->pgrp)) {
tty190kernel/chr_drv/tty_ioctl.c~(tty->termios->c_iflag & IXON))
tty192kernel/chr_drv/tty_ioctl.ctty->status_changed = 1;
tty193kernel/chr_drv/tty_ioctl.ctty->ctrl_status |= TIOCPKT_DOSTOP;
tty197kernel/chr_drv/tty_ioctl.c(tty->termios->c_iflag & IXON))
tty199kernel/chr_drv/tty_ioctl.ctty->status_changed = 1;
tty200kernel/chr_drv/tty_ioctl.ctty->ctrl_status |= TIOCPKT_NOSTOP;
tty203kernel/chr_drv/tty_ioctl.c*(unsigned short *)&tty->termios->c_iflag = tmp_termio.c_iflag;
tty204kernel/chr_drv/tty_ioctl.c*(unsigned short *)&tty->termios->c_oflag = tmp_termio.c_oflag;
tty205kernel/chr_drv/tty_ioctl.c*(unsigned short *)&tty->termios->c_cflag = tmp_termio.c_cflag;
tty206kernel/chr_drv/tty_ioctl.c*(unsigned short *)&tty->termios->c_lflag = tmp_termio.c_lflag;
tty207kernel/chr_drv/tty_ioctl.ctty->termios->c_line = tmp_termio.c_line;
tty209kernel/chr_drv/tty_ioctl.ctty->termios->c_cc[i] = tmp_termio.c_cc[i];
tty210kernel/chr_drv/tty_ioctl.cif (IS_A_SERIAL(channel) && tty->termios->c_cflag != old_cflag)
tty215kernel/chr_drv/tty_ioctl.cstatic int set_window_size(struct tty_struct * tty, struct winsize * ws)
tty222kernel/chr_drv/tty_ioctl.ctmp = (char *) &tty->winsize;
tty232kernel/chr_drv/tty_ioctl.ckill_pg(tty->pgrp, SIGWINCH, 1);
tty236kernel/chr_drv/tty_ioctl.cstatic int get_window_size(struct tty_struct * tty, struct winsize * ws)
tty246kernel/chr_drv/tty_ioctl.cput_fs_byte(((char *) &tty->winsize)[i], tmp);
tty253kernel/chr_drv/tty_ioctl.cstruct tty_struct * tty;
tty263kernel/chr_drv/tty_ioctl.ctty = TTY_TABLE(dev);
tty264kernel/chr_drv/tty_ioctl.cif (!tty)
tty274kernel/chr_drv/tty_ioctl.creturn get_termios(tty,(struct termios *) arg);
tty276kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty279kernel/chr_drv/tty_ioctl.cwait_until_sent(tty);
tty282kernel/chr_drv/tty_ioctl.creturn set_termios(tty,(struct termios *) arg, dev);
tty284kernel/chr_drv/tty_ioctl.creturn get_termio(tty,(struct termio *) arg);
tty286kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty289kernel/chr_drv/tty_ioctl.cwait_until_sent(tty); /* fallthrough */
tty291kernel/chr_drv/tty_ioctl.creturn set_termio(tty,(struct termio *) arg, dev);
tty295kernel/chr_drv/tty_ioctl.ctty->stopped = 1;
tty296kernel/chr_drv/tty_ioctl.cTTY_WRITE_FLUSH(tty);
tty299kernel/chr_drv/tty_ioctl.ctty->stopped = 0;
tty300kernel/chr_drv/tty_ioctl.cTTY_WRITE_FLUSH(tty);
tty303kernel/chr_drv/tty_ioctl.cif (STOP_CHAR(tty))
tty304kernel/chr_drv/tty_ioctl.cput_tty_queue(STOP_CHAR(tty),
tty305kernel/chr_drv/tty_ioctl.c&tty->write_q);
tty308kernel/chr_drv/tty_ioctl.cif (START_CHAR(tty))
tty309kernel/chr_drv/tty_ioctl.cput_tty_queue(START_CHAR(tty),
tty310kernel/chr_drv/tty_ioctl.c&tty->write_q);
tty316kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty318kernel/chr_drv/tty_ioctl.cflush_output(tty);
tty320kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty321kernel/chr_drv/tty_ioctl.cflush_output(tty);
tty333kernel/chr_drv/tty_ioctl.cput_fs_long(tty->pgrp,(unsigned long *) arg);
tty336kernel/chr_drv/tty_ioctl.cif ((current->tty < 0) ||
tty337kernel/chr_drv/tty_ioctl.c(current->tty != dev) ||
tty338kernel/chr_drv/tty_ioctl.c(tty->session != current->session))
tty345kernel/chr_drv/tty_ioctl.ctty->pgrp = pgrp;      
tty349kernel/chr_drv/tty_ioctl.cput_fs_long(CHARS(&tty->write_q),
tty354kernel/chr_drv/tty_ioctl.cif (L_CANON(tty) && !tty->secondary.data)
tty357kernel/chr_drv/tty_ioctl.cput_fs_long(CHARS(&tty->secondary),
tty363kernel/chr_drv/tty_ioctl.creturn get_window_size(tty,(struct winsize *) arg);
tty367kernel/chr_drv/tty_ioctl.creturn set_window_size(tty,(struct winsize *) arg);
tty392kernel/chr_drv/tty_ioctl.credirect = tty;
tty401kernel/chr_drv/tty_ioctl.cif (MINOR(file->f_rdev) != current->tty)
tty403kernel/chr_drv/tty_ioctl.ccurrent->tty = -1;
tty405kernel/chr_drv/tty_ioctl.cif (tty->pgrp > 0)
tty406kernel/chr_drv/tty_ioctl.ckill_pg(tty->pgrp, SIGHUP, 0);
tty407kernel/chr_drv/tty_ioctl.ctty->pgrp = -1;
tty408kernel/chr_drv/tty_ioctl.ctty->session = 0;
tty420kernel/chr_drv/tty_ioctl.ctty->packet = 1;
tty422kernel/chr_drv/tty_ioctl.ctty->packet = 0;
tty427kernel/chr_drv/tty_ioctl.cif (tty->ioctl)
tty428kernel/chr_drv/tty_ioctl.creturn (tty->ioctl)(tty, file, cmd, arg);
tty69kernel/chr_drv/vt.cint vt_ioctl(struct tty_struct *tty, struct file * file,
tty75kernel/chr_drv/vt.cconsole = tty->line - 1;
tty167kernel/chr_drv/vt.cflush_input(tty);
tty400kernel/exit.cstruct tty_struct *tty;
tty402kernel/exit.cif (current->tty >= 0) {
tty403kernel/exit.ctty = TTY_TABLE(current->tty);
tty404kernel/exit.cif (tty->pgrp > 0)
tty405kernel/exit.ckill_pg(tty->pgrp, SIGHUP, 1);
tty406kernel/exit.ctty->pgrp = -1;
tty407kernel/exit.ctty->session = 0;
tty411kernel/exit.c(*p)->tty = -1;
tty464kernel/sys.ccurrent->tty = -1;