taglinefilesource code
tty919drivers/char/console.cstatic void respond_string(const char * p, struct tty_struct * tty)
tty922drivers/char/console.ctty_insert_flip_char(tty, *p, 0);
tty925drivers/char/console.ctty_schedule_flip(tty);
tty928drivers/char/console.cstatic void cursor_report(int currcons, struct tty_struct * tty)
tty933drivers/char/console.crespond_string(buf, tty);
tty936drivers/char/console.cstatic inline void status_report(struct tty_struct * tty)
tty938drivers/char/console.crespond_string("\033[0n", tty);  /* Terminal ok */
tty941drivers/char/console.cstatic inline void respond_ID(struct tty_struct * tty)
tty943drivers/char/console.crespond_string(VT102ID, tty);
tty946drivers/char/console.cvoid mouse_report(struct tty_struct * tty, int butt, int mrx, int mry)
tty952drivers/char/console.crespond_string(buf, tty);
tty1330drivers/char/console.cstatic void con_stop(struct tty_struct *tty)
tty1333drivers/char/console.cif (!tty)
tty1335drivers/char/console.cconsole_num = MINOR(tty->device) - (tty->driver.minor_start);
tty1345drivers/char/console.cstatic void con_start(struct tty_struct *tty)
tty1348drivers/char/console.cif (!tty)
tty1350drivers/char/console.cconsole_num = MINOR(tty->device) - (tty->driver.minor_start);
tty1357drivers/char/console.cstatic int con_write(struct tty_struct * tty, int from_user,
tty1362drivers/char/console.cstruct vt_struct *vt = (struct vt_struct *)tty->driver_data;
tty1379drivers/char/console.cwhile (!tty->stopped &&  count) {
tty1547drivers/char/console.crespond_ID(tty);
tty1638drivers/char/console.cstatus_report(tty);
tty1640drivers/char/console.ccursor_report(currcons,tty);
tty1702drivers/char/console.crespond_ID(tty);
tty1816drivers/char/console.cstatic int con_write_room(struct tty_struct *tty)
tty1818drivers/char/console.cif (tty->stopped)
tty1823drivers/char/console.cstatic int con_chars_in_buffer(struct tty_struct *tty)
tty1892drivers/char/console.cstatic void con_throttle(struct tty_struct *tty)
tty1896drivers/char/console.cstatic void con_unthrottle(struct tty_struct *tty)
tty1898drivers/char/console.cstruct vt_struct *vt = (struct vt_struct *) tty->driver_data;
tty2194drivers/char/console.cint con_open(struct tty_struct *tty, struct file * filp)
tty2199drivers/char/console.cidx = MINOR(tty->device) - tty->driver.minor_start;
tty2206drivers/char/console.ctty->driver_data = vt_cons[idx];
tty2208drivers/char/console.cif (!tty->winsize.ws_row && !tty->winsize.ws_col) {
tty2209drivers/char/console.ctty->winsize.ws_row = video_num_lines;
tty2210drivers/char/console.ctty->winsize.ws_col = video_num_columns;
tty521drivers/char/cyclades.ccy_stop(struct tty_struct *tty)
tty524drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty533drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_stop"))
tty553drivers/char/cyclades.ccy_start(struct tty_struct *tty)
tty556drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty565drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_start"))
tty642drivers/char/cyclades.cstruct tty_struct *tty;
tty697drivers/char/cyclades.cif(info->tty == 0){
tty708drivers/char/cyclades.ctty = info->tty;
tty715drivers/char/cyclades.cif (tty->flip.count < TTY_FLIPBUF_SIZE){
tty716drivers/char/cyclades.ctty->flip.count++;
tty719drivers/char/cyclades.c*tty->flip.flag_buf_ptr++ =
tty721drivers/char/cyclades.c*tty->flip.char_buf_ptr++ =
tty724drivers/char/cyclades.cdo_SAK(tty);
tty727drivers/char/cyclades.c*tty->flip.flag_buf_ptr++ =
tty729drivers/char/cyclades.c*tty->flip.char_buf_ptr++ =
tty732drivers/char/cyclades.c*tty->flip.flag_buf_ptr++ =
tty734drivers/char/cyclades.c*tty->flip.char_buf_ptr++ =
tty737drivers/char/cyclades.c*tty->flip.flag_buf_ptr++ =
tty739drivers/char/cyclades.c*tty->flip.char_buf_ptr++ = 0;
tty744drivers/char/cyclades.cif(tty->flip.count < TTY_FLIPBUF_SIZE){
tty745drivers/char/cyclades.ctty->flip.count++;
tty746drivers/char/cyclades.c*tty->flip.flag_buf_ptr++ =
tty748drivers/char/cyclades.c*tty->flip.char_buf_ptr++ =
tty756drivers/char/cyclades.c*tty->flip.flag_buf_ptr++ = 0;
tty757drivers/char/cyclades.c*tty->flip.char_buf_ptr++ = 0;
tty760drivers/char/cyclades.c*tty->flip.flag_buf_ptr++ = 0;
tty761drivers/char/cyclades.c*tty->flip.char_buf_ptr++ = 0;
tty779drivers/char/cyclades.cif (tty->flip.count >= TTY_FLIPBUF_SIZE){
tty782drivers/char/cyclades.ctty->flip.count++;
tty784drivers/char/cyclades.c*tty->flip.flag_buf_ptr++ = TTY_NORMAL;
tty785drivers/char/cyclades.c*tty->flip.char_buf_ptr++ = data;
tty791drivers/char/cyclades.cqueue_task_irq_off(&tty->flip.tqueue, &tq_timer);
tty817drivers/char/cyclades.cif(info->tty == 0){
tty862drivers/char/cyclades.cif (info->tty->stopped || info->tty->hw_stopped){
tty920drivers/char/cyclades.cif(info->tty == 0){ /* nowhere to put the data, ignore it */
tty936drivers/char/cyclades.cif(info->tty->stopped){
tty939drivers/char/cyclades.cinfo->tty->stopped = 0;
tty946drivers/char/cyclades.cinfo->tty->stopped = 1;
tty1001drivers/char/cyclades.cstruct tty_struct    *tty;
tty1003drivers/char/cyclades.ctty = info->tty;
tty1004drivers/char/cyclades.cif (!tty)
tty1008drivers/char/cyclades.ctty_hangup(info->tty);
tty1017drivers/char/cyclades.cif((tty->flags & (1<< TTY_DO_WRITE_WAKEUP))
tty1018drivers/char/cyclades.c&& tty->ldisc.write_wakeup){
tty1019drivers/char/cyclades.c(tty->ldisc.write_wakeup)(tty);
tty1021drivers/char/cyclades.cwake_up_interruptible(&tty->write_wait);
tty1193drivers/char/cyclades.cif (info->tty){
tty1194drivers/char/cyclades.cset_bit(TTY_IO_ERROR, &info->tty->flags);
tty1242drivers/char/cyclades.cif (info->tty){
tty1243drivers/char/cyclades.cclear_bit(TTY_IO_ERROR, &info->tty->flags);
tty1320drivers/char/cyclades.cif (!info->tty || (info->tty->termios->c_cflag & HUPCL)) {
tty1332drivers/char/cyclades.cif (info->tty){
tty1333drivers/char/cyclades.cset_bit(TTY_IO_ERROR, &info->tty->flags);
tty1356drivers/char/cyclades.cif (!info->tty || !info->tty->termios){
tty1362drivers/char/cyclades.ccflag = info->tty->termios->c_cflag;
tty1385drivers/char/cyclades.cinfo->tty->termios->c_cflag &= ~CBAUDEX;
tty1488drivers/char/cyclades.cbase_addr[CySCHR1<<index] = START_CHAR(info->tty);
tty1489drivers/char/cyclades.cbase_addr[CySCHR2<<index] = STOP_CHAR(info->tty);
tty1504drivers/char/cyclades.cif (C_CLOCAL(info->tty)) {
tty1532drivers/char/cyclades.cif (info->tty){
tty1533drivers/char/cyclades.cclear_bit(TTY_IO_ERROR, &info->tty->flags);
tty1542drivers/char/cyclades.ccy_put_char(struct tty_struct *tty, unsigned char ch)
tty1544drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty1551drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_put_char"))
tty1554drivers/char/cyclades.cif (!tty || !info->xmit_buf)
tty1571drivers/char/cyclades.ccy_flush_chars(struct tty_struct *tty)
tty1573drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty1582drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_flush_chars"))
tty1585drivers/char/cyclades.cif (info->xmit_cnt <= 0 || tty->stopped
tty1586drivers/char/cyclades.c|| tty->hw_stopped || !info->xmit_buf)
tty1611drivers/char/cyclades.ccy_write(struct tty_struct * tty, int from_user,
tty1614drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty1622drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_write")){
tty1626drivers/char/cyclades.cif (!tty || !info->xmit_buf || !tmp_buf){
tty1658drivers/char/cyclades.c&& !tty->stopped
tty1659drivers/char/cyclades.c&& !tty->hw_stopped ) {
tty1667drivers/char/cyclades.ccy_write_room(struct tty_struct *tty)
tty1669drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty1676drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_write_room"))
tty1686drivers/char/cyclades.ccy_chars_in_buffer(struct tty_struct *tty)
tty1688drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty1694drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_chars_in_buffer"))
tty1702drivers/char/cyclades.ccy_flush_buffer(struct tty_struct *tty)
tty1704drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty1711drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_flush_buffer"))
tty1716drivers/char/cyclades.cwake_up_interruptible(&tty->write_wait);
tty1717drivers/char/cyclades.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP))
tty1718drivers/char/cyclades.c&& tty->ldisc.write_wakeup)
tty1719drivers/char/cyclades.c(tty->ldisc.write_wakeup)(tty);
tty1728drivers/char/cyclades.ccy_throttle(struct tty_struct * tty)
tty1730drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty1738drivers/char/cyclades.cprintk("throttle %s: %d....\n", _tty_name(tty, buf),
tty1739drivers/char/cyclades.ctty->ldisc.chars_in_buffer(tty));
tty1743drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_nthrottle")){
tty1747drivers/char/cyclades.cif (I_IXOFF(tty)) {
tty1748drivers/char/cyclades.cinfo->x_char = STOP_CHAR(tty);
tty1770drivers/char/cyclades.ccy_unthrottle(struct tty_struct * tty)
tty1772drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty1780drivers/char/cyclades.cprintk("throttle %s: %d....\n", _tty_name(tty, buf),
tty1781drivers/char/cyclades.ctty->ldisc.chars_in_buffer(tty));
tty1785drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_nthrottle")){
tty1789drivers/char/cyclades.cif (I_IXOFF(tty)) {
tty1790drivers/char/cyclades.cinfo->x_char = START_CHAR(tty);
tty2137drivers/char/cyclades.ccy_ioctl(struct tty_struct *tty, struct file * file,
tty2141drivers/char/cyclades.cstruct cyclades_port * info = (struct cyclades_port *)tty->driver_data;
tty2207drivers/char/cyclades.cret_val = tty_check_change(tty);
tty2210drivers/char/cyclades.ctty_wait_until_sent(tty,0);
tty2215drivers/char/cyclades.cret_val = tty_check_change(tty);
tty2218drivers/char/cyclades.ctty_wait_until_sent(tty,0);
tty2235drivers/char/cyclades.cput_fs_long(C_CLOCAL(tty) ? 1 : 0,
tty2240drivers/char/cyclades.ctty->termios->c_cflag =
tty2241drivers/char/cyclades.c((tty->termios->c_cflag & ~CLOCAL) |
tty2282drivers/char/cyclades.ccy_set_termios(struct tty_struct *tty, struct termios * old_termios)
tty2284drivers/char/cyclades.cstruct cyclades_port *info = (struct cyclades_port *)tty->driver_data;
tty2290drivers/char/cyclades.cif (tty->termios->c_cflag == old_termios->c_cflag)
tty2295drivers/char/cyclades.c!(tty->termios->c_cflag & CRTSCTS)) {
tty2296drivers/char/cyclades.ctty->stopped = 0;
tty2297drivers/char/cyclades.ccy_start(tty);
tty2301drivers/char/cyclades.c(tty->termios->c_cflag & CLOCAL))
tty2310drivers/char/cyclades.ccy_close(struct tty_struct * tty, struct file * filp)
tty2312drivers/char/cyclades.cstruct cyclades_port * info = (struct cyclades_port *)tty->driver_data;
tty2321drivers/char/cyclades.c|| serial_paranoia_check(info, tty->device, "cy_close")){
tty2336drivers/char/cyclades.cif ((tty->count == 1) && (info->count != 1)) {
tty2369drivers/char/cyclades.cinfo->normal_termios = *tty->termios;
tty2371drivers/char/cyclades.cinfo->callout_termios = *tty->termios;
tty2373drivers/char/cyclades.ctty_wait_until_sent(tty, 3000); /* 30 seconds timeout */
tty2375drivers/char/cyclades.cif (tty->driver.flush_buffer)
tty2376drivers/char/cyclades.ctty->driver.flush_buffer(tty);
tty2377drivers/char/cyclades.cif (tty->ldisc.flush_buffer)
tty2378drivers/char/cyclades.ctty->ldisc.flush_buffer(tty);
tty2380drivers/char/cyclades.cinfo->tty = 0;
tty2406drivers/char/cyclades.ccy_hangup(struct tty_struct *tty)
tty2408drivers/char/cyclades.cstruct cyclades_port * info = (struct cyclades_port *)tty->driver_data;
tty2414drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_hangup"))
tty2423drivers/char/cyclades.cinfo->tty = 0;
tty2437drivers/char/cyclades.cblock_til_ready(struct tty_struct *tty, struct file * filp,
tty2464drivers/char/cyclades.cif (tty->driver.subtype == SERIAL_TYPE_CALLOUT) {
tty2548drivers/char/cyclades.c&& (C_CLOCAL(tty)
tty2588drivers/char/cyclades.ccy_open(struct tty_struct *tty, struct file * filp)
tty2594drivers/char/cyclades.cline = MINOR(tty->device) - tty->driver.minor_start;
tty2605drivers/char/cyclades.cif (serial_paranoia_check(info, tty->device, "cy_open")){
tty2615drivers/char/cyclades.ctty->driver_data = info;
tty2616drivers/char/cyclades.cinfo->tty = tty;
tty2626drivers/char/cyclades.cif (tty->driver.subtype == SERIAL_TYPE_NORMAL)
tty2627drivers/char/cyclades.c*tty->termios = info->normal_termios;
tty2629drivers/char/cyclades.c*tty->termios = info->callout_termios;
tty2639drivers/char/cyclades.cretval = block_til_ready(tty, filp, info);
tty2871drivers/char/cyclades.cinfo->tty = 0;
tty3143drivers/char/cyclades.c(long)info->tty, info->read_status_mask,
tty259drivers/char/istallion.cstruct tty_struct  *tty;
tty582drivers/char/istallion.cstatic int  stli_open(struct tty_struct *tty, struct file *filp);
tty583drivers/char/istallion.cstatic void  stli_close(struct tty_struct *tty, struct file *filp);
tty584drivers/char/istallion.cstatic int  stli_write(struct tty_struct *tty, int from_user, const unsigned char *buf, int count);
tty585drivers/char/istallion.cstatic void  stli_putchar(struct tty_struct *tty, unsigned char ch);
tty586drivers/char/istallion.cstatic void  stli_flushchars(struct tty_struct *tty);
tty587drivers/char/istallion.cstatic int  stli_writeroom(struct tty_struct *tty);
tty588drivers/char/istallion.cstatic int  stli_charsinbuffer(struct tty_struct *tty);
tty589drivers/char/istallion.cstatic int  stli_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg);
tty590drivers/char/istallion.cstatic void  stli_settermios(struct tty_struct *tty, struct termios *old);
tty591drivers/char/istallion.cstatic void  stli_throttle(struct tty_struct *tty);
tty592drivers/char/istallion.cstatic void  stli_unthrottle(struct tty_struct *tty);
tty593drivers/char/istallion.cstatic void  stli_stop(struct tty_struct *tty);
tty594drivers/char/istallion.cstatic void  stli_start(struct tty_struct *tty);
tty595drivers/char/istallion.cstatic void  stli_flushbuffer(struct tty_struct *tty);
tty596drivers/char/istallion.cstatic void  stli_hangup(struct tty_struct *tty);
tty774drivers/char/istallion.cif (portp->tty != (struct tty_struct *) NULL)
tty775drivers/char/istallion.ctty_hangup(portp->tty);
tty814drivers/char/istallion.cstatic int stli_open(struct tty_struct *tty, struct file *filp)
tty822drivers/char/istallion.cprintk("stli_open(tty=%x,filp=%x): device=%x\n", (int) tty, (int) filp, tty->device);
tty825drivers/char/istallion.cminordev = MINOR(tty->device);
tty863drivers/char/istallion.cportp->tty = tty;
tty864drivers/char/istallion.ctty->driver_data = portp;
tty877drivers/char/istallion.cclear_bit(TTY_IO_ERROR, &tty->flags);
tty903drivers/char/istallion.cif (tty->driver.subtype == STL_DRVTYPCALLOUT) {
tty927drivers/char/istallion.cif (tty->driver.subtype == STL_DRVTYPSERIAL)
tty928drivers/char/istallion.c*tty->termios = portp->normaltermios;
tty930drivers/char/istallion.c*tty->termios = portp->callouttermios;
tty941drivers/char/istallion.cstatic void stli_close(struct tty_struct *tty, struct file *filp)
tty948drivers/char/istallion.cprintk("stli_close(tty=%x,filp=%x)\n", (int) tty, (int) filp);
tty951drivers/char/istallion.cportp = tty->driver_data;
tty969drivers/char/istallion.cportp->normaltermios = *tty->termios;
tty971drivers/char/istallion.cportp->callouttermios = *tty->termios;
tty979drivers/char/istallion.cif (tty == stli_txcooktty)
tty980drivers/char/istallion.cstli_flushchars(tty);
tty981drivers/char/istallion.ctty->closing = 1;
tty984drivers/char/istallion.ctty_wait_until_sent(tty, portp->closing_wait);
tty990drivers/char/istallion.cif (tty->termios->c_cflag & HUPCL) {
tty996drivers/char/istallion.cset_bit(TTY_IO_ERROR, &tty->flags);
tty997drivers/char/istallion.cif (tty->ldisc.flush_buffer)
tty998drivers/char/istallion.c(tty->ldisc.flush_buffer)(tty);
tty1000drivers/char/istallion.cstli_flushbuffer(tty);
tty1002drivers/char/istallion.ctty->closing = 0;
tty1003drivers/char/istallion.ctty->driver_data = (void *) NULL;
tty1004drivers/char/istallion.cportp->tty = (struct tty_struct *) NULL;
tty1029drivers/char/istallion.cstruct tty_struct  *tty;
tty1047drivers/char/istallion.ctty = portp->tty;
tty1048drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1050drivers/char/istallion.cstli_mkasyport(portp, &aport, tty->termios);
tty1283drivers/char/istallion.cif (portp->tty == (struct tty_struct *) NULL)
tty1289drivers/char/istallion.cstli_mkasyport(portp, &aport, portp->tty->termios);
tty1352drivers/char/istallion.c((portp->tty->termios->c_cflag & CLOCAL) ||
tty1379drivers/char/istallion.cstatic int stli_write(struct tty_struct *tty, int from_user, const unsigned char *buf, int count)
tty1391drivers/char/istallion.cprintk("stli_write(tty=%x,from_user=%d,buf=%x,count=%d)\n", (int) tty, from_user, (int) buf, count);
tty1394drivers/char/istallion.cif ((tty == (struct tty_struct *) NULL) || (stli_tmpwritebuf == (char *) NULL))
tty1396drivers/char/istallion.cif (tty == stli_txcooktty)
tty1397drivers/char/istallion.cstli_flushchars(tty);
tty1398drivers/char/istallion.cportp = tty->driver_data;
tty1502drivers/char/istallion.cstatic void stli_putchar(struct tty_struct *tty, unsigned char ch)
tty1505drivers/char/istallion.cprintk("stli_putchar(tty=%x,ch=%x)\n", (int) tty, (int) ch);
tty1508drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1510drivers/char/istallion.cif (tty != stli_txcooktty) {
tty1513drivers/char/istallion.cstli_txcooktty = tty;
tty1529drivers/char/istallion.cstatic void stli_flushchars(struct tty_struct *tty)
tty1542drivers/char/istallion.cprintk("stli_flushchars(tty=%x)\n", (int) tty);
tty1551drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1555drivers/char/istallion.cif (tty != cooktty)
tty1556drivers/char/istallion.ctty = cooktty;
tty1560drivers/char/istallion.cportp = tty->driver_data;
tty1622drivers/char/istallion.cstatic int stli_writeroom(struct tty_struct *tty)
tty1631drivers/char/istallion.cprintk("stli_writeroom(tty=%x)\n", (int) tty);
tty1634drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1636drivers/char/istallion.cif (tty == stli_txcooktty) {
tty1643drivers/char/istallion.cportp = tty->driver_data;
tty1663drivers/char/istallion.cif (tty == stli_txcooktty) {
tty1680drivers/char/istallion.cstatic int stli_charsinbuffer(struct tty_struct *tty)
tty1689drivers/char/istallion.cprintk("stli_charsinbuffer(tty=%x)\n", (int) tty);
tty1692drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1694drivers/char/istallion.cif (tty == stli_txcooktty)
tty1695drivers/char/istallion.cstli_flushchars(tty);
tty1696drivers/char/istallion.cportp = tty->driver_data;
tty1787drivers/char/istallion.cstatic int stli_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg)
tty1795drivers/char/istallion.cprintk("stli_ioctl(tty=%x,file=%x,cmd=%x,arg=%x)\n", (int) tty, (int) file, cmd, (int) arg);
tty1798drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1800drivers/char/istallion.cportp = tty->driver_data;
tty1811drivers/char/istallion.cif ((rc = tty_check_change(tty)) == 0) {
tty1812drivers/char/istallion.ctty_wait_until_sent(tty, 0);
tty1820drivers/char/istallion.cif ((rc = tty_check_change(tty)) == 0) {
tty1821drivers/char/istallion.ctty_wait_until_sent(tty, 0);
tty1828drivers/char/istallion.cput_fs_long(((tty->termios->c_cflag & CLOCAL) ? 1 : 0), (unsigned long *) arg);
tty1833drivers/char/istallion.ctty->termios->c_cflag = (tty->termios->c_cflag & ~CLOCAL) | (arg ? CLOCAL : 0);
tty1895drivers/char/istallion.cstatic void stli_settermios(struct tty_struct *tty, struct termios *old)
tty1903drivers/char/istallion.cprintk("stli_settermios(tty=%x,old=%x)\n", (int) tty, (int) old);
tty1906drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1908drivers/char/istallion.cportp = tty->driver_data;
tty1915drivers/char/istallion.ctiosp = tty->termios;
tty1924drivers/char/istallion.ctty->hw_stopped = 0;
tty1941drivers/char/istallion.cstatic void stli_throttle(struct tty_struct *tty)
tty1946drivers/char/istallion.cprintk("stli_throttle(tty=%x)\n", (int) tty);
tty1949drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1951drivers/char/istallion.cportp = tty->driver_data;
tty1966drivers/char/istallion.cstatic void stli_unthrottle(struct tty_struct *tty)
tty1971drivers/char/istallion.cprintk("stli_unthrottle(tty=%x)\n", (int) tty);
tty1974drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty1976drivers/char/istallion.cportp = tty->driver_data;
tty1990drivers/char/istallion.cstatic void stli_stop(struct tty_struct *tty)
tty1997drivers/char/istallion.cprintk("stli_stop(tty=%x)\n", (int) tty);
tty2000drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty2002drivers/char/istallion.cportp = tty->driver_data;
tty2022drivers/char/istallion.cstatic void stli_start(struct tty_struct *tty)
tty2029drivers/char/istallion.cprintk("stli_start(tty=%x)\n", (int) tty);
tty2032drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty2034drivers/char/istallion.cportp = tty->driver_data;
tty2070drivers/char/istallion.cif (portp->tty == (struct tty_struct *) NULL)
tty2072drivers/char/istallion.ctty_hangup(portp->tty);
tty2084drivers/char/istallion.cstatic void stli_hangup(struct tty_struct *tty)
tty2091drivers/char/istallion.cprintk("stli_hangup(tty=%x)\n", (int) tty);
tty2094drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty2096drivers/char/istallion.cportp = tty->driver_data;
tty2109drivers/char/istallion.cif (tty->termios->c_cflag & HUPCL) {
tty2123drivers/char/istallion.cset_bit(TTY_IO_ERROR, &tty->flags);
tty2124drivers/char/istallion.ctty->driver_data = (void *) NULL;
tty2125drivers/char/istallion.cportp->tty = (struct tty_struct *) NULL;
tty2140drivers/char/istallion.cstatic void stli_flushbuffer(struct tty_struct *tty)
tty2147drivers/char/istallion.cprintk("stli_flushbuffer(tty=%x)\n", (int) tty);
tty2150drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty2152drivers/char/istallion.cportp = tty->driver_data;
tty2161drivers/char/istallion.cif (tty == stli_txcooktty) {
tty2178drivers/char/istallion.cwake_up_interruptible(&tty->write_wait);
tty2179drivers/char/istallion.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup)
tty2180drivers/char/istallion.c(tty->ldisc.write_wakeup)(tty);
tty2247drivers/char/istallion.cstruct tty_struct  *tty;
tty2257drivers/char/istallion.ctty = portp->tty;
tty2258drivers/char/istallion.cif (tty == (struct tty_struct *) NULL)
tty2275drivers/char/istallion.clen = MIN(len, (TTY_FLIPBUF_SIZE - tty->flip.count));
tty2280drivers/char/istallion.cmemcpy(tty->flip.char_buf_ptr, (char *) (shbuf + tail), stlen);
tty2281drivers/char/istallion.cmemset(tty->flip.flag_buf_ptr, 0, stlen);
tty2282drivers/char/istallion.ctty->flip.char_buf_ptr += stlen;
tty2283drivers/char/istallion.ctty->flip.flag_buf_ptr += stlen;
tty2284drivers/char/istallion.ctty->flip.count += stlen;
tty2299drivers/char/istallion.ctty_schedule_flip(tty);
tty2356drivers/char/istallion.cstruct tty_struct  *tty;
tty2431drivers/char/istallion.ctty = portp->tty;
tty2442drivers/char/istallion.cif (tty != (struct tty_struct *) NULL)
tty2451drivers/char/istallion.cif (tty != (struct tty_struct *) NULL) {
tty2452drivers/char/istallion.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup)
tty2453drivers/char/istallion.c(tty->ldisc.write_wakeup)(tty);
tty2454drivers/char/istallion.cwake_up_interruptible(&tty->write_wait);
tty2459drivers/char/istallion.cif (tty != (struct tty_struct *) NULL) {
tty2460drivers/char/istallion.cif (tty->flip.count < TTY_FLIPBUF_SIZE) {
tty2461drivers/char/istallion.ctty->flip.count++;
tty2462drivers/char/istallion.c*tty->flip.flag_buf_ptr++ = TTY_BREAK;
tty2463drivers/char/istallion.c*tty->flip.char_buf_ptr++ = 0;
tty2466drivers/char/istallion.cdo_SAK(tty);
tty2468drivers/char/istallion.ctty_schedule_flip(tty);
tty125drivers/char/keyboard.cstatic struct tty_struct * tty = NULL;
tty389drivers/char/keyboard.ctty = ttytab[fg_console];
tty538drivers/char/keyboard.c(vc_kbd_mode(kbd,VC_REPEAT) && tty &&
tty539drivers/char/keyboard.c(L_ECHO(tty) || (tty->driver.chars_in_buffer(tty) == 0)))) {
tty590drivers/char/keyboard.cif (tty) {
tty591drivers/char/keyboard.ctty_insert_flip_char(tty, ch, 0);
tty592drivers/char/keyboard.ctty_schedule_flip(tty);
tty599drivers/char/keyboard.cif (!tty)
tty603drivers/char/keyboard.ctty_insert_flip_char(tty, *cp, 0);
tty606drivers/char/keyboard.ctty_schedule_flip(tty);
tty647drivers/char/keyboard.cif (rep || !tty)
tty655drivers/char/keyboard.cif (tty->stopped)
tty656drivers/char/keyboard.cstart_tty(tty);
tty658drivers/char/keyboard.cstop_tty(tty);
tty715drivers/char/keyboard.cif (!tty)
tty717drivers/char/keyboard.ctty_insert_flip_char(tty, 0, TTY_BREAK);
tty718drivers/char/keyboard.ctty_schedule_flip(tty);
tty752drivers/char/keyboard.cdo_SAK(tty);
tty58drivers/char/n_tty.cstatic inline void put_tty_queue(unsigned char c, struct tty_struct *tty)
tty60drivers/char/n_tty.cif (tty->read_cnt < N_TTY_BUF_SIZE) {
tty61drivers/char/n_tty.ctty->read_buf[tty->read_head] = c;
tty62drivers/char/n_tty.ctty->read_head = (tty->read_head + 1) & (N_TTY_BUF_SIZE-1);
tty63drivers/char/n_tty.ctty->read_cnt++;
tty70drivers/char/n_tty.cvoid n_tty_flush_buffer(struct tty_struct * tty)
tty72drivers/char/n_tty.ctty->read_head = tty->read_tail = tty->read_cnt = 0;
tty73drivers/char/n_tty.ctty->canon_head = tty->canon_data = tty->erasing = 0;
tty74drivers/char/n_tty.cmemset(&tty->read_flags, 0, sizeof tty->read_flags);
tty76drivers/char/n_tty.cif (!tty->link)
tty79drivers/char/n_tty.cif (tty->driver.unthrottle)
tty80drivers/char/n_tty.c(tty->driver.unthrottle)(tty);
tty81drivers/char/n_tty.cif (tty->link->packet) {
tty82drivers/char/n_tty.ctty->ctrl_status |= TIOCPKT_FLUSHREAD;
tty83drivers/char/n_tty.cwake_up_interruptible(&tty->link->read_wait);
tty90drivers/char/n_tty.cint n_tty_chars_in_buffer(struct tty_struct *tty)
tty92drivers/char/n_tty.creturn tty->read_cnt;
tty99drivers/char/n_tty.cstatic int opost(unsigned char c, struct tty_struct *tty)
tty103drivers/char/n_tty.cspace = tty->driver.write_room(tty);
tty107drivers/char/n_tty.cif (O_OPOST(tty)) {
tty110drivers/char/n_tty.cif (O_ONLRET(tty))
tty111drivers/char/n_tty.ctty->column = 0;
tty112drivers/char/n_tty.cif (O_ONLCR(tty)) {
tty115drivers/char/n_tty.ctty->driver.put_char(tty, '\r');
tty116drivers/char/n_tty.ctty->column = 0;
tty118drivers/char/n_tty.ctty->canon_column = tty->column;
tty121drivers/char/n_tty.cif (O_ONOCR(tty) && tty->column == 0)
tty123drivers/char/n_tty.cif (O_OCRNL(tty)) {
tty125drivers/char/n_tty.cif (O_ONLRET(tty))
tty126drivers/char/n_tty.ctty->canon_column = tty->column = 0;
tty129drivers/char/n_tty.ctty->canon_column = tty->column = 0;
tty132drivers/char/n_tty.cspaces = 8 - (tty->column & 7);
tty133drivers/char/n_tty.cif (O_TABDLY(tty) == XTABS) {
tty136drivers/char/n_tty.ctty->column += spaces;
tty137drivers/char/n_tty.ctty->driver.write(tty, 0, "        ", spaces);
tty140drivers/char/n_tty.ctty->column += spaces;
tty143drivers/char/n_tty.cif (tty->column > 0)
tty144drivers/char/n_tty.ctty->column--;
tty147drivers/char/n_tty.cif (O_OLCUC(tty))
tty150drivers/char/n_tty.ctty->column++;
tty154drivers/char/n_tty.ctty->driver.put_char(tty, c);
tty158drivers/char/n_tty.cstatic inline void put_char(unsigned char c, struct tty_struct *tty)
tty160drivers/char/n_tty.ctty->driver.put_char(tty, c);
tty165drivers/char/n_tty.cstatic void echo_char(unsigned char c, struct tty_struct *tty)
tty167drivers/char/n_tty.cif (L_ECHOCTL(tty) && iscntrl(c) && c != '\t') {
tty168drivers/char/n_tty.cput_char('^', tty);
tty169drivers/char/n_tty.cput_char(c ^ 0100, tty);
tty170drivers/char/n_tty.ctty->column += 2;
tty172drivers/char/n_tty.copost(c, tty);
tty175drivers/char/n_tty.cstatic inline void finish_erasing(struct tty_struct *tty)
tty177drivers/char/n_tty.cif (tty->erasing) {
tty178drivers/char/n_tty.cput_char('/', tty);
tty179drivers/char/n_tty.ctty->column += 2;
tty180drivers/char/n_tty.ctty->erasing = 0;
tty184drivers/char/n_tty.cstatic void eraser(unsigned char c, struct tty_struct *tty)
tty189drivers/char/n_tty.cif (tty->read_head == tty->canon_head) {
tty193drivers/char/n_tty.cif (c == ERASE_CHAR(tty))
tty195drivers/char/n_tty.celse if (c == WERASE_CHAR(tty))
tty198drivers/char/n_tty.cif (!L_ECHO(tty)) {
tty199drivers/char/n_tty.ctty->read_cnt -= ((tty->read_head - tty->canon_head) &
tty201drivers/char/n_tty.ctty->read_head = tty->canon_head;
tty204drivers/char/n_tty.cif (!L_ECHOK(tty) || !L_ECHOKE(tty)) {
tty205drivers/char/n_tty.ctty->read_cnt -= ((tty->read_head - tty->canon_head) &
tty207drivers/char/n_tty.ctty->read_head = tty->canon_head;
tty208drivers/char/n_tty.cfinish_erasing(tty);
tty209drivers/char/n_tty.cecho_char(KILL_CHAR(tty), tty);
tty211drivers/char/n_tty.cif (L_ECHOK(tty))
tty212drivers/char/n_tty.copost('\n', tty);
tty219drivers/char/n_tty.cwhile (tty->read_head != tty->canon_head) {
tty220drivers/char/n_tty.chead = (tty->read_head - 1) & (N_TTY_BUF_SIZE-1);
tty221drivers/char/n_tty.cc = tty->read_buf[head];
tty229drivers/char/n_tty.ctty->read_head = head;
tty230drivers/char/n_tty.ctty->read_cnt--;
tty231drivers/char/n_tty.cif (L_ECHO(tty)) {
tty232drivers/char/n_tty.cif (L_ECHOPRT(tty)) {
tty233drivers/char/n_tty.cif (!tty->erasing) {
tty234drivers/char/n_tty.cput_char('\\', tty);
tty235drivers/char/n_tty.ctty->column++;
tty236drivers/char/n_tty.ctty->erasing = 1;
tty238drivers/char/n_tty.cecho_char(c, tty);
tty239drivers/char/n_tty.c} else if (!L_ECHOE(tty)) {
tty240drivers/char/n_tty.cecho_char(ERASE_CHAR(tty), tty);
tty242drivers/char/n_tty.cunsigned int col = tty->canon_column;
tty243drivers/char/n_tty.cunsigned long tail = tty->canon_head;
tty246drivers/char/n_tty.cwhile (tail != tty->read_head) {
tty247drivers/char/n_tty.cc = tty->read_buf[tail];
tty251drivers/char/n_tty.cif (L_ECHOCTL(tty))
tty259drivers/char/n_tty.cif (tty->column > 0x80000000)
tty260drivers/char/n_tty.ctty->column = 0; 
tty263drivers/char/n_tty.cwhile (tty->column > col) {
tty265drivers/char/n_tty.cput_char('\b', tty);
tty266drivers/char/n_tty.cif (tty->column > 0)
tty267drivers/char/n_tty.ctty->column--;
tty270drivers/char/n_tty.cif (iscntrl(c) && L_ECHOCTL(tty)) {
tty271drivers/char/n_tty.cput_char('\b', tty);
tty272drivers/char/n_tty.cput_char(' ', tty);
tty273drivers/char/n_tty.cput_char('\b', tty);
tty274drivers/char/n_tty.cif (tty->column > 0)
tty275drivers/char/n_tty.ctty->column--;
tty277drivers/char/n_tty.cif (!iscntrl(c) || L_ECHOCTL(tty)) {
tty278drivers/char/n_tty.cput_char('\b', tty);
tty279drivers/char/n_tty.cput_char(' ', tty);
tty280drivers/char/n_tty.cput_char('\b', tty);
tty281drivers/char/n_tty.cif (tty->column > 0)
tty282drivers/char/n_tty.ctty->column--;
tty289drivers/char/n_tty.cif (tty->read_head == tty->canon_head)
tty290drivers/char/n_tty.cfinish_erasing(tty);
tty293drivers/char/n_tty.cstatic void isig(int sig, struct tty_struct *tty)
tty295drivers/char/n_tty.cif (tty->pgrp > 0)
tty296drivers/char/n_tty.ckill_pg(tty->pgrp, sig, 1);
tty297drivers/char/n_tty.cif (!L_NOFLSH(tty)) {
tty298drivers/char/n_tty.cn_tty_flush_buffer(tty);
tty299drivers/char/n_tty.cif (tty->driver.flush_buffer)
tty300drivers/char/n_tty.ctty->driver.flush_buffer(tty);
tty304drivers/char/n_tty.cstatic inline void n_tty_receive_break(struct tty_struct *tty)
tty306drivers/char/n_tty.cif (I_IGNBRK(tty))
tty308drivers/char/n_tty.cif (I_BRKINT(tty)) {
tty309drivers/char/n_tty.cisig(SIGINT, tty);
tty312drivers/char/n_tty.cif (I_PARMRK(tty)) {
tty313drivers/char/n_tty.cput_tty_queue('\377', tty);
tty314drivers/char/n_tty.cput_tty_queue('\0', tty);
tty316drivers/char/n_tty.cput_tty_queue('\0', tty);
tty317drivers/char/n_tty.cwake_up_interruptible(&tty->read_wait);
tty320drivers/char/n_tty.cstatic inline void n_tty_receive_overrun(struct tty_struct *tty)
tty324drivers/char/n_tty.ctty->num_overrun++;
tty325drivers/char/n_tty.cif (tty->overrun_time < (jiffies - HZ)) {
tty326drivers/char/n_tty.cprintk("%s: %d input overrun(s)\n", _tty_name(tty, buf),
tty327drivers/char/n_tty.ctty->num_overrun);
tty328drivers/char/n_tty.ctty->overrun_time = jiffies;
tty329drivers/char/n_tty.ctty->num_overrun = 0;
tty333drivers/char/n_tty.cstatic inline void n_tty_receive_parity_error(struct tty_struct *tty,
tty336drivers/char/n_tty.cif (I_IGNPAR(tty)) {
tty339drivers/char/n_tty.cif (I_PARMRK(tty)) {
tty340drivers/char/n_tty.cput_tty_queue('\377', tty);
tty341drivers/char/n_tty.cput_tty_queue('\0', tty);
tty342drivers/char/n_tty.cput_tty_queue(c, tty);
tty344drivers/char/n_tty.cput_tty_queue('\0', tty);
tty345drivers/char/n_tty.cwake_up_interruptible(&tty->read_wait);
tty348drivers/char/n_tty.cstatic inline void n_tty_receive_char(struct tty_struct *tty, unsigned char c)
tty350drivers/char/n_tty.cif (tty->raw) {
tty351drivers/char/n_tty.cput_tty_queue(c, tty);
tty355drivers/char/n_tty.cif (tty->stopped && I_IXON(tty) && I_IXANY(tty)) {
tty356drivers/char/n_tty.cstart_tty(tty);
tty360drivers/char/n_tty.cif (I_ISTRIP(tty))
tty362drivers/char/n_tty.cif (I_IUCLC(tty) && L_IEXTEN(tty))
tty365drivers/char/n_tty.cif (tty->closing) {
tty366drivers/char/n_tty.cif (I_IXON(tty)) {
tty367drivers/char/n_tty.cif (c == START_CHAR(tty))
tty368drivers/char/n_tty.cstart_tty(tty);
tty369drivers/char/n_tty.celse if (c == STOP_CHAR(tty))
tty370drivers/char/n_tty.cstop_tty(tty);
tty381drivers/char/n_tty.cif (!test_bit(c, &tty->process_char_map) || tty->lnext) {
tty382drivers/char/n_tty.cfinish_erasing(tty);
tty383drivers/char/n_tty.ctty->lnext = 0;
tty384drivers/char/n_tty.cif (L_ECHO(tty)) {
tty385drivers/char/n_tty.cif (tty->read_cnt >= N_TTY_BUF_SIZE-1) {
tty386drivers/char/n_tty.cput_char('\a', tty); /* beep if no space */
tty390drivers/char/n_tty.cif (tty->canon_head == tty->read_head)
tty391drivers/char/n_tty.ctty->canon_column = tty->column;
tty392drivers/char/n_tty.cecho_char(c, tty);
tty394drivers/char/n_tty.cif (I_PARMRK(tty) && c == (unsigned char) '\377')
tty395drivers/char/n_tty.cput_tty_queue(c, tty);
tty396drivers/char/n_tty.cput_tty_queue(c, tty);
tty401drivers/char/n_tty.cif (I_IGNCR(tty))
tty403drivers/char/n_tty.cif (I_ICRNL(tty))
tty405drivers/char/n_tty.c} else if (c == '\n' && I_INLCR(tty))
tty407drivers/char/n_tty.cif (I_IXON(tty)) {
tty408drivers/char/n_tty.cif (c == START_CHAR(tty)) {
tty409drivers/char/n_tty.cstart_tty(tty);
tty412drivers/char/n_tty.cif (c == STOP_CHAR(tty)) {
tty413drivers/char/n_tty.cstop_tty(tty);
tty417drivers/char/n_tty.cif (L_ISIG(tty)) {
tty418drivers/char/n_tty.cif (c == INTR_CHAR(tty)) {
tty419drivers/char/n_tty.cisig(SIGINT, tty);
tty422drivers/char/n_tty.cif (c == QUIT_CHAR(tty)) {
tty423drivers/char/n_tty.cisig(SIGQUIT, tty);
tty426drivers/char/n_tty.cif (c == SUSP_CHAR(tty)) {
tty427drivers/char/n_tty.cif (!is_orphaned_pgrp(tty->pgrp))
tty428drivers/char/n_tty.cisig(SIGTSTP, tty);
tty432drivers/char/n_tty.cif (L_ICANON(tty)) {
tty433drivers/char/n_tty.cif (c == ERASE_CHAR(tty) || c == KILL_CHAR(tty) ||
tty434drivers/char/n_tty.c(c == WERASE_CHAR(tty) && L_IEXTEN(tty))) {
tty435drivers/char/n_tty.ceraser(c, tty);
tty438drivers/char/n_tty.cif (c == LNEXT_CHAR(tty) && L_IEXTEN(tty)) {
tty439drivers/char/n_tty.ctty->lnext = 1;
tty440drivers/char/n_tty.cif (L_ECHO(tty)) {
tty441drivers/char/n_tty.cfinish_erasing(tty);
tty442drivers/char/n_tty.cif (L_ECHOCTL(tty)) {
tty443drivers/char/n_tty.cput_char('^', tty);
tty444drivers/char/n_tty.cput_char('\b', tty);
tty449drivers/char/n_tty.cif (c == REPRINT_CHAR(tty) && L_ECHO(tty) &&
tty450drivers/char/n_tty.cL_IEXTEN(tty)) {
tty451drivers/char/n_tty.cunsigned long tail = tty->canon_head;
tty453drivers/char/n_tty.cfinish_erasing(tty);
tty454drivers/char/n_tty.cecho_char(c, tty);
tty455drivers/char/n_tty.copost('\n', tty);
tty456drivers/char/n_tty.cwhile (tail != tty->read_head) {
tty457drivers/char/n_tty.cecho_char(tty->read_buf[tail], tty);
tty463drivers/char/n_tty.cif (L_ECHO(tty) || L_ECHONL(tty)) {
tty464drivers/char/n_tty.cif (tty->read_cnt >= N_TTY_BUF_SIZE-1) {
tty465drivers/char/n_tty.cput_char('\a', tty);
tty468drivers/char/n_tty.copost('\n', tty);
tty472drivers/char/n_tty.cif (c == EOF_CHAR(tty)) {
tty473drivers/char/n_tty.cif (tty->canon_head != tty->read_head)
tty474drivers/char/n_tty.cset_bit(TTY_PUSH, &tty->flags);
tty478drivers/char/n_tty.cif ((c == EOL_CHAR(tty)) ||
tty479drivers/char/n_tty.c(c == EOL2_CHAR(tty) && L_IEXTEN(tty))) {
tty483drivers/char/n_tty.cif (L_ECHO(tty)) {
tty484drivers/char/n_tty.cif (tty->read_cnt >= N_TTY_BUF_SIZE-1) {
tty485drivers/char/n_tty.cput_char('\a', tty);
tty489drivers/char/n_tty.cif (tty->canon_head == tty->read_head)
tty490drivers/char/n_tty.ctty->canon_column = tty->column;
tty491drivers/char/n_tty.cecho_char(c, tty);
tty497drivers/char/n_tty.cif (I_PARMRK(tty) && c == (unsigned char) '\377')
tty498drivers/char/n_tty.cput_tty_queue(c, tty);
tty501drivers/char/n_tty.cset_bit(tty->read_head, &tty->read_flags);
tty502drivers/char/n_tty.cput_tty_queue(c, tty);
tty503drivers/char/n_tty.ctty->canon_head = tty->read_head;
tty504drivers/char/n_tty.ctty->canon_data++;
tty505drivers/char/n_tty.cif (tty->fasync)
tty506drivers/char/n_tty.ckill_fasync(tty->fasync, SIGIO);
tty507drivers/char/n_tty.cif (tty->read_wait)
tty508drivers/char/n_tty.cwake_up_interruptible(&tty->read_wait);
tty513drivers/char/n_tty.cfinish_erasing(tty);
tty514drivers/char/n_tty.cif (L_ECHO(tty)) {
tty515drivers/char/n_tty.cif (tty->read_cnt >= N_TTY_BUF_SIZE-1) {
tty516drivers/char/n_tty.cput_char('\a', tty); /* beep if no space */
tty520drivers/char/n_tty.copost('\n', tty);
tty523drivers/char/n_tty.cif (tty->canon_head == tty->read_head)
tty524drivers/char/n_tty.ctty->canon_column = tty->column;
tty525drivers/char/n_tty.cecho_char(c, tty);
tty529drivers/char/n_tty.cif (I_PARMRK(tty) && c == (unsigned char) '\377')
tty530drivers/char/n_tty.cput_tty_queue(c, tty);
tty532drivers/char/n_tty.cput_tty_queue(c, tty);
tty535drivers/char/n_tty.cstatic void n_tty_receive_buf(struct tty_struct *tty, const unsigned char *cp,
tty542drivers/char/n_tty.cif (!tty->read_buf)
tty545drivers/char/n_tty.cif (tty->real_raw) {
tty546drivers/char/n_tty.ci = MIN(count, MIN(N_TTY_BUF_SIZE - tty->read_cnt,
tty547drivers/char/n_tty.cN_TTY_BUF_SIZE - tty->read_head));
tty548drivers/char/n_tty.cmemcpy(tty->read_buf + tty->read_head, cp, i);
tty549drivers/char/n_tty.ctty->read_head = (tty->read_head + i) & (N_TTY_BUF_SIZE-1);
tty550drivers/char/n_tty.ctty->read_cnt += i;
tty554drivers/char/n_tty.ci = MIN(count, MIN(N_TTY_BUF_SIZE - tty->read_cnt,
tty555drivers/char/n_tty.cN_TTY_BUF_SIZE - tty->read_head));
tty556drivers/char/n_tty.cmemcpy(tty->read_buf + tty->read_head, cp, i);
tty557drivers/char/n_tty.ctty->read_head = (tty->read_head + i) & (N_TTY_BUF_SIZE-1);
tty558drivers/char/n_tty.ctty->read_cnt += i;
tty565drivers/char/n_tty.cn_tty_receive_char(tty, *p);
tty568drivers/char/n_tty.cn_tty_receive_break(tty);
tty572drivers/char/n_tty.cn_tty_receive_parity_error(tty, *p);
tty575drivers/char/n_tty.cn_tty_receive_overrun(tty);
tty578drivers/char/n_tty.cprintk("%s: unknown flag %d\n", tty_name(tty),
tty583drivers/char/n_tty.cif (tty->driver.flush_chars)
tty584drivers/char/n_tty.ctty->driver.flush_chars(tty);
tty587drivers/char/n_tty.cif (!tty->icanon && (tty->read_cnt >= tty->minimum_to_wake)) {
tty588drivers/char/n_tty.cif (tty->fasync)
tty589drivers/char/n_tty.ckill_fasync(tty->fasync, SIGIO);
tty590drivers/char/n_tty.cif (tty->read_wait)
tty591drivers/char/n_tty.cwake_up_interruptible(&tty->read_wait);
tty594drivers/char/n_tty.cif ((tty->read_cnt >= TTY_THRESHOLD_THROTTLE) &&
tty595drivers/char/n_tty.ctty->driver.throttle &&
tty596drivers/char/n_tty.c!set_bit(TTY_THROTTLED, &tty->flags))
tty597drivers/char/n_tty.ctty->driver.throttle(tty);
tty600drivers/char/n_tty.cstatic int n_tty_receive_room(struct tty_struct *tty)
tty602drivers/char/n_tty.cint  left = N_TTY_BUF_SIZE - tty->read_cnt - 1;
tty610drivers/char/n_tty.cif (tty->icanon && !tty->canon_data)
tty624drivers/char/n_tty.cstatic void n_tty_set_termios(struct tty_struct *tty, struct termios * old)
tty626drivers/char/n_tty.cif (!tty)
tty629drivers/char/n_tty.ctty->icanon = (L_ICANON(tty) != 0);
tty630drivers/char/n_tty.cif (I_ISTRIP(tty) || I_IUCLC(tty) || I_IGNCR(tty) ||
tty631drivers/char/n_tty.cI_ICRNL(tty) || I_INLCR(tty) || L_ICANON(tty) ||
tty632drivers/char/n_tty.cI_IXON(tty) || L_ISIG(tty) || L_ECHO(tty) ||
tty633drivers/char/n_tty.cI_PARMRK(tty)) {
tty635drivers/char/n_tty.cmemset(tty->process_char_map, 0, 256/8);
tty637drivers/char/n_tty.cif (I_IGNCR(tty) || I_ICRNL(tty))
tty638drivers/char/n_tty.cset_bit('\r', &tty->process_char_map);
tty639drivers/char/n_tty.cif (I_INLCR(tty))
tty640drivers/char/n_tty.cset_bit('\n', &tty->process_char_map);
tty642drivers/char/n_tty.cif (L_ICANON(tty)) {
tty643drivers/char/n_tty.cset_bit(ERASE_CHAR(tty), &tty->process_char_map);
tty644drivers/char/n_tty.cset_bit(KILL_CHAR(tty), &tty->process_char_map);
tty645drivers/char/n_tty.cset_bit(EOF_CHAR(tty), &tty->process_char_map);
tty646drivers/char/n_tty.cset_bit('\n', &tty->process_char_map);
tty647drivers/char/n_tty.cset_bit(EOL_CHAR(tty), &tty->process_char_map);
tty648drivers/char/n_tty.cif (L_IEXTEN(tty)) {
tty649drivers/char/n_tty.cset_bit(WERASE_CHAR(tty),
tty650drivers/char/n_tty.c&tty->process_char_map);
tty651drivers/char/n_tty.cset_bit(LNEXT_CHAR(tty),
tty652drivers/char/n_tty.c&tty->process_char_map);
tty653drivers/char/n_tty.cset_bit(EOL2_CHAR(tty),
tty654drivers/char/n_tty.c&tty->process_char_map);
tty655drivers/char/n_tty.cif (L_ECHO(tty))
tty656drivers/char/n_tty.cset_bit(REPRINT_CHAR(tty),
tty657drivers/char/n_tty.c&tty->process_char_map);
tty660drivers/char/n_tty.cif (I_IXON(tty)) {
tty661drivers/char/n_tty.cset_bit(START_CHAR(tty), &tty->process_char_map);
tty662drivers/char/n_tty.cset_bit(STOP_CHAR(tty), &tty->process_char_map);
tty664drivers/char/n_tty.cif (L_ISIG(tty)) {
tty665drivers/char/n_tty.cset_bit(INTR_CHAR(tty), &tty->process_char_map);
tty666drivers/char/n_tty.cset_bit(QUIT_CHAR(tty), &tty->process_char_map);
tty667drivers/char/n_tty.cset_bit(SUSP_CHAR(tty), &tty->process_char_map);
tty669drivers/char/n_tty.cclear_bit(__DISABLED_CHAR, &tty->process_char_map);
tty671drivers/char/n_tty.ctty->raw = 0;
tty672drivers/char/n_tty.ctty->real_raw = 0;
tty674drivers/char/n_tty.ctty->raw = 1;
tty675drivers/char/n_tty.cif ((I_IGNBRK(tty) || (!I_BRKINT(tty) && !I_PARMRK(tty))) &&
tty676drivers/char/n_tty.c(I_IGNPAR(tty) || !I_INPCK(tty)) &&
tty677drivers/char/n_tty.c(tty->driver.flags & TTY_DRIVER_REAL_RAW))
tty678drivers/char/n_tty.ctty->real_raw = 1;
tty680drivers/char/n_tty.ctty->real_raw = 0;
tty684drivers/char/n_tty.cstatic void n_tty_close(struct tty_struct *tty)
tty686drivers/char/n_tty.cn_tty_flush_buffer(tty);
tty687drivers/char/n_tty.cif (tty->read_buf) {
tty688drivers/char/n_tty.cfree_page((unsigned long) tty->read_buf);
tty689drivers/char/n_tty.ctty->read_buf = 0;
tty693drivers/char/n_tty.cstatic int n_tty_open(struct tty_struct *tty)
tty695drivers/char/n_tty.cif (!tty)
tty698drivers/char/n_tty.cif (!tty->read_buf) {
tty699drivers/char/n_tty.ctty->read_buf = (unsigned char *)
tty701drivers/char/n_tty.cif (!tty->read_buf)
tty704drivers/char/n_tty.cmemset(tty->read_buf, 0, N_TTY_BUF_SIZE);
tty705drivers/char/n_tty.ctty->read_head = tty->read_tail = tty->read_cnt = 0;
tty706drivers/char/n_tty.ctty->canon_head = tty->canon_data = tty->erasing = 0;
tty707drivers/char/n_tty.ctty->column = 0;
tty708drivers/char/n_tty.cmemset(tty->read_flags, 0, sizeof(tty->read_flags));
tty709drivers/char/n_tty.cn_tty_set_termios(tty, 0);
tty710drivers/char/n_tty.ctty->minimum_to_wake = 1;
tty711drivers/char/n_tty.ctty->closing = 0;
tty715drivers/char/n_tty.cstatic inline int input_available_p(struct tty_struct *tty, int amt)
tty717drivers/char/n_tty.cif (L_ICANON(tty)) {
tty718drivers/char/n_tty.cif (tty->canon_data)
tty720drivers/char/n_tty.c} else if (tty->read_cnt >= (amt ? amt : 1))
tty734drivers/char/n_tty.cstatic inline void copy_from_read_buf(struct tty_struct *tty,
tty741drivers/char/n_tty.cn = MIN(*nr, MIN(tty->read_cnt, N_TTY_BUF_SIZE - tty->read_tail));
tty744drivers/char/n_tty.cmemcpy_tofs(*b, &tty->read_buf[tty->read_tail], n);
tty745drivers/char/n_tty.ctty->read_tail = (tty->read_tail + n) & (N_TTY_BUF_SIZE-1);
tty746drivers/char/n_tty.ctty->read_cnt -= n;
tty751drivers/char/n_tty.cstatic int read_chan(struct tty_struct *tty, struct file *file,
tty763drivers/char/n_tty.cif (!tty->read_buf) {
tty774drivers/char/n_tty.ccurrent->tty == tty) {
tty775drivers/char/n_tty.cif (tty->pgrp <= 0)
tty777drivers/char/n_tty.celse if (current->pgrp != tty->pgrp) {
tty786drivers/char/n_tty.cif (L_ICANON(tty)) {
tty790drivers/char/n_tty.ctime = (HZ / 10) * TIME_CHAR(tty);
tty791drivers/char/n_tty.cminimum = MIN_CHAR(tty);
tty795drivers/char/n_tty.ctty->minimum_to_wake = 1;
tty796drivers/char/n_tty.celse if (!tty->read_wait ||
tty797drivers/char/n_tty.c(tty->minimum_to_wake > minimum))
tty798drivers/char/n_tty.ctty->minimum_to_wake = minimum;
tty805drivers/char/n_tty.ctty->minimum_to_wake = minimum = 1;
tty809drivers/char/n_tty.cadd_wait_queue(&tty->read_wait, &wait);
tty812drivers/char/n_tty.cif (tty->packet && tty->link->ctrl_status) {
tty815drivers/char/n_tty.cput_user(tty->link->ctrl_status, b++);
tty816drivers/char/n_tty.ctty->link->ctrl_status = 0;
tty824drivers/char/n_tty.cif (((minimum - (b - buf)) < tty->minimum_to_wake) &&
tty826drivers/char/n_tty.ctty->minimum_to_wake = (minimum - (b - buf));
tty828drivers/char/n_tty.cif (!input_available_p(tty, 0)) {
tty829drivers/char/n_tty.cif (tty->flags & (1 << TTY_SLAVE_CLOSED)) {
tty851drivers/char/n_tty.cif (tty->packet && b == buf) {
tty856drivers/char/n_tty.cif (L_ICANON(tty)) {
tty861drivers/char/n_tty.cif (!tty->read_cnt) {
tty865drivers/char/n_tty.ceol = clear_bit(tty->read_tail,
tty866drivers/char/n_tty.c&tty->read_flags);
tty867drivers/char/n_tty.cc = tty->read_buf[tty->read_tail];
tty868drivers/char/n_tty.ctty->read_tail = ((tty->read_tail+1) &
tty870drivers/char/n_tty.ctty->read_cnt--;
tty878drivers/char/n_tty.cif (--tty->canon_data < 0) {
tty879drivers/char/n_tty.ctty->canon_data = 0;
tty889drivers/char/n_tty.ccopy_from_read_buf(tty, &b, &nr);
tty890drivers/char/n_tty.ccopy_from_read_buf(tty, &b, &nr);
tty896drivers/char/n_tty.cif (tty->driver.unthrottle &&
tty897drivers/char/n_tty.c(tty->read_cnt <= TTY_THRESHOLD_UNTHROTTLE)
tty898drivers/char/n_tty.c&& clear_bit(TTY_THROTTLED, &tty->flags))
tty899drivers/char/n_tty.ctty->driver.unthrottle(tty);
tty906drivers/char/n_tty.cremove_wait_queue(&tty->read_wait, &wait);
tty908drivers/char/n_tty.cif (!tty->read_wait)
tty909drivers/char/n_tty.ctty->minimum_to_wake = minimum;
tty915drivers/char/n_tty.cclear_bit(TTY_PUSH, &tty->flags);
tty916drivers/char/n_tty.cif (!size && clear_bit(TTY_PUSH, &tty->flags))
tty919drivers/char/n_tty.cclear_bit(TTY_PUSH, &tty->flags);
tty923drivers/char/n_tty.cstatic int write_chan(struct tty_struct * tty, struct file * file,
tty932drivers/char/n_tty.cif (L_TOSTOP(tty) && file->f_inode->i_rdev != CONSOLE_DEV) {
tty933drivers/char/n_tty.cretval = tty_check_change(tty);
tty938drivers/char/n_tty.cadd_wait_queue(&tty->write_wait, &wait);
tty945drivers/char/n_tty.cif (tty_hung_up_p(file) || (tty->link && !tty->link->count)) {
tty949drivers/char/n_tty.cif (O_OPOST(tty)) {
tty952drivers/char/n_tty.cif (opost(c, tty) < 0)
tty956drivers/char/n_tty.cif (tty->driver.flush_chars)
tty957drivers/char/n_tty.ctty->driver.flush_chars(tty);
tty959drivers/char/n_tty.cc = tty->driver.write(tty, 1, b, nr);
tty972drivers/char/n_tty.cremove_wait_queue(&tty->write_wait, &wait);
tty976drivers/char/n_tty.cstatic int normal_select(struct tty_struct * tty, struct inode * inode,
tty981drivers/char/n_tty.cif (input_available_p(tty, TIME_CHAR(tty) ? 0 :
tty982drivers/char/n_tty.cMIN_CHAR(tty)))
tty986drivers/char/n_tty.cif (tty->packet && tty->link->ctrl_status)
tty988drivers/char/n_tty.cif (tty->flags & (1 << TTY_SLAVE_CLOSED))
tty992drivers/char/n_tty.cif (!tty->read_wait) {
tty993drivers/char/n_tty.cif (MIN_CHAR(tty) && !TIME_CHAR(tty))
tty994drivers/char/n_tty.ctty->minimum_to_wake = MIN_CHAR(tty);
tty996drivers/char/n_tty.ctty->minimum_to_wake = 1;
tty998drivers/char/n_tty.cselect_wait(&tty->read_wait, wait);
tty1001drivers/char/n_tty.cif (tty->driver.chars_in_buffer(tty) < WAKEUP_CHARS)
tty1003drivers/char/n_tty.cselect_wait(&tty->write_wait, wait);
tty64drivers/char/pty.cstatic void pty_close(struct tty_struct * tty, struct file * filp)
tty66drivers/char/pty.cif (!tty)
tty68drivers/char/pty.cif (tty->driver.subtype == PTY_TYPE_MASTER) {
tty69drivers/char/pty.cif (tty->count > 1)
tty70drivers/char/pty.cprintk("master pty_close: count = %d!!\n", tty->count);
tty72drivers/char/pty.cif (tty->count > 2)
tty75drivers/char/pty.cwake_up_interruptible(&tty->read_wait);
tty76drivers/char/pty.cwake_up_interruptible(&tty->write_wait);
tty77drivers/char/pty.cif (!tty->link)
tty79drivers/char/pty.cwake_up_interruptible(&tty->link->read_wait);
tty80drivers/char/pty.cwake_up_interruptible(&tty->link->write_wait);
tty81drivers/char/pty.cif (tty->driver.subtype == PTY_TYPE_MASTER) {
tty82drivers/char/pty.ctty_hangup(tty->link);
tty83drivers/char/pty.cset_bit(TTY_SLAVE_CLOSED, &tty->flags);
tty85drivers/char/pty.cstart_tty(tty);
tty86drivers/char/pty.cset_bit(TTY_SLAVE_CLOSED, &tty->link->flags);
tty100drivers/char/pty.cstatic void pty_unthrottle(struct tty_struct * tty)
tty102drivers/char/pty.cstruct tty_struct *o_tty = tty->link;
tty111drivers/char/pty.cset_bit(TTY_THROTTLED, &tty->flags);
tty114drivers/char/pty.cstatic int pty_write(struct tty_struct * tty, int from_user,
tty117drivers/char/pty.cstruct tty_struct *to = tty->link;
tty121drivers/char/pty.cif (!to || tty->stopped)
tty127drivers/char/pty.c((tty->driver.subtype-1) * PTY_BUF_SIZE);
tty148drivers/char/pty.cstatic int pty_write_room(struct tty_struct *tty)
tty150drivers/char/pty.cstruct tty_struct *to = tty->link;
tty152drivers/char/pty.cif (!to || tty->stopped)
tty158drivers/char/pty.cstatic int pty_chars_in_buffer(struct tty_struct *tty)
tty160drivers/char/pty.cstruct tty_struct *to = tty->link;
tty168drivers/char/pty.cstatic void pty_flush_buffer(struct tty_struct *tty)
tty170drivers/char/pty.cstruct tty_struct *to = tty->link;
tty179drivers/char/pty.ctty->ctrl_status |= TIOCPKT_FLUSHWRITE;
tty184drivers/char/pty.cint pty_open(struct tty_struct *tty, struct file * filp)
tty189drivers/char/pty.cif (!tty || !tty->link)
tty191drivers/char/pty.cline = MINOR(tty->device) - tty->driver.minor_start;
tty195drivers/char/pty.ctty->driver_data = pty;
tty203drivers/char/pty.cif (tty->driver.subtype == PTY_TYPE_SLAVE)
tty204drivers/char/pty.cclear_bit(TTY_SLAVE_CLOSED, &tty->link->flags);
tty206drivers/char/pty.cset_bit(TTY_THROTTLED, &tty->flags);
tty209drivers/char/pty.cwhile (test_bit(TTY_SLAVE_CLOSED, &tty->link->flags) &&
tty212drivers/char/pty.cif (!tty->link->count)
tty159drivers/char/scc.cint scc_open(struct tty_struct *tty, struct file *filp);
tty160drivers/char/scc.cstatic void scc_close(struct tty_struct *tty, struct file *filp);
tty161drivers/char/scc.cint scc_write(struct tty_struct *tty, int from_user, const unsigned char *buf, int count);
tty162drivers/char/scc.cstatic void scc_put_char(struct tty_struct *tty, unsigned char ch);
tty163drivers/char/scc.cstatic void scc_flush_chars(struct tty_struct *tty);
tty164drivers/char/scc.cstatic int scc_write_room(struct tty_struct *tty);
tty165drivers/char/scc.cstatic int scc_chars_in_buffer(struct tty_struct *tty);
tty166drivers/char/scc.cstatic void scc_flush_buffer(struct tty_struct *tty);
tty167drivers/char/scc.cstatic int scc_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg);
tty168drivers/char/scc.cstatic void scc_set_termios(struct tty_struct *tty, struct termios *old_termios);
tty169drivers/char/scc.cstatic void scc_throttle(struct tty_struct *tty);
tty170drivers/char/scc.cstatic void scc_unthrottle(struct tty_struct *tty);
tty171drivers/char/scc.cstatic void scc_start(struct tty_struct *tty);
tty172drivers/char/scc.cstatic void scc_stop(struct tty_struct *tty);
tty566drivers/char/scc.cif (!scc->tty) break;
tty607drivers/char/scc.cif (!scc->tty) break;
tty1105drivers/char/scc.cif (scc2 == scc || !(scc2->tty && grp2)) 
tty1273drivers/char/scc.cif (scc->tty && scc->init)
tty1544drivers/char/scc.cstruct tty_struct * tty = scc->tty;
tty1556drivers/char/scc.cwhile(tty->flip.count < TTY_FLIPBUF_SIZE-3)
tty1564drivers/char/scc.ctty_insert_flip_char(tty, FEND, 0);
tty1567drivers/char/scc.ctty_insert_flip_char(tty, 0, 0);
tty1575drivers/char/scc.ctty_insert_flip_char(tty, FESC, 0);
tty1576drivers/char/scc.ctty_insert_flip_char(tty, TFEND, 0);
tty1579drivers/char/scc.ctty_insert_flip_char(tty, FESC, 0);
tty1580drivers/char/scc.ctty_insert_flip_char(tty, TFESC, 0);
tty1583drivers/char/scc.ctty_insert_flip_char(tty, ch, 0);
tty1608drivers/char/scc.ctty_insert_flip_char(tty, FEND, 0); /* send FEND for old frame */
tty1613drivers/char/scc.cqueue_task(&tty->flip.tqueue, &tq_timer);
tty1624drivers/char/scc.cqueue_task(&tty->flip.tqueue, &tq_timer); /* kick it... */
tty1710drivers/char/scc.cint scc_open(struct tty_struct *tty, struct file * filp)
tty1715drivers/char/scc.cchan = MINOR(tty->device) - tty->driver.minor_start;
tty1721drivers/char/scc.ctty->driver_data = scc;
tty1722drivers/char/scc.ctty->termios->c_cflag &= ~CBAUD; 
tty1731drivers/char/scc.ckdevname(tty->device));
tty1735drivers/char/scc.cif(scc->tty != NULL)
tty1743drivers/char/scc.cscc->tty = tty;
tty1762drivers/char/scc.cscc_close(struct tty_struct *tty, struct file * filp)
tty1764drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty1776drivers/char/scc.ctty->driver_data = NULLBUF;
tty1784drivers/char/scc.cscc->tty = NULL;
tty1787drivers/char/scc.ctty->stopped = 0;    
tty1800drivers/char/scc.cif (scc->tty == NULL)
tty1803drivers/char/scc.cscc->modem.speed = baud_table[scc->tty->termios->c_cflag & CBAUD];
tty1829drivers/char/scc.cscc_ioctl(struct tty_struct *tty, struct file * file, unsigned int cmd, unsigned long arg)
tty1831drivers/char/scc.cstruct scc_channel * scc = tty->driver_data;
tty1841drivers/char/scc.ckdevname(tty->device));
tty1976drivers/char/scc.cmemcpy_tofs((void *) arg, scc->tty->termios, sizeof(struct termios));
tty1987drivers/char/scc.cmemcpy_fromfs(scc->tty->termios, (void *) arg, sizeof(struct termios));
tty2098drivers/char/scc.cscc_set_termios(struct tty_struct * tty, struct termios * old_termios)
tty2100drivers/char/scc.cif (tty->termios->c_cflag == old_termios->c_cflag) 
tty2102drivers/char/scc.cscc_change_speed(tty->driver_data);
tty2140drivers/char/scc.cint scc_write(struct tty_struct *tty, int from_user, const unsigned char *buf, int count)
tty2142drivers/char/scc.cstruct scc_channel * scc = tty->driver_data;
tty2146drivers/char/scc.cif (!tty) return count;
tty2148drivers/char/scc.cif (scc_paranoia_check(scc, tty->device, "scc_write"))
tty2186drivers/char/scc.cstatic void scc_put_char(struct tty_struct * tty, unsigned char ch)
tty2188drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2191drivers/char/scc.cif (scc_paranoia_check(scc, tty->device, "scc_put_char"))
tty2195drivers/char/scc.cscc_write(tty, 0, &ch2, 1);  /* that's all */
tty2198drivers/char/scc.cstatic void scc_flush_chars(struct tty_struct * tty)
tty2200drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2202drivers/char/scc.cscc_paranoia_check(scc, tty->device, "scc_flush_chars"); /* just to annoy the user... */
tty2209drivers/char/scc.cstatic int scc_write_room(struct tty_struct *tty)
tty2211drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2213drivers/char/scc.cif (scc_paranoia_check(scc, tty->device, "scc_write_room"))
tty2225drivers/char/scc.cstatic int scc_chars_in_buffer(struct tty_struct *tty)
tty2227drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2235drivers/char/scc.cstatic void scc_flush_buffer(struct tty_struct *tty)
tty2237drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2239drivers/char/scc.cif (scc_paranoia_check(scc, tty->device, "scc_flush_buffer"))
tty2244drivers/char/scc.cwake_up_interruptible(&tty->write_wait);
tty2245drivers/char/scc.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) &&
tty2246drivers/char/scc.ctty->ldisc.write_wakeup)
tty2247drivers/char/scc.c(tty->ldisc.write_wakeup)(tty);
tty2250drivers/char/scc.cstatic void scc_throttle(struct tty_struct *tty)
tty2252drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2254drivers/char/scc.cif (scc_paranoia_check(scc, tty->device, "scc_throttle"))
tty2261drivers/char/scc.cstatic void scc_unthrottle(struct tty_struct *tty)
tty2263drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2265drivers/char/scc.cif (scc_paranoia_check(scc, tty->device, "scc_unthrottle"))
tty2271drivers/char/scc.cstatic void scc_start(struct tty_struct *tty)
tty2273drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2275drivers/char/scc.cif (scc_paranoia_check(scc, tty->device, "scc_start"))
tty2282drivers/char/scc.cstatic void scc_stop(struct tty_struct *tty)
tty2284drivers/char/scc.cstruct scc_channel *scc = tty->driver_data;
tty2286drivers/char/scc.cif (scc_paranoia_check(scc, tty->device, "scc_stop"))
tty114drivers/char/selection.cint set_selection(const unsigned long arg, struct tty_struct *tty)
tty145drivers/char/selection.cmouse_report(tty, sel_mode & 15, xs, ys);
tty270drivers/char/selection.cint paste_selection(struct tty_struct *tty)
tty276drivers/char/selection.cstruct vt_struct *vt = (struct vt_struct *) tty->driver_data;
tty284drivers/char/selection.cif (test_bit(TTY_THROTTLED, &tty->flags)) {
tty288drivers/char/selection.cl = MIN(c, tty->ldisc.receive_room(tty));
tty289drivers/char/selection.ctty->ldisc.receive_buf(tty, bp, 0, l);
tty9drivers/char/selection.hextern int set_selection(const unsigned long arg, struct tty_struct *tty);
tty10drivers/char/selection.hextern int paste_selection(struct tty_struct *tty);
tty13drivers/char/selection.hextern void mouse_report(struct tty_struct * tty, int butt, int mrx, int mry);
tty295drivers/char/serial.cstatic void rs_stop(struct tty_struct *tty)
tty297drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty300drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_stop"))
tty311drivers/char/serial.cstatic void rs_start(struct tty_struct *tty)
tty313drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty316drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_start"))
tty374drivers/char/serial.cstruct tty_struct *tty = info->tty;
tty385drivers/char/serial.cif (tty->flip.count >= TTY_FLIPBUF_SIZE)
tty387drivers/char/serial.ctty->flip.count++;
tty390drivers/char/serial.c*tty->flip.flag_buf_ptr++ = TTY_BREAK;
tty392drivers/char/serial.cdo_SAK(tty);
tty394drivers/char/serial.c*tty->flip.flag_buf_ptr++ = TTY_PARITY;
tty396drivers/char/serial.c*tty->flip.flag_buf_ptr++ = TTY_FRAME;
tty398drivers/char/serial.c*tty->flip.flag_buf_ptr++ = TTY_OVERRUN;
tty400drivers/char/serial.c*tty->flip.flag_buf_ptr++ = 0;
tty401drivers/char/serial.c*tty->flip.char_buf_ptr++ = ch;
tty405drivers/char/serial.cqueue_task_irq_off(&tty->flip.tqueue, &tq_timer);
tty422drivers/char/serial.cif ((info->xmit_cnt <= 0) || info->tty->stopped ||
tty423drivers/char/serial.cinfo->tty->hw_stopped) {
tty475drivers/char/serial.cif (info->tty->hw_stopped) {
tty480drivers/char/serial.cinfo->tty->hw_stopped = 0;
tty491drivers/char/serial.cinfo->tty->hw_stopped = 1;
tty524drivers/char/serial.cif (!info->tty ||
tty581drivers/char/serial.cif (!info || !info->tty)
tty642drivers/char/serial.cif (!info->tty ||
tty719drivers/char/serial.cstruct tty_struct  *tty;
tty721drivers/char/serial.ctty = info->tty;
tty722drivers/char/serial.cif (!tty)
tty726drivers/char/serial.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) &&
tty727drivers/char/serial.ctty->ldisc.write_wakeup)
tty728drivers/char/serial.c(tty->ldisc.write_wakeup)(tty);
tty729drivers/char/serial.cwake_up_interruptible(&tty->write_wait);
tty745drivers/char/serial.cstruct tty_struct  *tty;
tty747drivers/char/serial.ctty = info->tty;
tty748drivers/char/serial.cif (!tty)
tty751drivers/char/serial.ctty_hangup(tty);
tty880drivers/char/serial.cif (info->tty)
tty881drivers/char/serial.cset_bit(TTY_IO_ERROR, &info->tty->flags);
tty920drivers/char/serial.cif (info->tty)
tty921drivers/char/serial.cset_bit(TTY_IO_ERROR, &info->tty->flags);
tty945drivers/char/serial.cif (info->tty)
tty947drivers/char/serial.c&info->tty->flags);
tty1002drivers/char/serial.cif (info->tty)
tty1003drivers/char/serial.cclear_bit(TTY_IO_ERROR, &info->tty->flags);
tty1090drivers/char/serial.cif (!info->tty || (info->tty->termios->c_cflag & HUPCL)) {
tty1101drivers/char/serial.cif (info->tty)
tty1102drivers/char/serial.cset_bit(TTY_IO_ERROR, &info->tty->flags);
tty1119drivers/char/serial.cif (!info->tty || !info->tty->termios)
tty1121drivers/char/serial.ccflag = info->tty->termios->c_cflag;
tty1128drivers/char/serial.cinfo->tty->termios->c_cflag &= ~CBAUDEX;
tty1221drivers/char/serial.cif (I_INPCK(info->tty))
tty1223drivers/char/serial.cif (I_BRKINT(info->tty) || I_PARMRK(info->tty))
tty1227drivers/char/serial.cif (I_IGNPAR(info->tty)) {
tty1231drivers/char/serial.cif (I_IGNBRK(info->tty)) {
tty1238drivers/char/serial.cif (I_IGNPAR(info->tty)) {
tty1253drivers/char/serial.cstatic void rs_put_char(struct tty_struct *tty, unsigned char ch)
tty1255drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1258drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_put_char"))
tty1261drivers/char/serial.cif (!tty || !info->xmit_buf)
tty1276drivers/char/serial.cstatic void rs_flush_chars(struct tty_struct *tty)
tty1278drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1281drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_flush_chars"))
tty1284drivers/char/serial.cif (info->xmit_cnt <= 0 || tty->stopped || tty->hw_stopped ||
tty1294drivers/char/serial.cstatic int rs_write(struct tty_struct * tty, int from_user,
tty1298drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1301drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_write"))
tty1304drivers/char/serial.cif (!tty || !info->xmit_buf || !tmp_buf)
tty1331drivers/char/serial.cif (info->xmit_cnt && !tty->stopped && !tty->hw_stopped &&
tty1340drivers/char/serial.cstatic int rs_write_room(struct tty_struct *tty)
tty1342drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1345drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_write_room"))
tty1353drivers/char/serial.cstatic int rs_chars_in_buffer(struct tty_struct *tty)
tty1355drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1357drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_chars_in_buffer"))
tty1362drivers/char/serial.cstatic void rs_flush_buffer(struct tty_struct *tty)
tty1364drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1366drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_flush_buffer"))
tty1371drivers/char/serial.cwake_up_interruptible(&tty->write_wait);
tty1372drivers/char/serial.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) &&
tty1373drivers/char/serial.ctty->ldisc.write_wakeup)
tty1374drivers/char/serial.c(tty->ldisc.write_wakeup)(tty);
tty1385drivers/char/serial.cstatic void rs_throttle(struct tty_struct * tty)
tty1387drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1391drivers/char/serial.cprintk("throttle %s: %d....\n", _tty_name(tty, buf),
tty1392drivers/char/serial.ctty->ldisc.chars_in_buffer(tty));
tty1395drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_throttle"))
tty1398drivers/char/serial.cif (I_IXOFF(tty))
tty1399drivers/char/serial.cinfo->x_char = STOP_CHAR(tty);
tty1408drivers/char/serial.cstatic void rs_unthrottle(struct tty_struct * tty)
tty1410drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1414drivers/char/serial.cprintk("unthrottle %s: %d....\n", _tty_name(tty, buf),
tty1415drivers/char/serial.ctty->ldisc.chars_in_buffer(tty));
tty1418drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_unthrottle"))
tty1421drivers/char/serial.cif (I_IXOFF(tty)) {
tty1425drivers/char/serial.cinfo->x_char = START_CHAR(tty);
tty1840drivers/char/serial.cstatic int rs_ioctl(struct tty_struct *tty, struct file * file,
tty1844drivers/char/serial.cstruct async_struct * info = (struct async_struct *)tty->driver_data;
tty1847drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_ioctl"))
tty1853drivers/char/serial.cif (tty->flags & (1 << TTY_IO_ERROR))
tty1859drivers/char/serial.cretval = tty_check_change(tty);
tty1862drivers/char/serial.ctty_wait_until_sent(tty, 0);
tty1867drivers/char/serial.cretval = tty_check_change(tty);
tty1870drivers/char/serial.ctty_wait_until_sent(tty, 0);
tty1877drivers/char/serial.cput_fs_long(C_CLOCAL(tty) ? 1 : 0,
tty1882drivers/char/serial.ctty->termios->c_cflag =
tty1883drivers/char/serial.c((tty->termios->c_cflag & ~CLOCAL) |
tty1958drivers/char/serial.cstatic void rs_set_termios(struct tty_struct *tty, struct termios *old_termios)
tty1960drivers/char/serial.cstruct async_struct *info = (struct async_struct *)tty->driver_data;
tty1962drivers/char/serial.cif (tty->termios->c_cflag == old_termios->c_cflag)
tty1968drivers/char/serial.c!(tty->termios->c_cflag & CRTSCTS)) {
tty1969drivers/char/serial.ctty->hw_stopped = 0;
tty1970drivers/char/serial.crs_start(tty);
tty1981drivers/char/serial.c(tty->termios->c_cflag & CLOCAL))
tty1996drivers/char/serial.cstatic void rs_close(struct tty_struct *tty, struct file * filp)
tty1998drivers/char/serial.cstruct async_struct * info = (struct async_struct *)tty->driver_data;
tty2002drivers/char/serial.cif (!info || serial_paranoia_check(info, tty->device, "rs_close"))
tty2015drivers/char/serial.cif ((tty->count == 1) && (info->count != 1)) {
tty2042drivers/char/serial.cinfo->normal_termios = *tty->termios;
tty2044drivers/char/serial.cinfo->callout_termios = *tty->termios;
tty2049drivers/char/serial.ctty->closing = 1;
tty2051drivers/char/serial.ctty_wait_until_sent(tty, info->closing_wait);
tty2077drivers/char/serial.cif (tty->driver.flush_buffer)
tty2078drivers/char/serial.ctty->driver.flush_buffer(tty);
tty2079drivers/char/serial.cif (tty->ldisc.flush_buffer)
tty2080drivers/char/serial.ctty->ldisc.flush_buffer(tty);
tty2081drivers/char/serial.ctty->closing = 0;
tty2083drivers/char/serial.cinfo->tty = 0;
tty2084drivers/char/serial.cif (tty->ldisc.num != ldiscs[N_TTY].num) {
tty2085drivers/char/serial.cif (tty->ldisc.close)
tty2086drivers/char/serial.c(tty->ldisc.close)(tty);
tty2087drivers/char/serial.ctty->ldisc = ldiscs[N_TTY];
tty2088drivers/char/serial.ctty->termios->c_line = N_TTY;
tty2089drivers/char/serial.cif (tty->ldisc.open)
tty2090drivers/char/serial.c(tty->ldisc.open)(tty);
tty2109drivers/char/serial.cvoid rs_hangup(struct tty_struct *tty)
tty2111drivers/char/serial.cstruct async_struct * info = (struct async_struct *)tty->driver_data;
tty2113drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_hangup"))
tty2116drivers/char/serial.crs_flush_buffer(tty);
tty2121drivers/char/serial.cinfo->tty = 0;
tty2130drivers/char/serial.cstatic int block_til_ready(struct tty_struct *tty, struct file * filp,
tty2157drivers/char/serial.cif (tty->driver.subtype == SERIAL_TYPE_CALLOUT) {
tty2177drivers/char/serial.c(tty->flags & (1 << TTY_IO_ERROR))) {
tty2188drivers/char/serial.cif (tty->termios->c_cflag & CLOCAL)
tty2263drivers/char/serial.cint rs_open(struct tty_struct *tty, struct file * filp)
tty2268drivers/char/serial.cline = MINOR(tty->device) - tty->driver.minor_start;
tty2272drivers/char/serial.cif (serial_paranoia_check(info, tty->device, "rs_open"))
tty2276drivers/char/serial.cprintk("rs_open %s%d, count = %d\n", tty->driver.name, info->line,
tty2280drivers/char/serial.ctty->driver_data = info;
tty2281drivers/char/serial.cinfo->tty = tty;
tty2296drivers/char/serial.cretval = block_til_ready(tty, filp, info);
tty2306drivers/char/serial.cif (tty->driver.subtype == SERIAL_TYPE_NORMAL)
tty2307drivers/char/serial.c*tty->termios = info->normal_termios;
tty2309drivers/char/serial.c*tty->termios = info->callout_termios;
tty2648drivers/char/serial.cinfo->tty = 0;
tty2767drivers/char/serial.cif (info->tty)
tty2768drivers/char/serial.ctty_hangup(info->tty);
tty242drivers/char/stallion.cstruct tty_struct  *tty;
tty458drivers/char/stallion.cstatic int  stl_open(struct tty_struct *tty, struct file *filp);
tty459drivers/char/stallion.cstatic void  stl_close(struct tty_struct *tty, struct file *filp);
tty460drivers/char/stallion.cstatic int  stl_write(struct tty_struct *tty, int from_user, const unsigned char *buf, int count);
tty461drivers/char/stallion.cstatic void  stl_putchar(struct tty_struct *tty, unsigned char ch);
tty462drivers/char/stallion.cstatic void  stl_flushchars(struct tty_struct *tty);
tty463drivers/char/stallion.cstatic int  stl_writeroom(struct tty_struct *tty);
tty464drivers/char/stallion.cstatic int  stl_charsinbuffer(struct tty_struct *tty);
tty465drivers/char/stallion.cstatic int  stl_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg);
tty466drivers/char/stallion.cstatic void  stl_settermios(struct tty_struct *tty, struct termios *old);
tty467drivers/char/stallion.cstatic void  stl_throttle(struct tty_struct *tty);
tty468drivers/char/stallion.cstatic void  stl_unthrottle(struct tty_struct *tty);
tty469drivers/char/stallion.cstatic void  stl_stop(struct tty_struct *tty);
tty470drivers/char/stallion.cstatic void  stl_start(struct tty_struct *tty);
tty471drivers/char/stallion.cstatic void  stl_flushbuffer(struct tty_struct *tty);
tty472drivers/char/stallion.cstatic void  stl_hangup(struct tty_struct *tty);
tty569drivers/char/stallion.cif (portp->tty != (struct tty_struct *) NULL)
tty570drivers/char/stallion.cstl_hangup(portp->tty);
tty621drivers/char/stallion.cstatic int stl_open(struct tty_struct *tty, struct file *filp)
tty629drivers/char/stallion.cprintk("stl_open(tty=%x,filp=%x): device=%x\n", (int) tty, (int) filp, tty->device);
tty632drivers/char/stallion.cminordev = MINOR(tty->device);
tty660drivers/char/stallion.cportp->tty = tty;
tty661drivers/char/stallion.ctty->driver_data = portp;
tty672drivers/char/stallion.cstl_setport(portp, tty->termios);
tty677drivers/char/stallion.cclear_bit(TTY_IO_ERROR, &tty->flags);
tty699drivers/char/stallion.cif (tty->driver.subtype == STL_DRVTYPCALLOUT) {
tty723drivers/char/stallion.cif (tty->driver.subtype == STL_DRVTYPSERIAL)
tty724drivers/char/stallion.c*tty->termios = portp->normaltermios;
tty726drivers/char/stallion.c*tty->termios = portp->callouttermios;
tty727drivers/char/stallion.cstl_setport(portp, tty->termios);
tty771drivers/char/stallion.c((portp->tty->termios->c_cflag & CLOCAL) ||
tty792drivers/char/stallion.cstatic void stl_close(struct tty_struct *tty, struct file *filp)
tty798drivers/char/stallion.cprintk("stl_close(tty=%x,filp=%x)\n", (int) tty, (int) filp);
tty801drivers/char/stallion.cportp = tty->driver_data;
tty820drivers/char/stallion.cportp->normaltermios = *tty->termios;
tty822drivers/char/stallion.cportp->callouttermios = *tty->termios;
tty829drivers/char/stallion.ctty->closing = 1;
tty832drivers/char/stallion.ctty_wait_until_sent(tty, portp->closing_wait);
tty837drivers/char/stallion.cif (tty->termios->c_cflag & HUPCL)
tty840drivers/char/stallion.cstl_flushbuffer(tty);
tty848drivers/char/stallion.cset_bit(TTY_IO_ERROR, &tty->flags);
tty849drivers/char/stallion.cif (tty->ldisc.flush_buffer)
tty850drivers/char/stallion.c(tty->ldisc.flush_buffer)(tty);
tty852drivers/char/stallion.ctty->closing = 0;
tty853drivers/char/stallion.ctty->driver_data = (void *) NULL;
tty854drivers/char/stallion.cportp->tty = (struct tty_struct *) NULL;
tty894drivers/char/stallion.cstatic int stl_write(struct tty_struct *tty, int from_user, const unsigned char *buf, int count)
tty903drivers/char/stallion.cprintk("stl_write(tty=%x,from_user=%d,buf=%x,count=%d)\n", (int) tty, from_user, (int) buf, count);
tty906drivers/char/stallion.cif ((tty == (struct tty_struct *) NULL) || (stl_tmpwritebuf == (char *) NULL))
tty908drivers/char/stallion.cportp = tty->driver_data;
tty971drivers/char/stallion.cstatic void stl_putchar(struct tty_struct *tty, unsigned char ch)
tty978drivers/char/stallion.cprintk("stl_putchar(tty=%x,ch=%x)\n", (int) tty, (int) ch);
tty981drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty983drivers/char/stallion.cportp = tty->driver_data;
tty1011drivers/char/stallion.cstatic void stl_flushchars(struct tty_struct *tty)
tty1016drivers/char/stallion.cprintk("stl_flushchars(tty=%x)\n", (int) tty);
tty1019drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1021drivers/char/stallion.cportp = tty->driver_data;
tty1028drivers/char/stallion.cif (tty->stopped || tty->hw_stopped || (portp->tx.head == portp->tx.tail))
tty1036drivers/char/stallion.cstatic int stl_writeroom(struct tty_struct *tty)
tty1042drivers/char/stallion.cprintk("stl_writeroom(tty=%x)\n", (int) tty);
tty1045drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1047drivers/char/stallion.cportp = tty->driver_data;
tty1069drivers/char/stallion.cstatic int stl_charsinbuffer(struct tty_struct *tty)
tty1076drivers/char/stallion.cprintk("stl_charsinbuffer(tty=%x)\n", (int) tty);
tty1079drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1081drivers/char/stallion.cportp = tty->driver_data;
tty1158drivers/char/stallion.cstl_setport(portp, portp->tty->termios);
tty1164drivers/char/stallion.cstatic int stl_ioctl(struct tty_struct *tty, struct file *file, unsigned int cmd, unsigned long arg)
tty1170drivers/char/stallion.cprintk("stl_ioctl(tty=%x,file=%x,cmd=%x,arg=%x)\n", (int) tty, (int) file, cmd, (int) arg);
tty1173drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1175drivers/char/stallion.cportp = tty->driver_data;
tty1183drivers/char/stallion.cif ((rc = tty_check_change(tty)) == 0) {
tty1184drivers/char/stallion.ctty_wait_until_sent(tty, 0);
tty1190drivers/char/stallion.cif ((rc = tty_check_change(tty)) == 0) {
tty1191drivers/char/stallion.ctty_wait_until_sent(tty, 0);
tty1197drivers/char/stallion.cput_fs_long(((tty->termios->c_cflag & CLOCAL) ? 1 : 0), (unsigned long *) arg);
tty1202drivers/char/stallion.ctty->termios->c_cflag = (tty->termios->c_cflag & ~CLOCAL) | (arg ? CLOCAL : 0);
tty1254drivers/char/stallion.cstatic void stl_settermios(struct tty_struct *tty, struct termios *old)
tty1260drivers/char/stallion.cprintk("stl_settermios(tty=%x,old=%x)\n", (int) tty, (int) old);
tty1263drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1265drivers/char/stallion.cportp = tty->driver_data;
tty1269drivers/char/stallion.ctiosp = tty->termios;
tty1276drivers/char/stallion.ctty->hw_stopped = 0;
tty1277drivers/char/stallion.cstl_start(tty);
tty1290drivers/char/stallion.cstatic void stl_throttle(struct tty_struct *tty)
tty1296drivers/char/stallion.cprintk("stl_throttle(tty=%x)\n", (int) tty);
tty1299drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1301drivers/char/stallion.cportp = tty->driver_data;
tty1309drivers/char/stallion.cif (tty->termios->c_iflag & IXOFF) {
tty1314drivers/char/stallion.cif (tty->termios->c_cflag & CRTSCTS) {
tty1328drivers/char/stallion.cstatic void stl_unthrottle(struct tty_struct *tty)
tty1334drivers/char/stallion.cprintk("stl_unthrottle(tty=%x)\n", (int) tty);
tty1337drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1339drivers/char/stallion.cportp = tty->driver_data;
tty1347drivers/char/stallion.cif (tty->termios->c_iflag & IXOFF) {
tty1358drivers/char/stallion.cif (tty->termios->c_cflag & CRTSCTS) {
tty1373drivers/char/stallion.cstatic void stl_stop(struct tty_struct *tty)
tty1378drivers/char/stallion.cprintk("stl_stop(tty=%x)\n", (int) tty);
tty1381drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1383drivers/char/stallion.cportp = tty->driver_data;
tty1396drivers/char/stallion.cstatic void stl_start(struct tty_struct *tty)
tty1401drivers/char/stallion.cprintk("stl_start(tty=%x)\n", (int) tty);
tty1404drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1406drivers/char/stallion.cportp = tty->driver_data;
tty1421drivers/char/stallion.cstatic void stl_hangup(struct tty_struct *tty)
tty1426drivers/char/stallion.cprintk("stl_hangup(tty=%x)\n", (int) tty);
tty1429drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1431drivers/char/stallion.cportp = tty->driver_data;
tty1437drivers/char/stallion.cif (tty->termios->c_cflag & HUPCL)
tty1440drivers/char/stallion.cstl_flushbuffer(tty);
tty1442drivers/char/stallion.cset_bit(TTY_IO_ERROR, &tty->flags);
tty1449drivers/char/stallion.ctty->driver_data = (void *) NULL;
tty1450drivers/char/stallion.cportp->tty = (struct tty_struct *) NULL;
tty1458drivers/char/stallion.cstatic void stl_flushbuffer(struct tty_struct *tty)
tty1464drivers/char/stallion.cprintk("stl_flushbuffer(tty=%x)\n", (int) tty);
tty1467drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1469drivers/char/stallion.cportp = tty->driver_data;
tty1484drivers/char/stallion.cwake_up_interruptible(&tty->write_wait);
tty1485drivers/char/stallion.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup)
tty1486drivers/char/stallion.c(tty->ldisc.write_wakeup)(tty);
tty1629drivers/char/stallion.cstruct tty_struct  *tty;
tty1645drivers/char/stallion.ctty = portp->tty;
tty1650drivers/char/stallion.cif ((tty == (struct tty_struct *) NULL) || (tty->flip.char_buf_ptr == (char *) NULL) ||
tty1651drivers/char/stallion.c((buflen = TTY_FLIPBUF_SIZE - tty->flip.count) == 0)) {
tty1658drivers/char/stallion.cinsb((ioaddr + EREG_DATA), tty->flip.char_buf_ptr, len);
tty1659drivers/char/stallion.cmemset(tty->flip.flag_buf_ptr, 0, len);
tty1660drivers/char/stallion.ctty->flip.flag_buf_ptr += len;
tty1661drivers/char/stallion.ctty->flip.char_buf_ptr += len;
tty1662drivers/char/stallion.ctty->flip.count += len;
tty1663drivers/char/stallion.ctty_schedule_flip(tty);
tty1670drivers/char/stallion.cif ((tty != (struct tty_struct *) NULL) && ((portp->rxignoremsk & status) == 0)) {
tty1676drivers/char/stallion.cdo_SAK(tty);
tty1690drivers/char/stallion.cif (tty->flip.char_buf_ptr != (char *) NULL) {
tty1691drivers/char/stallion.cif (tty->flip.count < TTY_FLIPBUF_SIZE) {
tty1692drivers/char/stallion.c*tty->flip.flag_buf_ptr++ = status;
tty1693drivers/char/stallion.c*tty->flip.char_buf_ptr++ = ch;
tty1694drivers/char/stallion.ctty->flip.count++;
tty1696drivers/char/stallion.ctty_schedule_flip(tty);
tty1895drivers/char/stallion.cstruct tty_struct  *tty;
tty1905drivers/char/stallion.ctty = portp->tty;
tty1906drivers/char/stallion.cif (tty == (struct tty_struct *) NULL)
tty1910drivers/char/stallion.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && tty->ldisc.write_wakeup)
tty1911drivers/char/stallion.c(tty->ldisc.write_wakeup)(tty);
tty1912drivers/char/stallion.cwake_up_interruptible(&tty->write_wait);
tty1923drivers/char/stallion.ctty_hangup(tty);
tty101drivers/char/tty_io.cstatic void initialize_tty_struct(struct tty_struct *tty);
tty124drivers/char/tty_io.cchar *_tty_name(struct tty_struct *tty, char *buf)
tty126drivers/char/tty_io.cif (tty)
tty127drivers/char/tty_io.csprintf(buf, "%s%d", tty->driver.name,
tty128drivers/char/tty_io.cMINOR(tty->device) - tty->driver.minor_start +
tty129drivers/char/tty_io.ctty->driver.name_base);
tty135drivers/char/tty_io.cchar *tty_name(struct tty_struct *tty)
tty139drivers/char/tty_io.creturn(_tty_name(tty, buf));
tty142drivers/char/tty_io.cinline int tty_paranoia_check(struct tty_struct *tty, kdev_t device,
tty151drivers/char/tty_io.cif (!tty) {
tty155drivers/char/tty_io.cif (tty->magic != TTY_MAGIC) {
tty163drivers/char/tty_io.cstatic int check_tty_count(struct tty_struct *tty, const char *routine)
tty172drivers/char/tty_io.cif (f->private_data == tty) {
tty176drivers/char/tty_io.cif (tty->driver.type == TTY_DRIVER_TYPE_PTY &&
tty177drivers/char/tty_io.ctty->driver.subtype == PTY_TYPE_SLAVE &&
tty178drivers/char/tty_io.ctty->link && tty->link->count)
tty180drivers/char/tty_io.cif (tty->count != count) {
tty182drivers/char/tty_io.ckdevname(tty->device), tty->count, count, routine);
tty205drivers/char/tty_io.cstatic int tty_set_ldisc(struct tty_struct *tty, int ldisc)
tty214drivers/char/tty_io.cif (tty->ldisc.num == ldisc)
tty216drivers/char/tty_io.co_ldisc = tty->ldisc;
tty218drivers/char/tty_io.ctty_wait_until_sent(tty, 0);
tty221drivers/char/tty_io.cif (tty->ldisc.close)
tty222drivers/char/tty_io.c(tty->ldisc.close)(tty);
tty225drivers/char/tty_io.ctty->ldisc = ldiscs[ldisc];
tty226drivers/char/tty_io.ctty->termios->c_line = ldisc;
tty227drivers/char/tty_io.cif (tty->ldisc.open)
tty228drivers/char/tty_io.cretval = (tty->ldisc.open)(tty);
tty230drivers/char/tty_io.ctty->ldisc = o_ldisc;
tty231drivers/char/tty_io.ctty->termios->c_line = tty->ldisc.num;
tty232drivers/char/tty_io.cif (tty->ldisc.open && (tty->ldisc.open(tty) < 0)) {
tty233drivers/char/tty_io.ctty->ldisc = ldiscs[N_TTY];
tty234drivers/char/tty_io.ctty->termios->c_line = N_TTY;
tty235drivers/char/tty_io.cif (tty->ldisc.open) {
tty236drivers/char/tty_io.cint r = tty->ldisc.open(tty);
tty241drivers/char/tty_io.ctty_name(tty), r);
tty245drivers/char/tty_io.cif (tty->ldisc.num != o_ldisc.num && tty->driver.set_ldisc)
tty246drivers/char/tty_io.ctty->driver.set_ldisc(tty);
tty278drivers/char/tty_io.cint tty_check_change(struct tty_struct * tty)
tty280drivers/char/tty_io.cif (current->tty != tty)
tty282drivers/char/tty_io.cif (tty->pgrp <= 0) {
tty286drivers/char/tty_io.cif (current->pgrp == tty->pgrp)
tty350drivers/char/tty_io.cvoid do_tty_hangup(struct tty_struct * tty, struct file_operations *fops)
tty356drivers/char/tty_io.cif (!tty)
tty358drivers/char/tty_io.ccheck_tty_count(tty, "do_tty_hangup");
tty362drivers/char/tty_io.cif (filp->private_data != tty)
tty373drivers/char/tty_io.cif (tty->ldisc.flush_buffer)
tty374drivers/char/tty_io.ctty->ldisc.flush_buffer(tty);
tty375drivers/char/tty_io.cif (tty->driver.flush_buffer)
tty376drivers/char/tty_io.ctty->driver.flush_buffer(tty);
tty377drivers/char/tty_io.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) &&
tty378drivers/char/tty_io.ctty->ldisc.write_wakeup)
tty379drivers/char/tty_io.c(tty->ldisc.write_wakeup)(tty);
tty380drivers/char/tty_io.cwake_up_interruptible(&tty->write_wait);
tty381drivers/char/tty_io.cwake_up_interruptible(&tty->read_wait);
tty387drivers/char/tty_io.cif (tty->ldisc.num != ldiscs[N_TTY].num) {
tty388drivers/char/tty_io.cif (tty->ldisc.close)
tty389drivers/char/tty_io.c(tty->ldisc.close)(tty);
tty390drivers/char/tty_io.ctty->ldisc = ldiscs[N_TTY];
tty391drivers/char/tty_io.ctty->termios->c_line = N_TTY;
tty392drivers/char/tty_io.cif (tty->ldisc.open) {
tty393drivers/char/tty_io.ci = (tty->ldisc.open)(tty);
tty401drivers/char/tty_io.cif ((tty->session > 0) && (p->session == tty->session) &&
tty405drivers/char/tty_io.cif (tty->pgrp > 0)
tty406drivers/char/tty_io.cp->tty_old_pgrp = tty->pgrp;
tty408drivers/char/tty_io.cif (p->tty == tty)
tty409drivers/char/tty_io.cp->tty = NULL;
tty411drivers/char/tty_io.ctty->flags = 0;
tty412drivers/char/tty_io.ctty->session = 0;
tty413drivers/char/tty_io.ctty->pgrp = -1;
tty414drivers/char/tty_io.ctty->ctrl_status = 0;
tty415drivers/char/tty_io.cif (tty->driver.flags & TTY_DRIVER_RESET_TERMIOS)
tty416drivers/char/tty_io.c*tty->termios = tty->driver.init_termios;
tty417drivers/char/tty_io.cif (tty->driver.hangup)
tty418drivers/char/tty_io.c(tty->driver.hangup)(tty);
tty421drivers/char/tty_io.cvoid tty_hangup(struct tty_struct * tty)
tty424drivers/char/tty_io.cprintk("%s hangup...\n", tty_name(tty));
tty426drivers/char/tty_io.cdo_tty_hangup(tty, &hung_up_tty_fops);
tty429drivers/char/tty_io.cvoid tty_vhangup(struct tty_struct * tty)
tty432drivers/char/tty_io.cprintk("%s vhangup...\n", tty_name(tty));
tty434drivers/char/tty_io.cdo_tty_hangup(tty, &hung_up_tty_fops);
tty457drivers/char/tty_io.cstruct tty_struct *tty = current->tty;
tty460drivers/char/tty_io.cif (tty) {
tty462drivers/char/tty_io.ctty_vhangup(tty);
tty470drivers/char/tty_io.cif (tty->pgrp > 0) {
tty471drivers/char/tty_io.ckill_pg(tty->pgrp, SIGHUP, on_exit);
tty472drivers/char/tty_io.ckill_pg(tty->pgrp, SIGCONT, on_exit);
tty476drivers/char/tty_io.ctty->session = 0;
tty477drivers/char/tty_io.ctty->pgrp = -1;
tty481drivers/char/tty_io.cp->tty = NULL;
tty667drivers/char/tty_io.cvoid stop_tty(struct tty_struct *tty)
tty669drivers/char/tty_io.cif (tty->stopped)
tty671drivers/char/tty_io.ctty->stopped = 1;
tty672drivers/char/tty_io.cif (tty->link && tty->link->packet) {
tty673drivers/char/tty_io.ctty->ctrl_status &= ~TIOCPKT_START;
tty674drivers/char/tty_io.ctty->ctrl_status |= TIOCPKT_STOP;
tty675drivers/char/tty_io.cwake_up_interruptible(&tty->link->read_wait);
tty677drivers/char/tty_io.cif (tty->driver.stop)
tty678drivers/char/tty_io.c(tty->driver.stop)(tty);
tty681drivers/char/tty_io.cvoid start_tty(struct tty_struct *tty)
tty683drivers/char/tty_io.cif (!tty->stopped)
tty685drivers/char/tty_io.ctty->stopped = 0;
tty686drivers/char/tty_io.cif (tty->link && tty->link->packet) {
tty687drivers/char/tty_io.ctty->ctrl_status &= ~TIOCPKT_STOP;
tty688drivers/char/tty_io.ctty->ctrl_status |= TIOCPKT_START;
tty689drivers/char/tty_io.cwake_up_interruptible(&tty->link->read_wait);
tty691drivers/char/tty_io.cif (tty->driver.start)
tty692drivers/char/tty_io.c(tty->driver.start)(tty);
tty693drivers/char/tty_io.cif ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) &&
tty694drivers/char/tty_io.ctty->ldisc.write_wakeup)
tty695drivers/char/tty_io.c(tty->ldisc.write_wakeup)(tty);
tty696drivers/char/tty_io.cwake_up_interruptible(&tty->write_wait);
tty702drivers/char/tty_io.cstruct tty_struct * tty;
tty704drivers/char/tty_io.ctty = (struct tty_struct *)file->private_data;
tty705drivers/char/tty_io.cif (tty_paranoia_check(tty, inode->i_rdev, "tty_read"))
tty707drivers/char/tty_io.cif (!tty || (tty->flags & (1 << TTY_IO_ERROR)))
tty716drivers/char/tty_io.c(tty->pgrp > 0) &&
tty717drivers/char/tty_io.c(current->tty == tty) &&
tty718drivers/char/tty_io.c(tty->pgrp != current->pgrp))
tty726drivers/char/tty_io.cif (tty->ldisc.read)
tty728drivers/char/tty_io.ci = (tty->ldisc.read)(tty,file,(unsigned char *)buf,(unsigned int)count);
tty739drivers/char/tty_io.cstruct tty_struct * tty;
tty744drivers/char/tty_io.ctty = redirect;
tty746drivers/char/tty_io.ctty = (struct tty_struct *)file->private_data;
tty747drivers/char/tty_io.cif (tty_paranoia_check(tty, inode->i_rdev, "tty_write"))
tty749drivers/char/tty_io.cif (!tty || !tty->driver.write || (tty->flags & (1 << TTY_IO_ERROR)))
tty752drivers/char/tty_io.cif (!is_console && L_TOSTOP(tty) && (tty->pgrp > 0) &&
tty753drivers/char/tty_io.c(current->tty == tty) && (tty->pgrp != current->pgrp)) {
tty762drivers/char/tty_io.cif (tty->ldisc.write)
tty764drivers/char/tty_io.ci = (tty->ldisc.write)(tty,file,(const unsigned char *)buf,(unsigned int)count);
tty779drivers/char/tty_io.cstruct tty_struct *tty, **tty_loc, *o_tty, **o_tty_loc;
tty791drivers/char/tty_io.ctty = o_tty = NULL;
tty808drivers/char/tty_io.cif (!*tty_loc && !tty) {
tty809drivers/char/tty_io.cif (!(tty = (struct tty_struct*) get_free_page(GFP_KERNEL)))
tty811drivers/char/tty_io.cinitialize_tty_struct(tty);
tty812drivers/char/tty_io.ctty->device = device;
tty813drivers/char/tty_io.ctty->driver = *driver;
tty879drivers/char/tty_io.ctty->termios = *tp_loc;
tty880drivers/char/tty_io.ctty->termios_locked = *ltp_loc;
tty881drivers/char/tty_io.c*tty_loc = tty;
tty884drivers/char/tty_io.cif (tty->ldisc.open) {
tty885drivers/char/tty_io.cretval = (tty->ldisc.open)(tty);
tty888drivers/char/tty_io.ctty = NULL;
tty892drivers/char/tty_io.ctty = NULL;
tty935drivers/char/tty_io.cif (tty)
tty936drivers/char/tty_io.cfree_page((unsigned long) tty);
tty957drivers/char/tty_io.cstruct tty_struct *tty, *o_tty;
tty962drivers/char/tty_io.ctty = (struct tty_struct *)filp->private_data;
tty963drivers/char/tty_io.cif (tty_paranoia_check(tty, filp->f_inode->i_rdev, "release_dev"))
tty966drivers/char/tty_io.ccheck_tty_count(tty, "release_dev");
tty970drivers/char/tty_io.ctp = tty->termios;
tty971drivers/char/tty_io.cltp = tty->termios_locked;
tty973drivers/char/tty_io.cidx = MINOR(tty->device) - tty->driver.minor_start;
tty975drivers/char/tty_io.cif (idx < 0 || idx >= tty->driver.num) {
tty977drivers/char/tty_io.ckdevname(tty->device));
tty980drivers/char/tty_io.cif (tty != tty->driver.table[idx]) {
tty982drivers/char/tty_io.cidx, kdevname(tty->device));
tty985drivers/char/tty_io.cif (tp != tty->driver.termios[idx]) {
tty988drivers/char/tty_io.cidx, kdevname(tty->device));
tty991drivers/char/tty_io.cif (ltp != tty->driver.termios_locked[idx]) {
tty994drivers/char/tty_io.cidx, kdevname(tty->device));
tty1000drivers/char/tty_io.cprintk("release_dev of %s (tty count=%d)...", tty_name(tty),
tty1001drivers/char/tty_io.ctty->count);
tty1004drivers/char/tty_io.co_tty = tty->link;
tty1009drivers/char/tty_io.cif (tty->driver.other) {
tty1010drivers/char/tty_io.cif (o_tty != tty->driver.other->table[idx]) {
tty1013drivers/char/tty_io.cidx, kdevname(tty->device));
tty1016drivers/char/tty_io.cif (o_tp != tty->driver.other->termios[idx]) {
tty1019drivers/char/tty_io.cidx, kdevname(tty->device));
tty1022drivers/char/tty_io.cif (o_ltp != tty->driver.other->termios_locked[idx]) {
tty1025drivers/char/tty_io.cidx, kdevname(tty->device));
tty1029drivers/char/tty_io.cif (o_tty->link != tty) {
tty1036drivers/char/tty_io.cif (tty->driver.close)
tty1037drivers/char/tty_io.ctty->driver.close(tty, filp);
tty1038drivers/char/tty_io.cif (tty->driver.type == TTY_DRIVER_TYPE_PTY &&
tty1039drivers/char/tty_io.ctty->driver.subtype == PTY_TYPE_MASTER) {
tty1040drivers/char/tty_io.cif (--tty->link->count < 0) {
tty1042drivers/char/tty_io.ctty->count, tty_name(tty));
tty1043drivers/char/tty_io.ctty->link->count = 0;
tty1046drivers/char/tty_io.cif (--tty->count < 0) {
tty1048drivers/char/tty_io.ctty->count, tty_name(tty));
tty1049drivers/char/tty_io.ctty->count = 0;
tty1051drivers/char/tty_io.cif (tty->count)
tty1060drivers/char/tty_io.ctty->driver.other->table[idx] = NULL;
tty1061drivers/char/tty_io.ctty->driver.other->termios[idx] = NULL;
tty1068drivers/char/tty_io.ctty->flags |= (1 << TTY_CLOSING);
tty1077drivers/char/tty_io.cif ((*p)->tty == tty)
tty1078drivers/char/tty_io.c(*p)->tty = NULL;
tty1079drivers/char/tty_io.cif (o_tty && (*p)->tty == o_tty)
tty1080drivers/char/tty_io.c(*p)->tty = NULL;
tty1087drivers/char/tty_io.cif (tty->ldisc.close)
tty1088drivers/char/tty_io.c(tty->ldisc.close)(tty);
tty1089drivers/char/tty_io.ctty->ldisc = ldiscs[N_TTY];
tty1090drivers/char/tty_io.ctty->termios->c_line = N_TTY;
tty1097drivers/char/tty_io.ctty->driver.table[idx] = NULL;
tty1098drivers/char/tty_io.cif (tty->driver.flags & TTY_DRIVER_RESET_TERMIOS) {
tty1099drivers/char/tty_io.ctty->driver.termios[idx] = NULL;
tty1102drivers/char/tty_io.cif (tty == redirect || o_tty == redirect)
tty1109drivers/char/tty_io.cif (tty->flip.tqueue.sync) {
tty1113drivers/char/tty_io.cif (tq == &tty->flip.tqueue) {
tty1123drivers/char/tty_io.ctty->magic = 0;
tty1124drivers/char/tty_io.c(*tty->driver.refcount)--;
tty1125drivers/char/tty_io.cfree_page((unsigned long) tty);
tty1148drivers/char/tty_io.cstruct tty_struct *tty;
tty1157drivers/char/tty_io.cif (!current->tty)
tty1159drivers/char/tty_io.cdevice = current->tty->device;
tty1168drivers/char/tty_io.cretval = init_dev(device, &tty);
tty1171drivers/char/tty_io.cfilp->private_data = tty;
tty1172drivers/char/tty_io.ccheck_tty_count(tty, "tty_open");
tty1173drivers/char/tty_io.cif (tty->driver.type == TTY_DRIVER_TYPE_PTY &&
tty1174drivers/char/tty_io.ctty->driver.subtype == PTY_TYPE_MASTER)
tty1177drivers/char/tty_io.cprintk("opening %s...", tty_name(tty));
tty1179drivers/char/tty_io.cif (tty->driver.open)
tty1180drivers/char/tty_io.cretval = tty->driver.open(tty, filp);
tty1184drivers/char/tty_io.cif (!retval && test_bit(TTY_EXCLUSIVE, &tty->flags) && !suser())
tty1189drivers/char/tty_io.cprintk("error %d in opening %s...", retval, tty_name(tty));
tty1206drivers/char/tty_io.c!current->tty &&
tty1207drivers/char/tty_io.ctty->session == 0) {
tty1208drivers/char/tty_io.ccurrent->tty = tty;
tty1210drivers/char/tty_io.ctty->session = current->session;
tty1211drivers/char/tty_io.ctty->pgrp = current->pgrp;
tty1228drivers/char/tty_io.cstruct tty_struct * tty;
tty1230drivers/char/tty_io.ctty = (struct tty_struct *)filp->private_data;
tty1231drivers/char/tty_io.cif (tty_paranoia_check(tty, inode->i_rdev, "tty_select"))
tty1234drivers/char/tty_io.cif (tty->ldisc.select)
tty1235drivers/char/tty_io.creturn (tty->ldisc.select)(tty, inode, filp, sel_type, wait);
tty1281drivers/char/tty_io.cstruct tty_struct * tty;
tty1284drivers/char/tty_io.ctty = (struct tty_struct *)filp->private_data;
tty1285drivers/char/tty_io.cif (tty_paranoia_check(tty, inode->i_rdev, "tty_fasync"))
tty1288drivers/char/tty_io.cretval = fasync_helper(inode, filp, on, &tty->fasync);
tty1293drivers/char/tty_io.cif (!tty->read_wait)
tty1294drivers/char/tty_io.ctty->minimum_to_wake = 1;
tty1296drivers/char/tty_io.cif (tty->pgrp)
tty1297drivers/char/tty_io.cfilp->f_owner = -tty->pgrp;
tty1302drivers/char/tty_io.cif (!tty->fasync && !tty->read_wait)
tty1303drivers/char/tty_io.ctty->minimum_to_wake = N_TTY_BUF_SIZE;
tty1346drivers/char/tty_io.cstruct tty_struct * tty;
tty1353drivers/char/tty_io.ctty = (struct tty_struct *)file->private_data;
tty1354drivers/char/tty_io.cif (tty_paranoia_check(tty, inode->i_rdev, "tty_ioctl"))
tty1357drivers/char/tty_io.cif (tty->driver.type == TTY_DRIVER_TYPE_PTY &&
tty1358drivers/char/tty_io.ctty->driver.subtype == PTY_TYPE_MASTER)
tty1359drivers/char/tty_io.creal_tty = tty->link;
tty1361drivers/char/tty_io.creal_tty = tty;
tty1365drivers/char/tty_io.cif ((current->tty != tty) && !suser())
tty1371drivers/char/tty_io.ctty->ldisc.receive_buf(tty, &ch, &mbz, 1);
tty1378drivers/char/tty_io.cmemcpy_tofs((struct winsize *) arg, &tty->winsize,
tty1388drivers/char/tty_io.cif (memcmp(&tmp_ws, &tty->winsize,
tty1390drivers/char/tty_io.cif (tty->pgrp > 0)
tty1391drivers/char/tty_io.ckill_pg(tty->pgrp, SIGWINCH, 1);
tty1392drivers/char/tty_io.cif ((real_tty->pgrp != tty->pgrp) &&
tty1396drivers/char/tty_io.ctty->winsize = tmp_ws;
tty1400drivers/char/tty_io.cif (tty->driver.type == TTY_DRIVER_TYPE_CONSOLE) {
tty1421drivers/char/tty_io.cset_bit(TTY_EXCLUSIVE, &tty->flags);
tty1424drivers/char/tty_io.cclear_bit(TTY_EXCLUSIVE, &tty->flags);
tty1427drivers/char/tty_io.cif (current->tty != tty)
tty1431drivers/char/tty_io.ccurrent->tty = NULL;
tty1435drivers/char/tty_io.c(current->session == tty->session))
tty1441drivers/char/tty_io.cif (!current->leader || current->tty)
tty1443drivers/char/tty_io.cif (tty->session > 0) {
tty1455drivers/char/tty_io.cif (p->tty == tty)
tty1456drivers/char/tty_io.cp->tty = NULL;
tty1460drivers/char/tty_io.ccurrent->tty = tty;
tty1462drivers/char/tty_io.ctty->session = current->session;
tty1463drivers/char/tty_io.ctty->pgrp = current->pgrp;
tty1470drivers/char/tty_io.cif (tty == real_tty && current->tty != real_tty)
tty1482drivers/char/tty_io.cif (!current->tty ||
tty1483drivers/char/tty_io.c(current->tty != real_tty) ||
tty1498drivers/char/tty_io.cput_user(tty->ldisc.num, (int *) arg);
tty1501drivers/char/tty_io.cretval = tty_check_change(tty);
tty1505drivers/char/tty_io.creturn tty_set_ldisc(tty, arg);
tty1507drivers/char/tty_io.cif (tty->driver.type != TTY_DRIVER_TYPE_CONSOLE)
tty1509drivers/char/tty_io.cif (current->tty != tty && !suser())
tty1527drivers/char/tty_io.creturn set_selection(arg, tty);
tty1529drivers/char/tty_io.creturn paste_selection(tty);
tty1571drivers/char/tty_io.ctty, sizeof(struct tty_struct));
tty1574drivers/char/tty_io.cif (tty->driver.ioctl) {
tty1575drivers/char/tty_io.cretval = (tty->driver.ioctl)(tty, file,
tty1580drivers/char/tty_io.cif (tty->ldisc.ioctl) {
tty1581drivers/char/tty_io.cretval = (tty->ldisc.ioctl)(tty, file,
tty1603drivers/char/tty_io.cvoid do_SAK( struct tty_struct *tty)
tty1606drivers/char/tty_io.ctty_hangup(tty);
tty1613drivers/char/tty_io.cif (!tty)
tty1615drivers/char/tty_io.csession  = tty->session;
tty1616drivers/char/tty_io.cif (tty->ldisc.flush_buffer)
tty1617drivers/char/tty_io.ctty->ldisc.flush_buffer(tty);
tty1618drivers/char/tty_io.cif (tty->driver.flush_buffer)
tty1619drivers/char/tty_io.ctty->driver.flush_buffer(tty);
tty1623drivers/char/tty_io.cif (((*p)->tty == tty) ||
tty1630drivers/char/tty_io.c(filp->private_data == tty)) {
tty1646drivers/char/tty_io.cstruct tty_struct *tty = (struct tty_struct *) private_;
tty1651drivers/char/tty_io.cif (tty->flip.buf_num) {
tty1652drivers/char/tty_io.ccp = tty->flip.char_buf + TTY_FLIPBUF_SIZE;
tty1653drivers/char/tty_io.cfp = tty->flip.flag_buf + TTY_FLIPBUF_SIZE;
tty1654drivers/char/tty_io.ctty->flip.buf_num = 0;
tty1657drivers/char/tty_io.ctty->flip.char_buf_ptr = tty->flip.char_buf;
tty1658drivers/char/tty_io.ctty->flip.flag_buf_ptr = tty->flip.flag_buf;
tty1660drivers/char/tty_io.ccp = tty->flip.char_buf;
tty1661drivers/char/tty_io.cfp = tty->flip.flag_buf;
tty1662drivers/char/tty_io.ctty->flip.buf_num = 1;
tty1665drivers/char/tty_io.ctty->flip.char_buf_ptr = tty->flip.char_buf + TTY_FLIPBUF_SIZE;
tty1666drivers/char/tty_io.ctty->flip.flag_buf_ptr = tty->flip.flag_buf + TTY_FLIPBUF_SIZE;
tty1668drivers/char/tty_io.ccount = tty->flip.count;
tty1669drivers/char/tty_io.ctty->flip.count = 0;
tty1673drivers/char/tty_io.cif (count > tty->max_flip_cnt)
tty1674drivers/char/tty_io.ctty->max_flip_cnt = count;
tty1676drivers/char/tty_io.ctty->ldisc.receive_buf(tty, cp, fp, count);
tty1682drivers/char/tty_io.cstatic void initialize_tty_struct(struct tty_struct *tty)
tty1684drivers/char/tty_io.cmemset(tty, 0, sizeof(struct tty_struct));
tty1685drivers/char/tty_io.ctty->magic = TTY_MAGIC;
tty1686drivers/char/tty_io.ctty->ldisc = ldiscs[N_TTY];
tty1687drivers/char/tty_io.ctty->pgrp = -1;
tty1688drivers/char/tty_io.ctty->flip.char_buf_ptr = tty->flip.char_buf;
tty1689drivers/char/tty_io.ctty->flip.flag_buf_ptr = tty->flip.flag_buf;
tty1690drivers/char/tty_io.ctty->flip.tqueue.routine = flush_to_ldisc;
tty1691drivers/char/tty_io.ctty->flip.tqueue.data = tty;
tty1697drivers/char/tty_io.cvoid tty_default_put_char(struct tty_struct *tty, unsigned char ch)
tty1699drivers/char/tty_io.ctty->driver.write(tty, 0, &ch, 1);
tty43drivers/char/tty_ioctl.cvoid tty_wait_until_sent(struct tty_struct * tty, int timeout)
tty48drivers/char/tty_ioctl.cprintk("%s wait until sent...\n", tty_name(tty));
tty50drivers/char/tty_ioctl.cif (!tty->driver.chars_in_buffer ||
tty51drivers/char/tty_ioctl.c!tty->driver.chars_in_buffer(tty))
tty53drivers/char/tty_ioctl.cadd_wait_queue(&tty->write_wait, &wait);
tty61drivers/char/tty_ioctl.cprintk("waiting %s...(%d)\n", tty_name(tty), tty->driver.chars_in_buffer(tty));
tty66drivers/char/tty_ioctl.cif (!tty->driver.chars_in_buffer(tty))
tty71drivers/char/tty_ioctl.cremove_wait_queue(&tty->write_wait, &wait);
tty97drivers/char/tty_ioctl.cstatic void change_termios(struct tty_struct * tty, struct termios * new_termios)
tty100drivers/char/tty_ioctl.cstruct termios old_termios = *tty->termios;
tty103drivers/char/tty_ioctl.c*tty->termios = *new_termios;
tty104drivers/char/tty_ioctl.cunset_locked_termios(tty->termios, &old_termios, tty->termios_locked);
tty105drivers/char/tty_ioctl.ccanon_change = (old_termios.c_lflag ^ tty->termios->c_lflag) & ICANON;
tty107drivers/char/tty_ioctl.cmemset(&tty->read_flags, 0, sizeof tty->read_flags);
tty108drivers/char/tty_ioctl.ctty->canon_head = tty->read_tail;
tty109drivers/char/tty_ioctl.ctty->canon_data = 0;
tty110drivers/char/tty_ioctl.ctty->erasing = 0;
tty113drivers/char/tty_ioctl.cif (canon_change && !L_ICANON(tty) && tty->read_cnt)
tty115drivers/char/tty_ioctl.cwake_up_interruptible(&tty->read_wait);
tty119drivers/char/tty_ioctl.cif (tty->link && tty->link->packet) {
tty123drivers/char/tty_ioctl.cint new_flow = (I_IXON(tty) &&
tty124drivers/char/tty_ioctl.cSTOP_CHAR(tty) == '\023' &&
tty125drivers/char/tty_ioctl.cSTART_CHAR(tty) == '\021');
tty127drivers/char/tty_ioctl.ctty->ctrl_status &= ~(TIOCPKT_DOSTOP | TIOCPKT_NOSTOP);
tty129drivers/char/tty_ioctl.ctty->ctrl_status |= TIOCPKT_DOSTOP;
tty131drivers/char/tty_ioctl.ctty->ctrl_status |= TIOCPKT_NOSTOP;
tty132drivers/char/tty_ioctl.cwake_up_interruptible(&tty->link->read_wait);
tty136drivers/char/tty_ioctl.cif (tty->driver.set_termios)
tty137drivers/char/tty_ioctl.c(*tty->driver.set_termios)(tty, &old_termios);
tty139drivers/char/tty_ioctl.cif (tty->ldisc.set_termios)
tty140drivers/char/tty_ioctl.c(*tty->ldisc.set_termios)(tty, &old_termios);
tty143drivers/char/tty_ioctl.cstatic int set_termios(struct tty_struct * tty, unsigned long arg, int opt)
tty148drivers/char/tty_ioctl.cretval = tty_check_change(tty);
tty157drivers/char/tty_ioctl.ctmp_termios = *tty->termios;
tty169drivers/char/tty_ioctl.cif ((opt & TERMIOS_FLUSH) && tty->ldisc.flush_buffer)
tty170drivers/char/tty_ioctl.ctty->ldisc.flush_buffer(tty);
tty173drivers/char/tty_ioctl.ctty_wait_until_sent(tty, 0);
tty175drivers/char/tty_ioctl.cchange_termios(tty, &tmp_termios);
tty179drivers/char/tty_ioctl.cstatic int get_termio(struct tty_struct * tty, struct termio * termio)
tty187drivers/char/tty_ioctl.ctrans_to_termio(tty->termios, &tmp_termio);
tty192drivers/char/tty_ioctl.cstatic unsigned long inq_canon(struct tty_struct * tty)
tty196drivers/char/tty_ioctl.cif (!tty->canon_data || !tty->read_buf)
tty198drivers/char/tty_ioctl.chead = tty->canon_head;
tty199drivers/char/tty_ioctl.ctail = tty->read_tail;
tty203drivers/char/tty_ioctl.cif (test_bit(tail, &tty->read_flags) &&
tty204drivers/char/tty_ioctl.ctty->read_buf[tail] == __DISABLED_CHAR)
tty217drivers/char/tty_ioctl.cstatic int get_sgflags(struct tty_struct * tty)
tty221drivers/char/tty_ioctl.cif (!(tty->termios->c_lflag & ICANON))
tty222drivers/char/tty_ioctl.cif (tty->termios->c_lflag & ISIG)
tty226drivers/char/tty_ioctl.cif (tty->termios->c_lflag & ECHO)
tty228drivers/char/tty_ioctl.cif (tty->termios->c_oflag & OPOST)
tty229drivers/char/tty_ioctl.cif (tty->termios->c_oflag & ONLCR)
tty234drivers/char/tty_ioctl.cstatic int get_sgttyb(struct tty_struct * tty, struct sgttyb * sgttyb)
tty244drivers/char/tty_ioctl.ctmp.sg_erase = tty->termios->c_cc[VERASE];
tty245drivers/char/tty_ioctl.ctmp.sg_kill = tty->termios->c_cc[VKILL];
tty246drivers/char/tty_ioctl.ctmp.sg_flags = get_sgflags(tty);
tty276drivers/char/tty_ioctl.cstatic int set_sgttyb(struct tty_struct * tty, struct sgttyb * sgttyb)
tty285drivers/char/tty_ioctl.cretval = tty_check_change(tty);
tty288drivers/char/tty_ioctl.ctermios =  *tty->termios;
tty293drivers/char/tty_ioctl.cchange_termios(tty, &termios);
tty299drivers/char/tty_ioctl.cstatic int get_tchars(struct tty_struct * tty, struct tchars * tchars)
tty307drivers/char/tty_ioctl.ctmp.t_intrc = tty->termios->c_cc[VINTR];
tty308drivers/char/tty_ioctl.ctmp.t_quitc = tty->termios->c_cc[VQUIT];
tty309drivers/char/tty_ioctl.ctmp.t_startc = tty->termios->c_cc[VSTART];
tty310drivers/char/tty_ioctl.ctmp.t_stopc = tty->termios->c_cc[VSTOP];
tty311drivers/char/tty_ioctl.ctmp.t_eofc = tty->termios->c_cc[VEOF];
tty312drivers/char/tty_ioctl.ctmp.t_brkc = tty->termios->c_cc[VEOL2];  /* what is brkc anyway? */
tty317drivers/char/tty_ioctl.cstatic int set_tchars(struct tty_struct * tty, struct tchars * tchars)
tty326drivers/char/tty_ioctl.ctty->termios->c_cc[VINTR] = tmp.t_intrc;
tty327drivers/char/tty_ioctl.ctty->termios->c_cc[VQUIT] = tmp.t_quitc;
tty328drivers/char/tty_ioctl.ctty->termios->c_cc[VSTART] = tmp.t_startc;
tty329drivers/char/tty_ioctl.ctty->termios->c_cc[VSTOP] = tmp.t_stopc;
tty330drivers/char/tty_ioctl.ctty->termios->c_cc[VEOF] = tmp.t_eofc;
tty331drivers/char/tty_ioctl.ctty->termios->c_cc[VEOL2] = tmp.t_brkc;  /* what is brkc anyway? */
tty337drivers/char/tty_ioctl.cstatic int get_ltchars(struct tty_struct * tty, struct ltchars * ltchars)
tty345drivers/char/tty_ioctl.ctmp.t_suspc = tty->termios->c_cc[VSUSP];
tty346drivers/char/tty_ioctl.ctmp.t_dsuspc = tty->termios->c_cc[VSUSP];  /* what is dsuspc anyway? */
tty347drivers/char/tty_ioctl.ctmp.t_rprntc = tty->termios->c_cc[VREPRINT];
tty348drivers/char/tty_ioctl.ctmp.t_flushc = tty->termios->c_cc[VEOL2];  /* what is flushc anyway? */
tty349drivers/char/tty_ioctl.ctmp.t_werasc = tty->termios->c_cc[VWERASE];
tty350drivers/char/tty_ioctl.ctmp.t_lnextc = tty->termios->c_cc[VLNEXT];
tty355drivers/char/tty_ioctl.cstatic int set_ltchars(struct tty_struct * tty, struct ltchars * ltchars)
tty364drivers/char/tty_ioctl.ctty->termios->c_cc[VSUSP] = tmp.t_suspc;
tty365drivers/char/tty_ioctl.ctty->termios->c_cc[VEOL2] = tmp.t_dsuspc;  /* what is dsuspc anyway? */
tty366drivers/char/tty_ioctl.ctty->termios->c_cc[VREPRINT] = tmp.t_rprntc;
tty367drivers/char/tty_ioctl.ctty->termios->c_cc[VEOL2] = tmp.t_flushc;  /* what is flushc anyway? */
tty368drivers/char/tty_ioctl.ctty->termios->c_cc[VWERASE] = tmp.t_werasc;
tty369drivers/char/tty_ioctl.ctty->termios->c_cc[VLNEXT] = tmp.t_lnextc;
tty374drivers/char/tty_ioctl.cint n_tty_ioctl(struct tty_struct * tty, struct file * file,
tty381drivers/char/tty_ioctl.cif (tty->driver.type == TTY_DRIVER_TYPE_PTY &&
tty382drivers/char/tty_ioctl.ctty->driver.subtype == PTY_TYPE_MASTER)
tty383drivers/char/tty_ioctl.creal_tty = tty->link;
tty385drivers/char/tty_ioctl.creal_tty = tty;
tty431drivers/char/tty_ioctl.cretval = tty_check_change(tty);
tty436drivers/char/tty_ioctl.cstop_tty(tty);
tty439drivers/char/tty_ioctl.cstart_tty(tty);
tty442drivers/char/tty_ioctl.cif (STOP_CHAR(tty) != __DISABLED_CHAR)
tty443drivers/char/tty_ioctl.ctty->driver.write(tty, 0,
tty444drivers/char/tty_ioctl.c&STOP_CHAR(tty), 1);
tty447drivers/char/tty_ioctl.cif (START_CHAR(tty) != __DISABLED_CHAR)
tty448drivers/char/tty_ioctl.ctty->driver.write(tty, 0,
tty449drivers/char/tty_ioctl.c&START_CHAR(tty), 1);
tty456drivers/char/tty_ioctl.cretval = tty_check_change(tty);
tty461drivers/char/tty_ioctl.cif (tty->ldisc.flush_buffer)
tty462drivers/char/tty_ioctl.ctty->ldisc.flush_buffer(tty);
tty465drivers/char/tty_ioctl.cif (tty->ldisc.flush_buffer)
tty466drivers/char/tty_ioctl.ctty->ldisc.flush_buffer(tty);
tty469drivers/char/tty_ioctl.cif (tty->driver.flush_buffer)
tty470drivers/char/tty_ioctl.ctty->driver.flush_buffer(tty);
tty481drivers/char/tty_ioctl.cif (tty->driver.chars_in_buffer)
tty482drivers/char/tty_ioctl.cput_user(tty->driver.chars_in_buffer(tty),
tty492drivers/char/tty_ioctl.cif (L_ICANON(tty))
tty493drivers/char/tty_ioctl.cput_fs_long(inq_canon(tty),
tty496drivers/char/tty_ioctl.cput_fs_long(tty->read_cnt,
tty520drivers/char/tty_ioctl.cif (tty->driver.type != TTY_DRIVER_TYPE_PTY ||
tty521drivers/char/tty_ioctl.ctty->driver.subtype != PTY_TYPE_MASTER)
tty528drivers/char/tty_ioctl.cif (!tty->packet) {
tty529drivers/char/tty_ioctl.ctty->packet = 1;
tty530drivers/char/tty_ioctl.ctty->link->ctrl_status = 0;
tty533drivers/char/tty_ioctl.ctty->packet = 0;
tty538drivers/char/tty_ioctl.cretval = tty_check_change(tty);
tty541drivers/char/tty_ioctl.ctty_wait_until_sent(tty, 0);
tty542drivers/char/tty_ioctl.cif (!tty->driver.ioctl)
tty544drivers/char/tty_ioctl.ctty->driver.ioctl(tty, file, cmd, arg);
tty122drivers/char/vt.cif ( p->tty && MAJOR(p->tty->device) == TTY_MAJOR &&
tty123drivers/char/vt.cMINOR(p->tty->device) <= MAX_NR_CONSOLES && MINOR(p->tty->device) )
tty185drivers/char/vt.cint vt_ioctl(struct tty_struct *tty, struct file * file,
tty192drivers/char/vt.cstruct vt_struct *vt = (struct vt_struct *)tty->driver_data;
tty204drivers/char/vt.cif (current->tty == tty || suser())
tty323drivers/char/vt.cif (tty->ldisc.flush_buffer)
tty324drivers/char/vt.ctty->ldisc.flush_buffer(tty);
tty237drivers/net/ppp.cstatic int ppp_tty_select (struct tty_struct *tty, struct inode *inode,
tty241drivers/net/ppp.cstatic int ppp_tty_room (struct tty_struct *tty);
tty242drivers/net/ppp.cstatic void ppp_tty_receive (struct tty_struct *tty, const u_char * cp,
tty244drivers/net/ppp.cstatic void ppp_tty_wakeup (struct tty_struct *tty);
tty255drivers/net/ppp.c#define tty2ppp(tty)  ((struct ppp *) (tty->disc_data))
tty257drivers/net/ppp.c#define ppp2tty(ppp)  ((struct tty_struct *) ppp->tty)
tty726drivers/net/ppp.cppp->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
tty768drivers/net/ppp.cstruct tty_struct *tty;
tty771drivers/net/ppp.ctty = ppp2tty (ppp);
tty776drivers/net/ppp.cif (tty != NULL && tty->disc_data == ppp)
tty777drivers/net/ppp.ctty->disc_data = NULL;  /* Break the tty->ppp link */
tty805drivers/net/ppp.cppp->tty   = NULL;
tty815drivers/net/ppp.cppp_tty_close (struct tty_struct *tty)
tty817drivers/net/ppp.cstruct ppp *ppp = tty2ppp (tty);
tty842drivers/net/ppp.cppp_tty_open (struct tty_struct *tty)
tty844drivers/net/ppp.cstruct ppp *ppp = tty2ppp (tty);
tty870drivers/net/ppp.cppp->tty       = tty;
tty871drivers/net/ppp.ctty->disc_data = ppp;
tty875drivers/net/ppp.cif (tty->ldisc.flush_buffer)
tty876drivers/net/ppp.ctty->ldisc.flush_buffer (tty);
tty878drivers/net/ppp.cif (tty->driver.flush_buffer)
tty879drivers/net/ppp.ctty->driver.flush_buffer (tty);
tty930drivers/net/ppp.cppp_tty_wakeup_code (struct ppp *ppp, struct tty_struct *tty,
tty948drivers/net/ppp.cactual = tty->driver.write (tty, 0,
tty971drivers/net/ppp.ctty->flags  &= ~(1 << TTY_DO_WRITE_WAKEUP);
tty1024drivers/net/ppp.cppp_tty_wakeup (struct tty_struct *tty)
tty1027drivers/net/ppp.cstruct ppp *ppp = tty2ppp (tty);
tty1040drivers/net/ppp.ctty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
tty1042drivers/net/ppp.cppp_tty_wakeup_code (ppp, tty, xbuf);
tty1081drivers/net/ppp.cppp->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
tty1105drivers/net/ppp.cppp_tty_room (struct tty_struct *tty)
tty1115drivers/net/ppp.cppp_tty_receive (struct tty_struct *tty, const u_char * data,
tty1118drivers/net/ppp.cregister struct ppp *ppp = tty2ppp (tty);
tty1405drivers/net/ppp.cif (ppp->tty->fasync != NULL)
tty1406drivers/net/ppp.ckill_fasync (ppp->tty->fasync, SIGIO);
tty1772drivers/net/ppp.cppp_tty_read (struct tty_struct *tty, struct file *file, u_char * buf,
tty1775drivers/net/ppp.cstruct ppp *ppp = tty2ppp (tty);
tty1804drivers/net/ppp.cppp = tty2ppp (tty);
tty2162drivers/net/ppp.cppp_tty_write (struct tty_struct *tty, struct file *file, const u_char * data,
tty2165drivers/net/ppp.cstruct ppp *ppp = tty2ppp (tty);
tty2208drivers/net/ppp.cppp = tty2ppp (tty);
tty2326drivers/net/ppp.cppp_tty_ioctl (struct tty_struct *tty, struct file *file, unsigned int param2,
tty2329drivers/net/ppp.cstruct ppp *ppp = tty2ppp (tty);
tty2597drivers/net/ppp.cerror = n_tty_ioctl (tty, file, param2, param3);
tty2622drivers/net/ppp.cppp_tty_select (struct tty_struct *tty, struct inode *inode,
tty2625drivers/net/ppp.cstruct ppp *ppp = tty2ppp (tty);
tty2656drivers/net/ppp.cif (tty->flags & (1 << TTY_SLAVE_CLOSED))
tty2894drivers/net/ppp.cstruct tty_struct *tty = ppp2tty (ppp);
tty2903drivers/net/ppp.cif (tty == NULL) {
tty3021drivers/net/ppp.cstruct tty_struct *tty = ppp2tty (ppp);
tty3026drivers/net/ppp.cif (tty == NULL) {
tty3120drivers/net/ppp.cstruct tty_struct *tty = ppp2tty (ppp);
tty3146drivers/net/ppp.cif (tty == NULL) {
tty3342drivers/net/ppp.cppp->tty       = NULL;
tty3555drivers/net/ppp.cif (ppp->inuse && ppp->tty != NULL) {
tty140drivers/net/slip.cslp->ctrl.tty         = NULL;
tty438drivers/net/slip.csl->tty->flags |= (1 << TTY_DO_WRITE_WAKEUP);
tty439drivers/net/slip.cactual = sl->tty->driver.write(sl->tty, 0, sl->xbuff, count);
tty451drivers/net/slip.cstatic void slip_write_wakeup(struct tty_struct *tty)
tty454drivers/net/slip.cstruct slip *sl = (struct slip *) tty->disc_data;
tty465drivers/net/slip.ctty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
tty471drivers/net/slip.cactual = tty->driver.write(tty, 0, sl->xhead, sl->xleft);
tty506drivers/net/slip.c(sl->tty->driver.chars_in_buffer(sl->tty) || sl->xleft) ?
tty509drivers/net/slip.csl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
tty571drivers/net/slip.cif (sl->tty == NULL) {
tty654drivers/net/slip.cif (sl->tty == NULL) {
tty657drivers/net/slip.csl->tty->flags &= ~(1 << TTY_DO_WRITE_WAKEUP);
tty667drivers/net/slip.cslip_receive_room(struct tty_struct *tty)
tty679drivers/net/slip.cslip_receive_buf(struct tty_struct *tty, const unsigned char *cp, char *fp, int count)
tty681drivers/net/slip.cstruct slip *sl = (struct slip *) tty->disc_data;
tty724drivers/net/slip.cslip_open(struct tty_struct *tty)
tty726drivers/net/slip.cstruct slip *sl = (struct slip *) tty->disc_data;
tty739drivers/net/slip.csl->tty = tty;
tty740drivers/net/slip.ctty->disc_data = sl;
tty741drivers/net/slip.cif (tty->driver.flush_buffer)  {
tty742drivers/net/slip.ctty->driver.flush_buffer(tty);
tty744drivers/net/slip.cif (tty->ldisc.flush_buffer)  {
tty745drivers/net/slip.ctty->ldisc.flush_buffer(tty);
tty775drivers/net/slip.cslip_close(struct tty_struct *tty)
tty777drivers/net/slip.cstruct slip *sl = (struct slip *) tty->disc_data;
tty786drivers/net/slip.ctty->disc_data = 0;
tty787drivers/net/slip.csl->tty = NULL;
tty1010drivers/net/slip.cslip_ioctl(struct tty_struct *tty, void *file, int cmd, void *arg)
tty1012drivers/net/slip.cstruct slip *sl = (struct slip *) tty->disc_data;
tty1092drivers/net/slip.creturn n_tty_ioctl(tty, (struct file *) file, cmd, (unsigned long) arg);
tty1102drivers/net/slip.cif(sl->tty==NULL)
tty50drivers/net/slip.hstruct tty_struct  *tty;    /* ptr to TTY structure    */
tty592fs/open.cif (current->tty)
tty593fs/open.ctty_vhangup(current->tty);
tty489fs/proc/array.cif (tsk->tty)
tty490fs/proc/array.ctty_pgrp = tsk->tty->pgrp;
tty510fs/proc/array.ctsk->tty ? kdev_t_to_nr(tsk->tty->device) : 0,
tty79include/linux/cyclades.hstruct tty_struct   *tty;
tty112include/linux/if_pppvar.hstruct tty_struct  *tty;    /* ptr to TTY structure  */
tty229include/linux/scc.hstruct tty_struct *tty; /* link to tty control structure */
tty214include/linux/sched.hstruct tty_struct *tty; /* NULL if no tty */
tty121include/linux/serial.hstruct tty_struct   *tty;
tty105include/linux/tty.h#define INTR_CHAR(tty) ((tty)->termios->c_cc[VINTR])
tty106include/linux/tty.h#define QUIT_CHAR(tty) ((tty)->termios->c_cc[VQUIT])
tty107include/linux/tty.h#define ERASE_CHAR(tty) ((tty)->termios->c_cc[VERASE])
tty108include/linux/tty.h#define KILL_CHAR(tty) ((tty)->termios->c_cc[VKILL])
tty109include/linux/tty.h#define EOF_CHAR(tty) ((tty)->termios->c_cc[VEOF])
tty110include/linux/tty.h#define TIME_CHAR(tty) ((tty)->termios->c_cc[VTIME])
tty111include/linux/tty.h#define MIN_CHAR(tty) ((tty)->termios->c_cc[VMIN])
tty112include/linux/tty.h#define SWTC_CHAR(tty) ((tty)->termios->c_cc[VSWTC])
tty113include/linux/tty.h#define START_CHAR(tty) ((tty)->termios->c_cc[VSTART])
tty114include/linux/tty.h#define STOP_CHAR(tty) ((tty)->termios->c_cc[VSTOP])
tty115include/linux/tty.h#define SUSP_CHAR(tty) ((tty)->termios->c_cc[VSUSP])
tty116include/linux/tty.h#define EOL_CHAR(tty) ((tty)->termios->c_cc[VEOL])
tty117include/linux/tty.h#define REPRINT_CHAR(tty) ((tty)->termios->c_cc[VREPRINT])
tty118include/linux/tty.h#define DISCARD_CHAR(tty) ((tty)->termios->c_cc[VDISCARD])
tty119include/linux/tty.h#define WERASE_CHAR(tty) ((tty)->termios->c_cc[VWERASE])
tty120include/linux/tty.h#define LNEXT_CHAR(tty)  ((tty)->termios->c_cc[VLNEXT])
tty121include/linux/tty.h#define EOL2_CHAR(tty) ((tty)->termios->c_cc[VEOL2])
tty123include/linux/tty.h#define _I_FLAG(tty,f)  ((tty)->termios->c_iflag & (f))
tty124include/linux/tty.h#define _O_FLAG(tty,f)  ((tty)->termios->c_oflag & (f))
tty125include/linux/tty.h#define _C_FLAG(tty,f)  ((tty)->termios->c_cflag & (f))
tty126include/linux/tty.h#define _L_FLAG(tty,f)  ((tty)->termios->c_lflag & (f))
tty128include/linux/tty.h#define I_IGNBRK(tty)  _I_FLAG((tty),IGNBRK)
tty129include/linux/tty.h#define I_BRKINT(tty)  _I_FLAG((tty),BRKINT)
tty130include/linux/tty.h#define I_IGNPAR(tty)  _I_FLAG((tty),IGNPAR)
tty131include/linux/tty.h#define I_PARMRK(tty)  _I_FLAG((tty),PARMRK)
tty132include/linux/tty.h#define I_INPCK(tty)  _I_FLAG((tty),INPCK)
tty133include/linux/tty.h#define I_ISTRIP(tty)  _I_FLAG((tty),ISTRIP)
tty134include/linux/tty.h#define I_INLCR(tty)  _I_FLAG((tty),INLCR)
tty135include/linux/tty.h#define I_IGNCR(tty)  _I_FLAG((tty),IGNCR)
tty136include/linux/tty.h#define I_ICRNL(tty)  _I_FLAG((tty),ICRNL)
tty137include/linux/tty.h#define I_IUCLC(tty)  _I_FLAG((tty),IUCLC)
tty138include/linux/tty.h#define I_IXON(tty)  _I_FLAG((tty),IXON)
tty139include/linux/tty.h#define I_IXANY(tty)  _I_FLAG((tty),IXANY)
tty140include/linux/tty.h#define I_IXOFF(tty)  _I_FLAG((tty),IXOFF)
tty141include/linux/tty.h#define I_IMAXBEL(tty)  _I_FLAG((tty),IMAXBEL)
tty143include/linux/tty.h#define O_OPOST(tty)  _O_FLAG((tty),OPOST)
tty144include/linux/tty.h#define O_OLCUC(tty)  _O_FLAG((tty),OLCUC)
tty145include/linux/tty.h#define O_ONLCR(tty)  _O_FLAG((tty),ONLCR)
tty146include/linux/tty.h#define O_OCRNL(tty)  _O_FLAG((tty),OCRNL)
tty147include/linux/tty.h#define O_ONOCR(tty)  _O_FLAG((tty),ONOCR)
tty148include/linux/tty.h#define O_ONLRET(tty)  _O_FLAG((tty),ONLRET)
tty149include/linux/tty.h#define O_OFILL(tty)  _O_FLAG((tty),OFILL)
tty150include/linux/tty.h#define O_OFDEL(tty)  _O_FLAG((tty),OFDEL)
tty151include/linux/tty.h#define O_NLDLY(tty)  _O_FLAG((tty),NLDLY)
tty152include/linux/tty.h#define O_CRDLY(tty)  _O_FLAG((tty),CRDLY)
tty153include/linux/tty.h#define O_TABDLY(tty)  _O_FLAG((tty),TABDLY)
tty154include/linux/tty.h#define O_BSDLY(tty)  _O_FLAG((tty),BSDLY)
tty155include/linux/tty.h#define O_VTDLY(tty)  _O_FLAG((tty),VTDLY)
tty156include/linux/tty.h#define O_FFDLY(tty)  _O_FLAG((tty),FFDLY)
tty158include/linux/tty.h#define C_BAUD(tty)  _C_FLAG((tty),CBAUD)
tty159include/linux/tty.h#define C_CSIZE(tty)  _C_FLAG((tty),CSIZE)
tty160include/linux/tty.h#define C_CSTOPB(tty)  _C_FLAG((tty),CSTOPB)
tty161include/linux/tty.h#define C_CREAD(tty)  _C_FLAG((tty),CREAD)
tty162include/linux/tty.h#define C_PARENB(tty)  _C_FLAG((tty),PARENB)
tty163include/linux/tty.h#define C_PARODD(tty)  _C_FLAG((tty),PARODD)
tty164include/linux/tty.h#define C_HUPCL(tty)  _C_FLAG((tty),HUPCL)
tty165include/linux/tty.h#define C_CLOCAL(tty)  _C_FLAG((tty),CLOCAL)
tty166include/linux/tty.h#define C_CIBAUD(tty)  _C_FLAG((tty),CIBAUD)
tty167include/linux/tty.h#define C_CRTSCTS(tty)  _C_FLAG((tty),CRTSCTS)
tty169include/linux/tty.h#define L_ISIG(tty)  _L_FLAG((tty),ISIG)
tty170include/linux/tty.h#define L_ICANON(tty)  _L_FLAG((tty),ICANON)
tty171include/linux/tty.h#define L_XCASE(tty)  _L_FLAG((tty),XCASE)
tty172include/linux/tty.h#define L_ECHO(tty)  _L_FLAG((tty),ECHO)
tty173include/linux/tty.h#define L_ECHOE(tty)  _L_FLAG((tty),ECHOE)
tty174include/linux/tty.h#define L_ECHOK(tty)  _L_FLAG((tty),ECHOK)
tty175include/linux/tty.h#define L_ECHONL(tty)  _L_FLAG((tty),ECHONL)
tty176include/linux/tty.h#define L_NOFLSH(tty)  _L_FLAG((tty),NOFLSH)
tty177include/linux/tty.h#define L_TOSTOP(tty)  _L_FLAG((tty),TOSTOP)
tty178include/linux/tty.h#define L_ECHOCTL(tty)  _L_FLAG((tty),ECHOCTL)
tty179include/linux/tty.h#define L_ECHOPRT(tty)  _L_FLAG((tty),ECHOPRT)
tty180include/linux/tty.h#define L_ECHOKE(tty)  _L_FLAG((tty),ECHOKE)
tty181include/linux/tty.h#define L_FLUSHO(tty)  _L_FLAG((tty),FLUSHO)
tty182include/linux/tty.h#define L_PENDIN(tty)  _L_FLAG((tty),PENDIN)
tty183include/linux/tty.h#define L_IEXTEN(tty)  _L_FLAG((tty),IEXTEN)
tty265include/linux/tty.h#define TTY_WRITE_FLUSH(tty) tty_write_flush((tty))
tty287include/linux/tty.hextern int tty_paranoia_check(struct tty_struct *tty, kdev_t device,
tty289include/linux/tty.hextern char *_tty_name(struct tty_struct *tty, char *buf);
tty290include/linux/tty.hextern char *tty_name(struct tty_struct *tty);
tty291include/linux/tty.hextern void tty_wait_until_sent(struct tty_struct * tty, int timeout);
tty292include/linux/tty.hextern int tty_check_change(struct tty_struct * tty);
tty293include/linux/tty.hextern void stop_tty(struct tty_struct * tty);
tty294include/linux/tty.hextern void start_tty(struct tty_struct * tty);
tty298include/linux/tty.hextern int tty_read_raw_data(struct tty_struct *tty, unsigned char *bufp,
tty303include/linux/tty.hextern int tty_signal(int sig, struct tty_struct *tty);
tty304include/linux/tty.hextern void tty_hangup(struct tty_struct * tty);
tty305include/linux/tty.hextern void tty_vhangup(struct tty_struct * tty);
tty308include/linux/tty.hextern void do_SAK(struct tty_struct *tty);
tty315include/linux/tty.hextern int n_tty_ioctl(struct tty_struct * tty, struct file * file,
tty320include/linux/tty.hextern int  rs_open(struct tty_struct * tty, struct file * filp);
tty324include/linux/tty.hextern int  pty_open(struct tty_struct * tty, struct file * filp);
tty328include/linux/tty.hextern int con_open(struct tty_struct * tty, struct file * filp);
tty334include/linux/tty.hextern int vt_ioctl(struct tty_struct *tty, struct file * file,
tty124include/linux/tty_driver.hint  (*open)(struct tty_struct * tty, struct file * filp);
tty125include/linux/tty_driver.hvoid (*close)(struct tty_struct * tty, struct file * filp);
tty126include/linux/tty_driver.hint  (*write)(struct tty_struct * tty, int from_user,
tty128include/linux/tty_driver.hvoid (*put_char)(struct tty_struct *tty, unsigned char ch);
tty129include/linux/tty_driver.hvoid (*flush_chars)(struct tty_struct *tty);
tty130include/linux/tty_driver.hint  (*write_room)(struct tty_struct *tty);
tty131include/linux/tty_driver.hint  (*chars_in_buffer)(struct tty_struct *tty);
tty132include/linux/tty_driver.hint  (*ioctl)(struct tty_struct *tty, struct file * file,
tty134include/linux/tty_driver.hvoid (*set_termios)(struct tty_struct *tty, struct termios * old);
tty135include/linux/tty_driver.hvoid (*throttle)(struct tty_struct * tty);
tty136include/linux/tty_driver.hvoid (*unthrottle)(struct tty_struct * tty);
tty137include/linux/tty_driver.hvoid (*stop)(struct tty_struct *tty);
tty138include/linux/tty_driver.hvoid (*start)(struct tty_struct *tty);
tty139include/linux/tty_driver.hvoid (*hangup)(struct tty_struct *tty);
tty140include/linux/tty_driver.hvoid (*flush_buffer)(struct tty_struct *tty);
tty141include/linux/tty_driver.hvoid (*set_ldisc)(struct tty_struct *tty);
tty10include/linux/tty_flip.h_INLINE_ void tty_insert_flip_char(struct tty_struct *tty,
tty13include/linux/tty_flip.hif (tty->flip.count++ >= TTY_FLIPBUF_SIZE)
tty15include/linux/tty_flip.h*tty->flip.flag_buf_ptr++ = flag;
tty16include/linux/tty_flip.h*tty->flip.char_buf_ptr++ = ch;
tty19include/linux/tty_flip.h_INLINE_ void tty_schedule_flip(struct tty_struct *tty)
tty21include/linux/tty_flip.hqueue_task(&tty->flip.tqueue, &tq_timer);
tty20include/linux/tty_ldisc.hvoid  (*flush_buffer)(struct tty_struct *tty);
tty21include/linux/tty_ldisc.hint  (*chars_in_buffer)(struct tty_struct *tty);
tty22include/linux/tty_ldisc.hint  (*read)(struct tty_struct * tty, struct file * file,
tty24include/linux/tty_ldisc.hint  (*write)(struct tty_struct * tty, struct file * file,
tty26include/linux/tty_ldisc.hint  (*ioctl)(struct tty_struct * tty, struct file * file,
tty28include/linux/tty_ldisc.hvoid  (*set_termios)(struct tty_struct *tty, struct termios * old);
tty29include/linux/tty_ldisc.hint  (*select)(struct tty_struct * tty, struct inode * inode,
tty567kernel/sys.ccurrent->tty = NULL;