taglinefilesource code
tty464fs/open.cstruct tty_struct *tty;
tty469fs/open.cif (current->tty < 0)
tty471fs/open.ctty = TTY_TABLE(MINOR(current->tty));
tty472fs/open.ctty_vhangup(tty);
tty201fs/proc/array.ctty_pgrp = (*p)->tty;
tty215fs/proc/array.c(*p)->tty,
tty189include/linux/sched.hint tty;    /* -1 if no tty, so it must be signed */
tty25include/linux/serial.hstruct tty_struct   *tty;
tty137include/linux/tty.h#define INTR_CHAR(tty) ((tty)->termios->c_cc[VINTR])
tty138include/linux/tty.h#define QUIT_CHAR(tty) ((tty)->termios->c_cc[VQUIT])
tty139include/linux/tty.h#define ERASE_CHAR(tty) ((tty)->termios->c_cc[VERASE])
tty140include/linux/tty.h#define KILL_CHAR(tty) ((tty)->termios->c_cc[VKILL])
tty141include/linux/tty.h#define EOF_CHAR(tty) ((tty)->termios->c_cc[VEOF])
tty142include/linux/tty.h#define START_CHAR(tty) ((tty)->termios->c_cc[VSTART])
tty143include/linux/tty.h#define STOP_CHAR(tty) ((tty)->termios->c_cc[VSTOP])
tty144include/linux/tty.h#define SUSPEND_CHAR(tty) ((tty)->termios->c_cc[VSUSP])
tty145include/linux/tty.h#define LNEXT_CHAR(tty)  ((tty)->termios->c_cc[VLNEXT])
tty147include/linux/tty.h#define _L_FLAG(tty,f)  ((tty)->termios->c_lflag & f)
tty148include/linux/tty.h#define _I_FLAG(tty,f)  ((tty)->termios->c_iflag & f)
tty149include/linux/tty.h#define _O_FLAG(tty,f)  ((tty)->termios->c_oflag & f)
tty150include/linux/tty.h#define _C_FLAG(tty,f)  ((tty)->termios->c_cflag & f)
tty152include/linux/tty.h#define L_CANON(tty)  _L_FLAG((tty),ICANON)
tty153include/linux/tty.h#define L_ISIG(tty)  _L_FLAG((tty),ISIG)
tty154include/linux/tty.h#define L_ECHO(tty)  _L_FLAG((tty),ECHO)
tty155include/linux/tty.h#define L_ECHOE(tty)  _L_FLAG((tty),ECHOE)
tty156include/linux/tty.h#define L_ECHOK(tty)  _L_FLAG((tty),ECHOK)
tty157include/linux/tty.h#define L_ECHONL(tty)  _L_FLAG((tty),ECHONL)
tty158include/linux/tty.h#define L_ECHOCTL(tty)  _L_FLAG((tty),ECHOCTL)
tty159include/linux/tty.h#define L_ECHOKE(tty)  _L_FLAG((tty),ECHOKE)
tty160include/linux/tty.h#define L_TOSTOP(tty)  _L_FLAG((tty),TOSTOP)
tty162include/linux/tty.h#define I_IGNBRK(tty)  _I_FLAG((tty),IGNBRK)
tty163include/linux/tty.h#define I_BRKINT(tty)  _I_FLAG((tty),BRKINT)
tty164include/linux/tty.h#define I_IGNPAR(tty)  _I_FLAG((tty),IGNPAR)
tty165include/linux/tty.h#define I_PARMRK(tty)  _I_FLAG((tty),PARMRK)
tty166include/linux/tty.h#define I_INPCK(tty)  _I_FLAG((tty),INPCK)
tty167include/linux/tty.h#define I_UCLC(tty)  _I_FLAG((tty),IUCLC)
tty168include/linux/tty.h#define I_NLCR(tty)  _I_FLAG((tty),INLCR)
tty169include/linux/tty.h#define I_CRNL(tty)  _I_FLAG((tty),ICRNL)
tty170include/linux/tty.h#define I_NOCR(tty)  _I_FLAG((tty),IGNCR)
tty171include/linux/tty.h#define I_IXON(tty)  _I_FLAG((tty),IXON)
tty172include/linux/tty.h#define I_IXANY(tty)  _I_FLAG((tty),IXANY)
tty173include/linux/tty.h#define I_STRP(tty)  _I_FLAG((tty),ISTRIP)
tty175include/linux/tty.h#define O_POST(tty)  _O_FLAG((tty),OPOST)
tty176include/linux/tty.h#define O_NLCR(tty)  _O_FLAG((tty),ONLCR)
tty177include/linux/tty.h#define O_CRNL(tty)  _O_FLAG((tty),OCRNL)
tty178include/linux/tty.h#define O_NLRET(tty)  _O_FLAG((tty),ONLRET)
tty179include/linux/tty.h#define O_LCUC(tty)  _O_FLAG((tty),OLCUC)
tty181include/linux/tty.h#define C_LOCAL(tty)  _C_FLAG((tty),CLOCAL)
tty182include/linux/tty.h#define C_RTSCTS(tty)  _C_FLAG((tty),CRTSCTS)
tty183include/linux/tty.h#define C_SPEED(tty)  ((tty)->termios->c_cflag & CBAUD)
tty184include/linux/tty.h#define C_HUP(tty)  (C_SPEED((tty)) == B0)
tty212include/linux/tty.hint  (*open)(struct tty_struct * tty, struct file * filp);
tty213include/linux/tty.hvoid (*close)(struct tty_struct * tty, struct file * filp);
tty214include/linux/tty.hvoid (*write)(struct tty_struct * tty);
tty215include/linux/tty.hint  (*ioctl)(struct tty_struct *tty, struct file * file,
tty217include/linux/tty.hvoid (*throttle)(struct tty_struct * tty, int status);
tty218include/linux/tty.hvoid (*set_termios)(struct tty_struct *tty, struct termios * old);
tty237include/linux/tty.hint  (*read)(struct tty_struct * tty, struct file * file,
tty239include/linux/tty.hint  (*write)(struct tty_struct * tty, struct file * file,
tty241include/linux/tty.hint  (*ioctl)(struct tty_struct * tty, struct file * file,
tty306include/linux/tty.h#define TTY_WRITE_FLUSH(tty) tty_write_flush((tty))
tty307include/linux/tty.h#define TTY_READ_FLUSH(tty) tty_read_flush((tty))
tty337include/linux/tty.hextern void flush_input(struct tty_struct * tty);
tty338include/linux/tty.hextern void flush_output(struct tty_struct * tty);
tty339include/linux/tty.hextern void wait_until_sent(struct tty_struct * tty);
tty340include/linux/tty.hextern void copy_to_cooked(struct tty_struct * tty);
tty346include/linux/tty.hextern int tty_signal(int sig, struct tty_struct *tty);
tty349include/linux/tty.hextern void tty_hangup(struct tty_struct * tty);
tty350include/linux/tty.hextern void tty_vhangup(struct tty_struct * tty);
tty353include/linux/tty.hextern void do_SAK(struct tty_struct *tty);
tty357include/linux/tty.hextern void rs_write(struct tty_struct * tty);
tty358include/linux/tty.hextern void con_write(struct tty_struct * tty);
tty362include/linux/tty.hextern int  rs_open(struct tty_struct * tty, struct file * filp);
tty366include/linux/tty.hextern int  pty_open(struct tty_struct * tty, struct file * filp);
tty370include/linux/tty.hextern int con_open(struct tty_struct * tty, struct file * filp);
tty377include/linux/tty.hextern int vt_ioctl(struct tty_struct *tty, struct file * file,
tty599kernel/chr_drv/console.cstatic void respond_string(char * p, int currcons, struct tty_struct * tty)
tty602kernel/chr_drv/console.cput_tty_queue(*p, &tty->read_q);
tty605kernel/chr_drv/console.cTTY_READ_FLUSH(tty);
tty608kernel/chr_drv/console.cstatic void respond_num(unsigned int n, int currcons, struct tty_struct * tty)
tty618kernel/chr_drv/console.cput_tty_queue(buff[i], &tty->read_q);
tty623kernel/chr_drv/console.cstatic void cursor_report(int currcons, struct tty_struct * tty)
tty625kernel/chr_drv/console.cput_tty_queue('\033', &tty->read_q);
tty626kernel/chr_drv/console.cput_tty_queue('[', &tty->read_q);
tty627kernel/chr_drv/console.crespond_num(y + (decom ? top+1 : 1), currcons, tty);
tty628kernel/chr_drv/console.cput_tty_queue(';', &tty->read_q);
tty629kernel/chr_drv/console.crespond_num(x+1, currcons, tty);
tty630kernel/chr_drv/console.cput_tty_queue('R', &tty->read_q);
tty631kernel/chr_drv/console.cTTY_READ_FLUSH(tty);
tty634kernel/chr_drv/console.cstatic inline void status_report(int currcons, struct tty_struct * tty)
tty636kernel/chr_drv/console.crespond_string("\033[0n", currcons, tty);  /* Terminal ok */
tty639kernel/chr_drv/console.cstatic inline void respond_ID(int currcons, struct tty_struct * tty)
tty641kernel/chr_drv/console.crespond_string(VT102ID, currcons, tty);
tty893kernel/chr_drv/console.cvoid con_write(struct tty_struct * tty)
tty898kernel/chr_drv/console.cwake_up_interruptible(&tty->write_q.proc_list);
tty899kernel/chr_drv/console.ccurrcons = tty->line - 1;
tty904kernel/chr_drv/console.cwhile (!tty->stopped &&  (c = get_tty_queue(&tty->write_q)) >= 0) {
tty993kernel/chr_drv/console.crespond_ID(currcons,tty);
tty1054kernel/chr_drv/console.cstatus_report(currcons,tty);
tty1056kernel/chr_drv/console.ccursor_report(currcons,tty);
tty1118kernel/chr_drv/console.crespond_ID(currcons,tty);
tty1497kernel/chr_drv/console.cint con_open(struct tty_struct *tty, struct file * filp)
tty1499kernel/chr_drv/console.ctty->write = con_write;
tty1500kernel/chr_drv/console.ctty->ioctl = vt_ioctl;
tty1501kernel/chr_drv/console.cif (tty->line > NR_CONSOLES)
tty54kernel/chr_drv/keyboard.cstatic struct tty_struct * tty = NULL;
tty103kernel/chr_drv/keyboard.ctty = TTY_TABLE(0);
tty132kernel/chr_drv/keyboard.c(vc_kbd_flag(kbd,VC_REPEAT) && tty &&
tty133kernel/chr_drv/keyboard.c(L_ECHO(tty) || (EMPTY(&tty->secondary) && EMPTY(&tty->read_q)))))
tty145kernel/chr_drv/keyboard.cif (!tty)
tty147kernel/chr_drv/keyboard.cqp = &tty->read_q;
tty162kernel/chr_drv/keyboard.cif (!tty)
tty164kernel/chr_drv/keyboard.cqp = &tty->read_q;
tty24kernel/chr_drv/pty.cstatic void pty_close(struct tty_struct * tty, struct file * filp)
tty26kernel/chr_drv/pty.cif (!tty || (tty->count > 1))
tty28kernel/chr_drv/pty.cwake_up_interruptible(&tty->read_q.proc_list);
tty29kernel/chr_drv/pty.cif (!tty->link)
tty31kernel/chr_drv/pty.cwake_up_interruptible(&tty->link->write_q.proc_list);
tty32kernel/chr_drv/pty.cif (IS_A_PTY_MASTER(tty->line)) {
tty33kernel/chr_drv/pty.ctty_hangup(tty->link);
tty34kernel/chr_drv/pty.cflush_input(tty);
tty35kernel/chr_drv/pty.cflush_output(tty);
tty68kernel/chr_drv/pty.cstatic void pty_write(struct tty_struct * tty)
tty70kernel/chr_drv/pty.cif (tty->link)
tty71kernel/chr_drv/pty.cpty_copy(tty,tty->link);
tty74kernel/chr_drv/pty.cint pty_open(struct tty_struct *tty, struct file * filp)
tty76kernel/chr_drv/pty.cif (!tty || !tty->link)
tty78kernel/chr_drv/pty.ctty->write = tty->link->write = pty_write;
tty79kernel/chr_drv/pty.ctty->close = tty->link->close = pty_close;
tty80kernel/chr_drv/pty.cwake_up_interruptible(&tty->read_q.proc_list);
tty83kernel/chr_drv/pty.cwhile (!tty->link->count && !(current->signal & ~current->blocked))
tty84kernel/chr_drv/pty.cinterruptible_sleep_on(&tty->link->read_q.proc_list);
tty85kernel/chr_drv/pty.cif (!tty->link->count)
tty145kernel/chr_drv/serial.cstatic void rs_throttle(struct tty_struct * tty, int status);
tty213kernel/chr_drv/serial.cqueue = &info->tty->read_q;
tty225kernel/chr_drv/serial.cset_bit(head, &info->tty->readq_flags);
tty240kernel/chr_drv/serial.c&info->tty->flags)) 
tty241kernel/chr_drv/serial.crs_throttle(info->tty, TTY_THROTTLE_RQ_FULL);
tty250kernel/chr_drv/serial.cqueue = &info->tty->write_q;
tty268kernel/chr_drv/serial.cif (info->tty->write_data_cnt) {
tty269kernel/chr_drv/serial.cset_bit(info->tty->line, &tty_check_write);
tty285kernel/chr_drv/serial.cif ((status & UART_MSR_DDCD) && !C_LOCAL(info->tty)) {
tty291kernel/chr_drv/serial.cif (C_RTSCTS(info->tty)) {
tty292kernel/chr_drv/serial.cif (info->tty->stopped) {
tty294kernel/chr_drv/serial.cinfo->tty->stopped = 0;
tty298kernel/chr_drv/serial.cinfo->tty->stopped = !(status & UART_MSR_CTS);
tty345kernel/chr_drv/serial.c!info->tty->stopped) {
tty397kernel/chr_drv/serial.cdo_SAK(info->tty);
tty399kernel/chr_drv/serial.cif (I_BRKINT(info->tty)) {
tty400kernel/chr_drv/serial.cflush_input(info->tty);
tty401kernel/chr_drv/serial.cflush_output(info->tty);
tty402kernel/chr_drv/serial.cif (info->tty->pgrp > 0)
tty403kernel/chr_drv/serial.ckill_pg(info->tty->pgrp, SIGINT,1);
tty423kernel/chr_drv/serial.cif (!info->tty)  
tty426kernel/chr_drv/serial.cTTY_READ_FLUSH(info->tty);
tty429kernel/chr_drv/serial.cwake_up_interruptible(&info->tty->write_q.proc_list);
tty432kernel/chr_drv/serial.ctty_hangup(info->tty);
tty574kernel/chr_drv/serial.cif (info->tty)
tty575kernel/chr_drv/serial.cclear_bit(TTY_IO_ERROR, &info->tty->flags);
tty580kernel/chr_drv/serial.cif (I_INPCK(info->tty))
tty597kernel/chr_drv/serial.cif (info->tty && !(info->tty->termios->c_cflag & HUPCL))
tty605kernel/chr_drv/serial.cif (info->tty)
tty606kernel/chr_drv/serial.cset_bit(TTY_IO_ERROR, &info->tty->flags);
tty625kernel/chr_drv/serial.cif (!info->tty || !info->tty->termios)
tty627kernel/chr_drv/serial.ccflag = info->tty->termios->c_cflag;
tty697kernel/chr_drv/serial.cqueue = &info->tty->write_q;
tty716kernel/chr_drv/serial.cvoid rs_write(struct tty_struct * tty)
tty720kernel/chr_drv/serial.cif (!tty || tty->stopped)
tty722kernel/chr_drv/serial.cinfo = rs_table + DEV_TO_SL(tty->line);
tty737kernel/chr_drv/serial.cstatic void rs_throttle(struct tty_struct * tty, int status)
tty743kernel/chr_drv/serial.cprintk("throttle tty%d: %d (%d, %d)....\n", DEV_TO_SL(tty->line),
tty744kernel/chr_drv/serial.cstatus, LEFT(&tty->read_q), LEFT(&tty->secondary));
tty748kernel/chr_drv/serial.cinfo = rs_table + DEV_TO_SL(tty->line);
tty749kernel/chr_drv/serial.cif (tty->termios->c_iflag & IXOFF) {
tty750kernel/chr_drv/serial.cinfo->x_char = STOP_CHAR(tty);
tty758kernel/chr_drv/serial.cinfo = rs_table + DEV_TO_SL(tty->line);
tty759kernel/chr_drv/serial.cif (tty->termios->c_iflag & IXOFF) {
tty764kernel/chr_drv/serial.cinfo->x_char = START_CHAR(tty);
tty972kernel/chr_drv/serial.cstatic int rs_ioctl(struct tty_struct *tty, struct file * file,
tty978kernel/chr_drv/serial.cline = DEV_TO_SL(tty->line);
tty985kernel/chr_drv/serial.cwait_until_sent(tty);
tty990kernel/chr_drv/serial.cwait_until_sent(tty);
tty997kernel/chr_drv/serial.cput_fs_long(C_LOCAL(tty) ? 1 : 0,
tty1002kernel/chr_drv/serial.ctty->termios->c_cflag =
tty1003kernel/chr_drv/serial.c((tty->termios->c_cflag & ~CLOCAL) |
tty1032kernel/chr_drv/serial.cstatic void rs_set_termios(struct tty_struct *tty, struct termios *old_termios)
tty1036kernel/chr_drv/serial.cif (tty->termios->c_cflag == old_termios->c_cflag)
tty1039kernel/chr_drv/serial.cinfo = &rs_table[DEV_TO_SL(tty->line)];
tty1041kernel/chr_drv/serial.cchange_speed(DEV_TO_SL(tty->line));
tty1044kernel/chr_drv/serial.c!(tty->termios->c_cflag & CRTSCTS)) {
tty1045kernel/chr_drv/serial.ctty->stopped = 0;
tty1046kernel/chr_drv/serial.crs_write(tty);
tty1050kernel/chr_drv/serial.c(tty->termios->c_cflag & CLOCAL))
tty1053kernel/chr_drv/serial.cif (I_INPCK(tty))
tty1070kernel/chr_drv/serial.cstatic void rs_close(struct tty_struct *tty, struct file * filp)
tty1075kernel/chr_drv/serial.cline = DEV_TO_SL(tty->line);
tty1084kernel/chr_drv/serial.ctty->stopped = 0;    /* Force flush to succeed */
tty1085kernel/chr_drv/serial.cwait_until_sent(tty);
tty1115kernel/chr_drv/serial.cinfo->tty = 0;
tty1123kernel/chr_drv/serial.cstatic int block_til_ready(struct tty_struct *tty, struct file * filp,
tty1178kernel/chr_drv/serial.c(C_LOCAL(tty) ||
tty1211kernel/chr_drv/serial.cint rs_open(struct tty_struct *tty, struct file * filp)
tty1217kernel/chr_drv/serial.cline = DEV_TO_SL(tty->line);
tty1225kernel/chr_drv/serial.cinfo->tty = tty;
tty1227kernel/chr_drv/serial.ctty->write = rs_write;
tty1228kernel/chr_drv/serial.ctty->close = rs_close;
tty1229kernel/chr_drv/serial.ctty->ioctl = rs_ioctl;
tty1230kernel/chr_drv/serial.ctty->throttle = rs_throttle;
tty1231kernel/chr_drv/serial.ctty->set_termios = rs_set_termios;
tty1235kernel/chr_drv/serial.cset_bit(TTY_IO_ERROR, &tty->flags);
tty1269kernel/chr_drv/serial.cretval = block_til_ready(tty, filp, info);
tty1536kernel/chr_drv/serial.cinfo->tty = 0;
tty69kernel/chr_drv/tty_io.cstatic void initialize_tty_struct(int line, struct tty_struct *tty);
tty126kernel/chr_drv/tty_io.cint tty_read_raw_data(struct tty_struct *tty, unsigned char *bufp, int buflen)
tty134kernel/chr_drv/tty_io.ctail = tty->read_q.tail;
tty135kernel/chr_drv/tty_io.chead = tty->read_q.head;
tty137kernel/chr_drv/tty_io.c*p++ =  tty->read_q.buf[tail++];
tty141kernel/chr_drv/tty_io.ctty->read_q.tail = tail;
tty147kernel/chr_drv/tty_io.cvoid tty_write_flush(struct tty_struct * tty)
tty149kernel/chr_drv/tty_io.cif (!tty->write || EMPTY(&tty->write_q))
tty151kernel/chr_drv/tty_io.cif (set_bit(TTY_WRITE_BUSY,&tty->flags))
tty153kernel/chr_drv/tty_io.ctty->write(tty);
tty154kernel/chr_drv/tty_io.cif (clear_bit(TTY_WRITE_BUSY,&tty->flags))
tty158kernel/chr_drv/tty_io.cvoid tty_read_flush(struct tty_struct * tty)
tty160kernel/chr_drv/tty_io.cif (!tty || EMPTY(&tty->read_q))
tty162kernel/chr_drv/tty_io.cif (set_bit(TTY_READ_BUSY, &tty->flags))
tty164kernel/chr_drv/tty_io.cldiscs[tty->disc].handler(tty);
tty165kernel/chr_drv/tty_io.cif (clear_bit(TTY_READ_BUSY, &tty->flags))
tty231kernel/chr_drv/tty_io.cvoid do_tty_hangup(struct tty_struct * tty, struct file_operations *fops)
tty237kernel/chr_drv/tty_io.cif (!tty)
tty239kernel/chr_drv/tty_io.cdev = 0x0400 + tty->line;
tty252kernel/chr_drv/tty_io.cwake_up_interruptible(&tty->secondary.proc_list);
tty253kernel/chr_drv/tty_io.cwake_up_interruptible(&tty->read_q.proc_list);
tty254kernel/chr_drv/tty_io.cwake_up_interruptible(&tty->write_q.proc_list);
tty255kernel/chr_drv/tty_io.cif (tty->session > 0)
tty256kernel/chr_drv/tty_io.ckill_sl(tty->session,SIGHUP,1);
tty257kernel/chr_drv/tty_io.ctty->session = 0;
tty258kernel/chr_drv/tty_io.ctty->pgrp = -1;
tty260kernel/chr_drv/tty_io.cif ((*p) && (*p)->tty == tty->line)
tty261kernel/chr_drv/tty_io.c(*p)->tty = -1;
tty265kernel/chr_drv/tty_io.cvoid tty_hangup(struct tty_struct * tty)
tty267kernel/chr_drv/tty_io.cdo_tty_hangup(tty, &hung_up_tty_fops);
tty270kernel/chr_drv/tty_io.cvoid tty_vhangup(struct tty_struct * tty)
tty272kernel/chr_drv/tty_io.cdo_tty_hangup(tty, &vhung_up_tty_fops);
tty466kernel/chr_drv/tty_io.cvoid copy_to_cooked(struct tty_struct * tty)
tty471kernel/chr_drv/tty_io.cif (!tty) {
tty475kernel/chr_drv/tty_io.cif (!tty->write) {
tty477kernel/chr_drv/tty_io.ctty->line);
tty485kernel/chr_drv/tty_io.cc = LEFT(&tty->secondary);
tty486kernel/chr_drv/tty_io.cif (tty->throttle && (c < SQ_THRESHOLD_LW)
tty487kernel/chr_drv/tty_io.c&& !set_bit(TTY_SQ_THROTTLED, &tty->flags))
tty488kernel/chr_drv/tty_io.ctty->throttle(tty, TTY_THROTTLE_SQ_FULL);
tty492kernel/chr_drv/tty_io.cif (tty->read_q.tail != tty->read_q.head) {
tty493kernel/chr_drv/tty_io.cc = 0xff & tty->read_q.buf[tty->read_q.tail];
tty494kernel/chr_drv/tty_io.cspecial_flag = !clear_bit(tty->read_q.tail,
tty495kernel/chr_drv/tty_io.c&tty->readq_flags);
tty496kernel/chr_drv/tty_io.ctty->read_q.tail = (tty->read_q.tail + 1) &
tty504kernel/chr_drv/tty_io.ctty->char_error = c & 3;
tty507kernel/chr_drv/tty_io.cif (tty->char_error) {
tty508kernel/chr_drv/tty_io.cif (tty->char_error == TTY_BREAK) {
tty509kernel/chr_drv/tty_io.ctty->char_error = 0;
tty510kernel/chr_drv/tty_io.cif (I_IGNBRK(tty))
tty512kernel/chr_drv/tty_io.cif (I_PARMRK(tty)) {
tty513kernel/chr_drv/tty_io.cput_tty_queue(0377, &tty->secondary);
tty514kernel/chr_drv/tty_io.cput_tty_queue(0, &tty->secondary);
tty516kernel/chr_drv/tty_io.cput_tty_queue(0, &tty->secondary);
tty520kernel/chr_drv/tty_io.ctty->char_error = 0;
tty521kernel/chr_drv/tty_io.cif (I_IGNPAR(tty)) {
tty524kernel/chr_drv/tty_io.cif (I_PARMRK(tty)) {
tty525kernel/chr_drv/tty_io.cput_tty_queue(0377, &tty->secondary);
tty526kernel/chr_drv/tty_io.cput_tty_queue(0, &tty->secondary);
tty527kernel/chr_drv/tty_io.cput_tty_queue(c, &tty->secondary);
tty529kernel/chr_drv/tty_io.cput_tty_queue(0, &tty->secondary);
tty532kernel/chr_drv/tty_io.cif (I_STRP(tty))
tty534kernel/chr_drv/tty_io.celse if (I_PARMRK(tty) && (c == 0377))
tty535kernel/chr_drv/tty_io.cput_tty_queue(0377, &tty->secondary);
tty537kernel/chr_drv/tty_io.cif (I_CRNL(tty))
tty539kernel/chr_drv/tty_io.celse if (I_NOCR(tty))
tty541kernel/chr_drv/tty_io.c} else if (c==10 && I_NLCR(tty))
tty543kernel/chr_drv/tty_io.cif (I_UCLC(tty))
tty546kernel/chr_drv/tty_io.ctty->lnext = 1;
tty547kernel/chr_drv/tty_io.cif (L_CANON(tty) && !tty->lnext) {
tty548kernel/chr_drv/tty_io.cif (c == KILL_CHAR(tty)) {
tty550kernel/chr_drv/tty_io.cwhile(!(EMPTY(&tty->secondary) ||
tty551kernel/chr_drv/tty_io.c(c=LAST(&tty->secondary))==10 ||
tty552kernel/chr_drv/tty_io.c((EOF_CHAR(tty) != __DISABLED_CHAR) &&
tty553kernel/chr_drv/tty_io.c(c==EOF_CHAR(tty))))) {
tty554kernel/chr_drv/tty_io.cif (L_ECHO(tty)) {
tty556kernel/chr_drv/tty_io.cput_tty_queue(8, &tty->write_q);
tty557kernel/chr_drv/tty_io.cput_tty_queue(' ', &tty->write_q);
tty558kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty560kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty561kernel/chr_drv/tty_io.cput_tty_queue(' ',&tty->write_q);
tty562kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty564kernel/chr_drv/tty_io.cDEC(tty->secondary.head);
tty568kernel/chr_drv/tty_io.cif (c == ERASE_CHAR(tty)) {
tty569kernel/chr_drv/tty_io.cif (EMPTY(&tty->secondary) ||
tty570kernel/chr_drv/tty_io.c(c=LAST(&tty->secondary))==10 ||
tty571kernel/chr_drv/tty_io.c((EOF_CHAR(tty) != __DISABLED_CHAR) &&
tty572kernel/chr_drv/tty_io.c(c==EOF_CHAR(tty))))
tty574kernel/chr_drv/tty_io.cif (L_ECHO(tty)) {
tty576kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty577kernel/chr_drv/tty_io.cput_tty_queue(' ',&tty->write_q);
tty578kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty580kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty581kernel/chr_drv/tty_io.cput_tty_queue(32,&tty->write_q);
tty582kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty584kernel/chr_drv/tty_io.cDEC(tty->secondary.head);
tty587kernel/chr_drv/tty_io.cif (c == LNEXT_CHAR(tty)) {
tty588kernel/chr_drv/tty_io.ctty->lnext = 1;
tty589kernel/chr_drv/tty_io.cif (L_ECHO(tty)) {
tty590kernel/chr_drv/tty_io.cput_tty_queue('^',&tty->write_q);
tty591kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty596kernel/chr_drv/tty_io.cif (I_IXON(tty) && !tty->lnext) {
tty597kernel/chr_drv/tty_io.cif (c == STOP_CHAR(tty)) {
tty598kernel/chr_drv/tty_io.ctty->status_changed = 1;
tty599kernel/chr_drv/tty_io.ctty->ctrl_status |= TIOCPKT_STOP;
tty600kernel/chr_drv/tty_io.ctty->stopped=1;
tty603kernel/chr_drv/tty_io.cif (((I_IXANY(tty)) && tty->stopped) ||
tty604kernel/chr_drv/tty_io.c(c == START_CHAR(tty))) {
tty605kernel/chr_drv/tty_io.ctty->status_changed = 1;
tty606kernel/chr_drv/tty_io.ctty->ctrl_status |= TIOCPKT_START;
tty607kernel/chr_drv/tty_io.ctty->stopped=0;
tty611kernel/chr_drv/tty_io.cif (L_ISIG(tty) && !tty->lnext) {
tty612kernel/chr_drv/tty_io.cif (c == INTR_CHAR(tty)) {
tty613kernel/chr_drv/tty_io.ckill_pg(tty->pgrp, SIGINT, 1);
tty614kernel/chr_drv/tty_io.cflush_input(tty);
tty617kernel/chr_drv/tty_io.cif (c == QUIT_CHAR(tty)) {
tty618kernel/chr_drv/tty_io.ckill_pg(tty->pgrp, SIGQUIT, 1);
tty619kernel/chr_drv/tty_io.cflush_input(tty);
tty622kernel/chr_drv/tty_io.cif (c == SUSPEND_CHAR(tty)) {
tty623kernel/chr_drv/tty_io.cif (!is_orphaned_pgrp(tty->pgrp))
tty624kernel/chr_drv/tty_io.ckill_pg(tty->pgrp, SIGTSTP, 1);
tty628kernel/chr_drv/tty_io.cif (c==10 || (EOF_CHAR(tty) != __DISABLED_CHAR &&
tty629kernel/chr_drv/tty_io.cc==EOF_CHAR(tty)))
tty630kernel/chr_drv/tty_io.ctty->secondary.data++;
tty631kernel/chr_drv/tty_io.cif ((c==10) && (L_ECHO(tty) || (L_CANON(tty) && L_ECHONL(tty)))) {
tty632kernel/chr_drv/tty_io.cput_tty_queue(10,&tty->write_q);
tty633kernel/chr_drv/tty_io.cput_tty_queue(13,&tty->write_q);
tty634kernel/chr_drv/tty_io.c} else if (L_ECHO(tty)) {
tty635kernel/chr_drv/tty_io.cif (c<32 && L_ECHOCTL(tty)) {
tty636kernel/chr_drv/tty_io.cput_tty_queue('^',&tty->write_q);
tty637kernel/chr_drv/tty_io.cput_tty_queue(c+64, &tty->write_q);
tty638kernel/chr_drv/tty_io.cif (EOF_CHAR(tty) != __DISABLED_CHAR &&
tty639kernel/chr_drv/tty_io.cc==EOF_CHAR(tty) && !tty->lnext) {
tty640kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty641kernel/chr_drv/tty_io.cput_tty_queue(8,&tty->write_q);
tty644kernel/chr_drv/tty_io.cput_tty_queue(c, &tty->write_q);
tty646kernel/chr_drv/tty_io.ctty->lnext = 0;
tty647kernel/chr_drv/tty_io.cput_tty_queue(c, &tty->secondary);
tty649kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty);
tty650kernel/chr_drv/tty_io.cif (!EMPTY(&tty->secondary))
tty651kernel/chr_drv/tty_io.cwake_up_interruptible(&tty->secondary.proc_list);
tty652kernel/chr_drv/tty_io.cif (tty->write_q.proc_list && LEFT(&tty->write_q) > TTY_BUF_SIZE/2)
tty653kernel/chr_drv/tty_io.cwake_up_interruptible(&tty->write_q.proc_list);
tty654kernel/chr_drv/tty_io.cif (tty->throttle && (LEFT(&tty->read_q) >= RQ_THRESHOLD_HW)
tty655kernel/chr_drv/tty_io.c&& !clear_bit(TTY_RQ_THROTTLED, &tty->flags))
tty656kernel/chr_drv/tty_io.ctty->throttle(tty, TTY_THROTTLE_RQ_AVAIL);
tty657kernel/chr_drv/tty_io.cif (tty->throttle && (LEFT(&tty->secondary) >= SQ_THRESHOLD_HW)
tty658kernel/chr_drv/tty_io.c&& !clear_bit(TTY_SQ_THROTTLED, &tty->flags))
tty659kernel/chr_drv/tty_io.ctty->throttle(tty, TTY_THROTTLE_SQ_AVAIL);
tty671kernel/chr_drv/tty_io.cstatic void wait_for_canon_input(struct file * file, struct tty_struct * tty)
tty673kernel/chr_drv/tty_io.cif (!available_canon_input(tty)) {
tty676kernel/chr_drv/tty_io.c__wait_for_canon_input(file, tty);
tty680kernel/chr_drv/tty_io.cstatic int read_chan(struct tty_struct * tty, struct file * file, char * buf, int nr)
tty687kernel/chr_drv/tty_io.cif (L_CANON(tty))
tty690kernel/chr_drv/tty_io.ctime = 10L*tty->termios->c_cc[VTIME];
tty691kernel/chr_drv/tty_io.cminimum = tty->termios->c_cc[VMIN];
tty705kernel/chr_drv/tty_io.cif (L_CANON(tty)) {
tty706kernel/chr_drv/tty_io.cif (!available_canon_input(tty))
tty709kernel/chr_drv/tty_io.c} else if (L_CANON(tty)) {
tty710kernel/chr_drv/tty_io.cwait_for_canon_input(file, tty);
tty718kernel/chr_drv/tty_io.cif (tty->packet && tty->link && tty->link->status_changed) {
tty719kernel/chr_drv/tty_io.cput_fs_byte (tty->link->ctrl_status, b);
tty720kernel/chr_drv/tty_io.ctty->link->status_changed = 0;
tty725kernel/chr_drv/tty_io.cif (tty->packet) {
tty733kernel/chr_drv/tty_io.cadd_wait_queue(&tty->secondary.proc_list, &wait);
tty739kernel/chr_drv/tty_io.cTTY_READ_FLUSH(tty);
tty740kernel/chr_drv/tty_io.cif (tty->link)
tty741kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty->link);
tty742kernel/chr_drv/tty_io.cwhile (nr > 0 && ((c = get_tty_queue(&tty->secondary)) >= 0)) {
tty743kernel/chr_drv/tty_io.cif ((EOF_CHAR(tty) != __DISABLED_CHAR &&
tty744kernel/chr_drv/tty_io.cc==EOF_CHAR(tty)) || c==10)
tty745kernel/chr_drv/tty_io.ctty->secondary.data--;
tty746kernel/chr_drv/tty_io.cif ((EOF_CHAR(tty) != __DISABLED_CHAR &&
tty747kernel/chr_drv/tty_io.cc==EOF_CHAR(tty)) && L_CANON(tty))
tty753kernel/chr_drv/tty_io.cif (c==10 && L_CANON(tty))
tty756kernel/chr_drv/tty_io.cwake_up_interruptible(&tty->read_q.proc_list);
tty761kernel/chr_drv/tty_io.cif (tty->throttle && (LEFT(&tty->secondary) >= SQ_THRESHOLD_HW)
tty762kernel/chr_drv/tty_io.c&& !clear_bit(TTY_SQ_THROTTLED, &tty->flags))
tty763kernel/chr_drv/tty_io.ctty->throttle(tty, TTY_THROTTLE_SQ_AVAIL);
tty768kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count)
tty770kernel/chr_drv/tty_io.cTTY_READ_FLUSH(tty);
tty771kernel/chr_drv/tty_io.cif (tty->link)
tty772kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty->link);
tty773kernel/chr_drv/tty_io.cif (!EMPTY(&tty->secondary))
tty776kernel/chr_drv/tty_io.cif (EMPTY(&tty->secondary))
tty780kernel/chr_drv/tty_io.cremove_wait_queue(&tty->secondary.proc_list, &wait);
tty781kernel/chr_drv/tty_io.cTTY_READ_FLUSH(tty);
tty782kernel/chr_drv/tty_io.cif (tty->link && tty->link->write)
tty783kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty->link);
tty788kernel/chr_drv/tty_io.cif (tty->packet) {
tty803kernel/chr_drv/tty_io.cstatic void __wait_for_canon_input(struct file * file, struct tty_struct * tty)
tty807kernel/chr_drv/tty_io.cadd_wait_queue(&tty->secondary.proc_list, &wait);
tty810kernel/chr_drv/tty_io.cif (available_canon_input(tty))
tty819kernel/chr_drv/tty_io.cremove_wait_queue(&tty->secondary.proc_list, &wait);
tty822kernel/chr_drv/tty_io.cstatic int available_canon_input(struct tty_struct * tty)
tty824kernel/chr_drv/tty_io.cTTY_READ_FLUSH(tty);
tty825kernel/chr_drv/tty_io.cif (tty->link)
tty826kernel/chr_drv/tty_io.cif (tty->link->count)
tty827kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty->link);
tty830kernel/chr_drv/tty_io.cif (FULL(&tty->read_q))
tty832kernel/chr_drv/tty_io.cif (tty->secondary.data)
tty837kernel/chr_drv/tty_io.cstatic int write_chan(struct tty_struct * tty, struct file * file, char * buf, int nr)
tty846kernel/chr_drv/tty_io.cadd_wait_queue(&tty->write_q.proc_list, &wait);
tty852kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count) {
tty857kernel/chr_drv/tty_io.cif (FULL(&tty->write_q)) {
tty858kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty);
tty859kernel/chr_drv/tty_io.cif (FULL(&tty->write_q))
tty865kernel/chr_drv/tty_io.cwhile (nr>0 && !FULL(&tty->write_q)) {
tty867kernel/chr_drv/tty_io.cif (O_POST(tty)) {
tty868kernel/chr_drv/tty_io.cif (c=='\r' && O_CRNL(tty))
tty870kernel/chr_drv/tty_io.celse if (c=='\n' && O_NLRET(tty))
tty872kernel/chr_drv/tty_io.cif (c=='\n' && O_NLCR(tty) &&
tty873kernel/chr_drv/tty_io.c!set_bit(TTY_CR_PENDING,&tty->flags)) {
tty874kernel/chr_drv/tty_io.cput_tty_queue(13,&tty->write_q);
tty877kernel/chr_drv/tty_io.cif (O_LCUC(tty))
tty881kernel/chr_drv/tty_io.cclear_bit(TTY_CR_PENDING,&tty->flags);
tty882kernel/chr_drv/tty_io.cput_tty_queue(c,&tty->write_q);
tty887kernel/chr_drv/tty_io.cremove_wait_queue(&tty->write_q.proc_list, &wait);
tty888kernel/chr_drv/tty_io.cTTY_WRITE_FLUSH(tty);
tty891kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count)
tty901kernel/chr_drv/tty_io.cstruct tty_struct * tty;
tty909kernel/chr_drv/tty_io.ctty = TTY_TABLE(dev);
tty910kernel/chr_drv/tty_io.cif (!tty || (tty->flags & (1 << TTY_IO_ERROR)))
tty913kernel/chr_drv/tty_io.c(tty->pgrp > 0) &&
tty914kernel/chr_drv/tty_io.c(current->tty == dev) &&
tty915kernel/chr_drv/tty_io.c(tty->pgrp != current->pgrp))
tty922kernel/chr_drv/tty_io.cif (ldiscs[tty->disc].read)
tty923kernel/chr_drv/tty_io.ci = (ldiscs[tty->disc].read)(tty,file,buf,count);
tty934kernel/chr_drv/tty_io.cstruct tty_struct * tty;
tty944kernel/chr_drv/tty_io.ctty = redirect;
tty946kernel/chr_drv/tty_io.ctty = TTY_TABLE(dev);
tty947kernel/chr_drv/tty_io.cif (!tty || !tty->write || (tty->flags & (1 << TTY_IO_ERROR)))
tty949kernel/chr_drv/tty_io.cif (!is_console && L_TOSTOP(tty) && (tty->pgrp > 0) &&
tty950kernel/chr_drv/tty_io.c(current->tty == dev) && (tty->pgrp != current->pgrp)) {
tty958kernel/chr_drv/tty_io.cif (ldiscs[tty->disc].write)
tty959kernel/chr_drv/tty_io.ci = (ldiscs[tty->disc].write)(tty,file,buf,count);
tty974kernel/chr_drv/tty_io.cstruct tty_struct *tty, *o_tty;
tty980kernel/chr_drv/tty_io.ctty = o_tty = NULL;
tty987kernel/chr_drv/tty_io.cif (!tty_table[dev] && !tty) {
tty988kernel/chr_drv/tty_io.ctty = (struct tty_struct *) get_free_page(GFP_KERNEL);
tty989kernel/chr_drv/tty_io.cif (!tty)
tty991kernel/chr_drv/tty_io.cinitialize_tty_struct(dev, tty);
tty1023kernel/chr_drv/tty_io.ctty->termios = tty_termios[dev];
tty1024kernel/chr_drv/tty_io.ctty_table[dev] = tty;
tty1025kernel/chr_drv/tty_io.ctty = NULL;
tty1045kernel/chr_drv/tty_io.cif (tty)
tty1046kernel/chr_drv/tty_io.cfree_page((unsigned long) tty);
tty1048kernel/chr_drv/tty_io.cfree_page((unsigned long) tty);
tty1063kernel/chr_drv/tty_io.cstruct tty_struct *tty, *o_tty;
tty1067kernel/chr_drv/tty_io.ctty = tty_table[dev];
tty1071kernel/chr_drv/tty_io.cif (!tty) {
tty1090kernel/chr_drv/tty_io.cif (tty->link != o_tty || o_tty->link != tty) {
tty1095kernel/chr_drv/tty_io.ctty->write_data_cnt = 0; /* Clear out pending trash */
tty1096kernel/chr_drv/tty_io.cif (tty->close)
tty1097kernel/chr_drv/tty_io.ctty->close(tty, filp);
tty1099kernel/chr_drv/tty_io.cif (--tty->link->count < 0) {
tty1101kernel/chr_drv/tty_io.cdev, tty->count);
tty1102kernel/chr_drv/tty_io.ctty->link->count = 0;
tty1105kernel/chr_drv/tty_io.cif (--tty->count < 0) {
tty1107kernel/chr_drv/tty_io.cdev, tty->count);
tty1108kernel/chr_drv/tty_io.ctty->count = 0;
tty1110kernel/chr_drv/tty_io.cif (tty->count)
tty1118kernel/chr_drv/tty_io.cif ((*p) && (*p)->tty == tty->line)
tty1119kernel/chr_drv/tty_io.c(*p)->tty = -1;
tty1122kernel/chr_drv/tty_io.cif (ldiscs[tty->disc].close != NULL)
tty1123kernel/chr_drv/tty_io.cldiscs[tty->disc].close(tty);
tty1138kernel/chr_drv/tty_io.cif (tty == redirect || o_tty == redirect)
tty1140kernel/chr_drv/tty_io.cfree_page((unsigned long) tty);
tty1161kernel/chr_drv/tty_io.cstruct tty_struct *tty;
tty1171kernel/chr_drv/tty_io.cminor = current->tty;
tty1191kernel/chr_drv/tty_io.ctty = tty_table[minor];
tty1200kernel/chr_drv/tty_io.ctty->status_changed = 0;
tty1201kernel/chr_drv/tty_io.ctty->ctrl_status = 0;
tty1202kernel/chr_drv/tty_io.ctty->packet = 0;
tty1204kernel/chr_drv/tty_io.cif (tty->open) {
tty1205kernel/chr_drv/tty_io.cretval = tty->open(tty, filp);
tty1215kernel/chr_drv/tty_io.ccurrent->tty<0 &&
tty1216kernel/chr_drv/tty_io.ctty->session==0) {
tty1217kernel/chr_drv/tty_io.ccurrent->tty = minor;
tty1218kernel/chr_drv/tty_io.ctty->session = current->session;
tty1219kernel/chr_drv/tty_io.ctty->pgrp = current->pgrp;
tty1250kernel/chr_drv/tty_io.cstruct tty_struct * tty;
tty1258kernel/chr_drv/tty_io.ctty = TTY_TABLE(dev);
tty1259kernel/chr_drv/tty_io.cif (!tty) {
tty1265kernel/chr_drv/tty_io.cif (L_CANON(tty)) {
tty1266kernel/chr_drv/tty_io.cif (available_canon_input(tty))
tty1268kernel/chr_drv/tty_io.c} else if (!EMPTY(&tty->secondary))
tty1270kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count)
tty1274kernel/chr_drv/tty_io.cif (tty->packet && tty->link &&
tty1275kernel/chr_drv/tty_io.ctty->link->status_changed)
tty1278kernel/chr_drv/tty_io.cselect_wait(&tty->secondary.proc_list, wait);
tty1281kernel/chr_drv/tty_io.cif (!FULL(&tty->write_q))
tty1283kernel/chr_drv/tty_io.cselect_wait(&tty->write_q.proc_list, wait);
tty1286kernel/chr_drv/tty_io.cif (tty->link && !tty->link->count)
tty1305kernel/chr_drv/tty_io.cvoid do_SAK( struct tty_struct *tty)
tty1308kernel/chr_drv/tty_io.cint line = tty->line;
tty1309kernel/chr_drv/tty_io.cint session = tty->session;
tty1313kernel/chr_drv/tty_io.cflush_input(tty);
tty1314kernel/chr_drv/tty_io.cflush_output(tty);
tty1318kernel/chr_drv/tty_io.cif (((*p)->tty == line) ||
tty1349kernel/chr_drv/tty_io.cint tty_write_data(struct tty_struct *tty, char *bufp, int buflen,
tty1359kernel/chr_drv/tty_io.cif (tty->write_data_cnt) {
tty1364kernel/chr_drv/tty_io.chead = tty->write_q.head;
tty1365kernel/chr_drv/tty_io.ctail = tty->write_q.tail;
tty1370kernel/chr_drv/tty_io.ctty->write_q.buf[head++] = *p++;
tty1373kernel/chr_drv/tty_io.ctty->write_q.head = head;
tty1375kernel/chr_drv/tty_io.ctty->write_data_cnt = count;
tty1376kernel/chr_drv/tty_io.ctty->write_data_ptr = p;
tty1377kernel/chr_drv/tty_io.ctty->write_data_callback = callback;
tty1378kernel/chr_drv/tty_io.ctty->write_data_arg = callarg;
tty1397kernel/chr_drv/tty_io.cstruct tty_struct * tty;
tty1406kernel/chr_drv/tty_io.ctty = tty_table[line];
tty1407kernel/chr_drv/tty_io.cif (!tty || !tty->write_data_cnt)
tty1410kernel/chr_drv/tty_io.chead = tty->write_q.head;
tty1411kernel/chr_drv/tty_io.ctail = tty->write_q.tail;
tty1412kernel/chr_drv/tty_io.ccount = tty->write_data_cnt;
tty1413kernel/chr_drv/tty_io.cp = tty->write_data_ptr;
tty1416kernel/chr_drv/tty_io.ctty->write_q.buf[head++] = *p++;
tty1419kernel/chr_drv/tty_io.ctty->write_q.head = head;
tty1420kernel/chr_drv/tty_io.ctty->write_data_ptr = p;
tty1421kernel/chr_drv/tty_io.ctty->write_data_cnt = count;
tty1424kernel/chr_drv/tty_io.c(tty->write_data_callback)
tty1425kernel/chr_drv/tty_io.c(tty->write_data_arg);
tty1436kernel/chr_drv/tty_io.cstatic void initialize_tty_struct(int line, struct tty_struct *tty)
tty1438kernel/chr_drv/tty_io.cmemset(tty, 0, sizeof(struct tty_struct));
tty1439kernel/chr_drv/tty_io.ctty->line = line;
tty1440kernel/chr_drv/tty_io.ctty->disc = N_TTY;
tty1441kernel/chr_drv/tty_io.ctty->pgrp = -1;
tty1442kernel/chr_drv/tty_io.ctty->winsize.ws_row = 0;
tty1443kernel/chr_drv/tty_io.ctty->winsize.ws_col = 0;
tty1445kernel/chr_drv/tty_io.ctty->open = con_open;
tty1446kernel/chr_drv/tty_io.ctty->winsize.ws_row = video_num_lines;
tty1447kernel/chr_drv/tty_io.ctty->winsize.ws_col = video_num_columns;
tty1449kernel/chr_drv/tty_io.ctty->open = rs_open;
tty1451kernel/chr_drv/tty_io.ctty->open = pty_open;
tty44kernel/chr_drv/tty_ioctl.cvoid flush_input(struct tty_struct * tty)
tty46kernel/chr_drv/tty_ioctl.ctty->status_changed = 1;
tty47kernel/chr_drv/tty_ioctl.ctty->ctrl_status |= TIOCPKT_FLUSHREAD;
tty48kernel/chr_drv/tty_ioctl.cflush(&tty->read_q);
tty49kernel/chr_drv/tty_ioctl.cwake_up_interruptible(&tty->read_q.proc_list);
tty50kernel/chr_drv/tty_ioctl.cflush(&tty->secondary);
tty51kernel/chr_drv/tty_ioctl.ctty->secondary.data = 0;
tty53kernel/chr_drv/tty_ioctl.cif ((tty = tty->link) != NULL) {
tty54kernel/chr_drv/tty_ioctl.cflush(&tty->write_q);
tty55kernel/chr_drv/tty_ioctl.cwake_up_interruptible(&tty->write_q.proc_list);
tty59kernel/chr_drv/tty_ioctl.cvoid flush_output(struct tty_struct * tty)
tty61kernel/chr_drv/tty_ioctl.ctty->status_changed = 1;
tty62kernel/chr_drv/tty_ioctl.ctty->ctrl_status |= TIOCPKT_FLUSHWRITE;
tty63kernel/chr_drv/tty_ioctl.cflush(&tty->write_q);
tty64kernel/chr_drv/tty_ioctl.cwake_up_interruptible(&tty->write_q.proc_list);
tty65kernel/chr_drv/tty_ioctl.cif ((tty = tty->link) != NULL) {
tty66kernel/chr_drv/tty_ioctl.cflush(&tty->read_q);
tty67kernel/chr_drv/tty_ioctl.cwake_up_interruptible(&tty->read_q.proc_list);
tty68kernel/chr_drv/tty_ioctl.cflush(&tty->secondary);
tty69kernel/chr_drv/tty_ioctl.ctty->secondary.data = 0;
tty73kernel/chr_drv/tty_ioctl.cvoid wait_until_sent(struct tty_struct * tty)
tty77kernel/chr_drv/tty_ioctl.cTTY_WRITE_FLUSH(tty);
tty78kernel/chr_drv/tty_ioctl.cif (EMPTY(&tty->write_q))
tty80kernel/chr_drv/tty_ioctl.cadd_wait_queue(&tty->write_q.proc_list, &wait);
tty86kernel/chr_drv/tty_ioctl.cTTY_WRITE_FLUSH(tty);
tty87kernel/chr_drv/tty_ioctl.cif (EMPTY(&tty->write_q))
tty92kernel/chr_drv/tty_ioctl.cremove_wait_queue(&tty->write_q.proc_list, &wait);
tty124kernel/chr_drv/tty_ioctl.cstatic int get_termios(struct tty_struct * tty, struct termios * termios)
tty132kernel/chr_drv/tty_ioctl.cput_fs_byte( ((char *)tty->termios)[i] , i+(char *)termios );
tty136kernel/chr_drv/tty_ioctl.cstatic int check_change(struct tty_struct * tty, int channel)
tty141kernel/chr_drv/tty_ioctl.cif (current->tty != channel)
tty143kernel/chr_drv/tty_ioctl.cif (tty->pgrp <= 0 || tty->pgrp == current->pgrp)
tty153kernel/chr_drv/tty_ioctl.cstatic int set_termios(struct tty_struct * tty, struct termios * termios,
tty157kernel/chr_drv/tty_ioctl.cstruct termios old_termios = *tty->termios;
tty159kernel/chr_drv/tty_ioctl.ci = check_change(tty, channel);
tty163kernel/chr_drv/tty_ioctl.c((char *)tty->termios)[i]=get_fs_byte(i+(char *)termios);
tty168kernel/chr_drv/tty_ioctl.cif (IS_A_PTY_MASTER(channel)) tty->termios->c_lflag &= ~ECHO;
tty170kernel/chr_drv/tty_ioctl.cif (tty->set_termios)
tty171kernel/chr_drv/tty_ioctl.c(*tty->set_termios)(tty, &old_termios);
tty176kernel/chr_drv/tty_ioctl.cstatic int get_termio(struct tty_struct * tty, struct termio * termio)
tty184kernel/chr_drv/tty_ioctl.ctmp_termio.c_iflag = tty->termios->c_iflag;
tty185kernel/chr_drv/tty_ioctl.ctmp_termio.c_oflag = tty->termios->c_oflag;
tty186kernel/chr_drv/tty_ioctl.ctmp_termio.c_cflag = tty->termios->c_cflag;
tty187kernel/chr_drv/tty_ioctl.ctmp_termio.c_lflag = tty->termios->c_lflag;
tty188kernel/chr_drv/tty_ioctl.ctmp_termio.c_line = tty->termios->c_line;
tty190kernel/chr_drv/tty_ioctl.ctmp_termio.c_cc[i] = tty->termios->c_cc[i];
tty199kernel/chr_drv/tty_ioctl.cstatic int set_termio(struct tty_struct * tty, struct termio * termio,
tty204kernel/chr_drv/tty_ioctl.cstruct termios old_termios = *tty->termios;
tty206kernel/chr_drv/tty_ioctl.ci = check_change(tty, channel);
tty214kernel/chr_drv/tty_ioctl.c~(tty->termios->c_iflag & IXON))
tty216kernel/chr_drv/tty_ioctl.ctty->status_changed = 1;
tty217kernel/chr_drv/tty_ioctl.ctty->ctrl_status |= TIOCPKT_DOSTOP;
tty221kernel/chr_drv/tty_ioctl.c(tty->termios->c_iflag & IXON))
tty223kernel/chr_drv/tty_ioctl.ctty->status_changed = 1;
tty224kernel/chr_drv/tty_ioctl.ctty->ctrl_status |= TIOCPKT_NOSTOP;
tty227kernel/chr_drv/tty_ioctl.c*(unsigned short *)&tty->termios->c_iflag = tmp_termio.c_iflag;
tty228kernel/chr_drv/tty_ioctl.c*(unsigned short *)&tty->termios->c_oflag = tmp_termio.c_oflag;
tty229kernel/chr_drv/tty_ioctl.c*(unsigned short *)&tty->termios->c_cflag = tmp_termio.c_cflag;
tty230kernel/chr_drv/tty_ioctl.c*(unsigned short *)&tty->termios->c_lflag = tmp_termio.c_lflag;
tty231kernel/chr_drv/tty_ioctl.ctty->termios->c_line = tmp_termio.c_line;
tty233kernel/chr_drv/tty_ioctl.ctty->termios->c_cc[i] = tmp_termio.c_cc[i];
tty235kernel/chr_drv/tty_ioctl.cif (tty->set_termios)
tty236kernel/chr_drv/tty_ioctl.c(*tty->set_termios)(tty, &old_termios);
tty241kernel/chr_drv/tty_ioctl.cstatic int set_window_size(struct tty_struct * tty, struct winsize * ws)
tty248kernel/chr_drv/tty_ioctl.ctmp = (char *) &tty->winsize;
tty258kernel/chr_drv/tty_ioctl.ckill_pg(tty->pgrp, SIGWINCH, 1);
tty262kernel/chr_drv/tty_ioctl.cstatic int get_window_size(struct tty_struct * tty, struct winsize * ws)
tty274kernel/chr_drv/tty_ioctl.cput_fs_byte(((char *) &tty->winsize)[i], tmp);
tty279kernel/chr_drv/tty_ioctl.cstatic int tty_set_ldisc(struct tty_struct *tty, int ldisc)
tty285kernel/chr_drv/tty_ioctl.cif (tty->disc == ldisc)
tty289kernel/chr_drv/tty_ioctl.cwait_until_sent(tty);
tty290kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty291kernel/chr_drv/tty_ioctl.cif (ldiscs[tty->disc].close)
tty292kernel/chr_drv/tty_ioctl.cldiscs[tty->disc].close(tty);
tty295kernel/chr_drv/tty_ioctl.ctty->disc = ldisc;
tty296kernel/chr_drv/tty_ioctl.cif (ldiscs[tty->disc].open)
tty297kernel/chr_drv/tty_ioctl.creturn(ldiscs[tty->disc].open(tty));
tty306kernel/chr_drv/tty_ioctl.cstruct tty_struct * tty;
tty319kernel/chr_drv/tty_ioctl.ctty = TTY_TABLE(dev);
tty320kernel/chr_drv/tty_ioctl.cif (!tty)
tty326kernel/chr_drv/tty_ioctl.ctermios_tty = tty;
tty336kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty339kernel/chr_drv/tty_ioctl.cwait_until_sent(tty);
tty346kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty349kernel/chr_drv/tty_ioctl.cwait_until_sent(tty); /* fallthrough */
tty355kernel/chr_drv/tty_ioctl.ctty->stopped = 1;
tty356kernel/chr_drv/tty_ioctl.cTTY_WRITE_FLUSH(tty);
tty359kernel/chr_drv/tty_ioctl.ctty->stopped = 0;
tty360kernel/chr_drv/tty_ioctl.cTTY_WRITE_FLUSH(tty);
tty363kernel/chr_drv/tty_ioctl.cif (STOP_CHAR(tty))
tty364kernel/chr_drv/tty_ioctl.cput_tty_queue(STOP_CHAR(tty),
tty365kernel/chr_drv/tty_ioctl.c&tty->write_q);
tty368kernel/chr_drv/tty_ioctl.cif (START_CHAR(tty))
tty369kernel/chr_drv/tty_ioctl.cput_tty_queue(START_CHAR(tty),
tty370kernel/chr_drv/tty_ioctl.c&tty->write_q);
tty376kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty378kernel/chr_drv/tty_ioctl.cflush_output(tty);
tty380kernel/chr_drv/tty_ioctl.cflush_input(tty);
tty381kernel/chr_drv/tty_ioctl.cflush_output(tty);
tty390kernel/chr_drv/tty_ioctl.cif ((current->leader && current->tty < 0 &&
tty391kernel/chr_drv/tty_ioctl.ctty->session == 0) ||
tty393kernel/chr_drv/tty_ioctl.ccurrent->tty = dev;
tty394kernel/chr_drv/tty_ioctl.ctty->session = current->session;
tty395kernel/chr_drv/tty_ioctl.ctty->pgrp = current->pgrp;
tty405kernel/chr_drv/tty_ioctl.cif ((current->tty < 0) ||
tty406kernel/chr_drv/tty_ioctl.c(current->tty != termios_dev) ||
tty419kernel/chr_drv/tty_ioctl.cput_fs_long(CHARS(&tty->write_q),
tty426kernel/chr_drv/tty_ioctl.cif (L_CANON(tty) && !tty->secondary.data)
tty429kernel/chr_drv/tty_ioctl.cput_fs_long(CHARS(&tty->secondary),
tty435kernel/chr_drv/tty_ioctl.creturn get_window_size(tty,(struct winsize *) arg);
tty439kernel/chr_drv/tty_ioctl.creturn set_window_size(tty,(struct winsize *) arg);
tty468kernel/chr_drv/tty_ioctl.credirect = tty;
tty480kernel/chr_drv/tty_ioctl.cif (MINOR(file->f_rdev) != current->tty)
tty482kernel/chr_drv/tty_ioctl.ccurrent->tty = -1;
tty484kernel/chr_drv/tty_ioctl.cif (tty->pgrp > 0)
tty485kernel/chr_drv/tty_ioctl.ckill_pg(tty->pgrp, SIGHUP, 0);
tty486kernel/chr_drv/tty_ioctl.ctty->pgrp = -1;
tty487kernel/chr_drv/tty_ioctl.ctty->session = 0;
tty493kernel/chr_drv/tty_ioctl.cput_fs_long(tty->disc, (unsigned long *) arg);
tty497kernel/chr_drv/tty_ioctl.creturn tty_set_ldisc(tty, arg);
tty508kernel/chr_drv/tty_ioctl.ctty->packet = 1;
tty510kernel/chr_drv/tty_ioctl.ctty->packet = 0;
tty515kernel/chr_drv/tty_ioctl.cif (tty->ioctl) {
tty516kernel/chr_drv/tty_ioctl.cretval = (tty->ioctl)(tty, file, cmd, arg);
tty520kernel/chr_drv/tty_ioctl.cif (ldiscs[tty->disc].ioctl) {
tty521kernel/chr_drv/tty_ioctl.cretval = (ldiscs[tty->disc].ioctl)
tty522kernel/chr_drv/tty_ioctl.c(tty, file, cmd, arg);
tty104kernel/chr_drv/vt.cint vt_ioctl(struct tty_struct *tty, struct file * file,
tty111kernel/chr_drv/vt.cconsole = tty->line - 1;
tty215kernel/chr_drv/vt.cflush_input(tty);
tty404kernel/exit.cstruct tty_struct *tty;
tty406kernel/exit.cif (current->tty >= 0) {
tty407kernel/exit.ctty = TTY_TABLE(current->tty);
tty408kernel/exit.cif (tty) {
tty409kernel/exit.cif (tty->pgrp > 0)
tty410kernel/exit.ckill_pg(tty->pgrp, SIGHUP, 1);
tty411kernel/exit.ctty->pgrp = -1;
tty412kernel/exit.ctty->session = 0;
tty417kernel/exit.c(*p)->tty = -1;
tty495kernel/sys.ccurrent->tty = -1;