710.html
来自「linux 0.11中文版 有注释」· HTML 代码 · 共 170 行 · 第 1/2 页
HTML
170 行
<html>
<head>
<title>tty</title>
<meta name='robots' content='noindex,nofollow'>
<meta name='generator' content='GLOBAL-5.4.1'>
</head>
<body text='#191970' bgcolor='#f5f5dc' vlink='gray'>
<pre>
<a href='../S/15.html#L254'>tty</a> 254 fs/open.c if (current->leader && current->tty < 0)
<a href='../S/15.html#L256'>tty</a> 256 fs/open.c current->tty = MINOR (inode->i_zone[0]);
<a href='../S/15.html#L257'>tty</a> 257 fs/open.c tty_table[current->tty].pgrp = current->pgrp;
<a href='../S/15.html#L263'>tty</a> 263 fs/open.c if (current->tty < 0)
<a href='../S/36.html#L155'>tty</a> 155 include/linux/sched.h int tty; /* -1 if no tty, so it must be signed */
<a href='../S/38.html#L56'>tty</a> 56 include/linux/tty.h #define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR]) // 中断符。
<a href='../S/38.html#L57'>tty</a> 57 include/linux/tty.h #define QUIT_CHAR(tty) ((tty)->termios.c_cc[VQUIT]) // 退出符。
<a href='../S/38.html#L58'>tty</a> 58 include/linux/tty.h #define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE]) // 削除符。
<a href='../S/38.html#L59'>tty</a> 59 include/linux/tty.h #define KILL_CHAR(tty) ((tty)->termios.c_cc[VKILL]) // 终止符。
<a href='../S/38.html#L60'>tty</a> 60 include/linux/tty.h #define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF]) // 文件结束符。
<a href='../S/38.html#L61'>tty</a> 61 include/linux/tty.h #define START_CHAR(tty) ((tty)->termios.c_cc[VSTART]) // 开始符。
<a href='../S/38.html#L62'>tty</a> 62 include/linux/tty.h #define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP]) // 结束符。
<a href='../S/38.html#L63'>tty</a> 63 include/linux/tty.h #define SUSPEND_CHAR(tty) ((tty)->termios.c_cc[VSUSP]) // 挂起符。
<a href='../S/38.html#L71'>tty</a> 71 include/linux/tty.h void (*write) (struct tty_struct * tty); // tty 写函数指针。
<a href='../S/60.html#L444'>tty</a> 444 kernel/chr_drv/console.c PUTCH (*p, tty->read_q);
<a href='../S/60.html#L448'>tty</a> 448 kernel/chr_drv/console.c copy_to_cooked (tty); // 转换成规范模式(放入辅助队列中)。
<a href='../S/60.html#L611'>tty</a> 611 kernel/chr_drv/console.c nr = CHARS (tty->write_q);
<a href='../S/60.html#L620'>tty</a> 620 kernel/chr_drv/console.c GETCH (tty->write_q, c);
<a href='../S/60.html#L649'>tty</a> 649 kernel/chr_drv/console.c else if (c == ERASE_CHAR (tty))
<a href='../S/60.html#L696'>tty</a> 696 kernel/chr_drv/console.c respond (tty);
<a href='../S/64.html#L85'>tty</a> 85 kernel/chr_drv/serial.c if (!EMPTY (tty->write_q))
<a href='../S/64.html#L86'>tty</a> 86 kernel/chr_drv/serial.c outb (inb_p (tty->write_q.data + 1) | 0x02, tty->write_q.data + 1);
<a href='../S/65.html#L36'>tty</a> 36 kernel/chr_drv/tty_io.c #define _L_FLAG(tty,f) ((tty)->termios.c_lflag & f) // 取termios 结构中的本地模式标志。
<a href='../S/65.html#L37'>tty</a> 37 kernel/chr_drv/tty_io.c #define _I_FLAG(tty,f) ((tty)->termios.c_iflag & f) // 取termios 结构中的输入模式标志。
<a href='../S/65.html#L38'>tty</a> 38 kernel/chr_drv/tty_io.c #define _O_FLAG(tty,f) ((tty)->termios.c_oflag & f) // 取termios 结构中的输出模式标志。
<a href='../S/65.html#L41'>tty</a> 41 kernel/chr_drv/tty_io.c #define L_CANON(tty) _L_FLAG((tty),ICANON) // 取本地模式标志集中规范(熟)模式标志位。
<a href='../S/65.html#L42'>tty</a> 42 kernel/chr_drv/tty_io.c #define L_ISIG(tty) _L_FLAG((tty),ISIG) // 取信号标志位。
<a href='../S/65.html#L43'>tty</a> 43 kernel/chr_drv/tty_io.c #define L_ECHO(tty) _L_FLAG((tty),ECHO) // 取回显字符标志位。
<a href='../S/65.html#L44'>tty</a> 44 kernel/chr_drv/tty_io.c #define L_ECHOE(tty) _L_FLAG((tty),ECHOE) // 规范模式时,取回显擦出标志位。
<a href='../S/65.html#L45'>tty</a> 45 kernel/chr_drv/tty_io.c #define L_ECHOK(tty) _L_FLAG((tty),ECHOK) // 规范模式时,取KILL 擦除当前行标志位。
<a href='../S/65.html#L46'>tty</a> 46 kernel/chr_drv/tty_io.c #define L_ECHOCTL(tty) _L_FLAG((tty),ECHOCTL) // 取回显控制字符标志位。
<a href='../S/65.html#L47'>tty</a> 47 kernel/chr_drv/tty_io.c #define L_ECHOKE(tty) _L_FLAG((tty),ECHOKE) // 规范模式时,取KILL 擦除行并回显标志位。
<a href='../S/65.html#L50'>tty</a> 50 kernel/chr_drv/tty_io.c #define I_UCLC(tty) _I_FLAG((tty),IUCLC) // 取输入模式标志集中大写到小写转换标志位。
<a href='../S/65.html#L51'>tty</a> 51 kernel/chr_drv/tty_io.c #define I_NLCR(tty) _I_FLAG((tty),INLCR) // 取换行符NL 转回车符CR 标志位。
<a href='../S/65.html#L52'>tty</a> 52 kernel/chr_drv/tty_io.c #define I_CRNL(tty) _I_FLAG((tty),ICRNL) // 取回车符CR 转换行符NL 标志位。
<a href='../S/65.html#L53'>tty</a> 53 kernel/chr_drv/tty_io.c #define I_NOCR(tty) _I_FLAG((tty),IGNCR) // 取忽略回车符CR 标志位。
<a href='../S/65.html#L56'>tty</a> 56 kernel/chr_drv/tty_io.c #define O_POST(tty) _O_FLAG((tty),OPOST) // 取输出模式标志集中执行输出处理标志。
<a href='../S/65.html#L57'>tty</a> 57 kernel/chr_drv/tty_io.c #define O_NLCR(tty) _O_FLAG((tty),ONLCR) // 取换行符NL 转回车换行符CR-NL 标志。
<a href='../S/65.html#L58'>tty</a> 58 kernel/chr_drv/tty_io.c #define O_CRNL(tty) _O_FLAG((tty),OCRNL) // 取回车符CR 转换行符NL 标志。
<a href='../S/65.html#L59'>tty</a> 59 kernel/chr_drv/tty_io.c #define O_NLRET(tty) _O_FLAG((tty),ONLRET) // 取换行符NL 执行回车功能的标志。
<a href='../S/65.html#L60'>tty</a> 60 kernel/chr_drv/tty_io.c #define O_LCUC(tty) _O_FLAG((tty),OLCUC) // 取小写转大写字符标志。
<a href='../S/65.html#L140'>tty</a> 140 kernel/chr_drv/tty_io.c if (tty->pgrp <= 0)
<a href='../S/65.html#L145'>tty</a> 145 kernel/chr_drv/tty_io.c if (task[i] && task[i]->pgrp == tty->pgrp)
<a href='../S/65.html#L197'>tty</a> 197 kernel/chr_drv/tty_io.c while (!EMPTY (tty->read_q) && !FULL (tty->secondary))
<a href='../S/65.html#L200'>tty</a> 200 kernel/chr_drv/tty_io.c GETCH (tty->read_q, c);
<a href='../S/65.html#L205'>tty</a> 205 kernel/chr_drv/tty_io.c if (I_CRNL (tty))
<a href='../S/65.html#L207'>tty</a> 207 kernel/chr_drv/tty_io.c else if (I_NOCR (tty))
<a href='../S/65.html#L211'>tty</a> 211 kernel/chr_drv/tty_io.c else if (c == 10 && I_NLCR (tty))
<a href='../S/65.html#L214'>tty</a> 214 kernel/chr_drv/tty_io.c if (I_UCLC (tty))
<a href='../S/65.html#L217'>tty</a> 217 kernel/chr_drv/tty_io.c if (L_CANON (tty))
<a href='../S/65.html#L220'>tty</a> 220 kernel/chr_drv/tty_io.c if (c == KILL_CHAR (tty))
<a href='../S/65.html#L225'>tty</a> 225 kernel/chr_drv/tty_io.c while (!(EMPTY (tty->secondary) ||
<a href='../S/65.html#L226'>tty</a> 226 kernel/chr_drv/tty_io.c (c = LAST (tty->secondary)) == 10 ||
<a href='../S/65.html#L227'>tty</a> 227 kernel/chr_drv/tty_io.c c == EOF_CHAR (tty)))
<a href='../S/65.html#L231'>tty</a> 231 kernel/chr_drv/tty_io.c if (L_ECHO (tty))
<a href='../S/65.html#L234'>tty</a> 234 kernel/chr_drv/tty_io.c PUTCH (127, tty->write_q);
<a href='../S/65.html#L235'>tty</a> 235 kernel/chr_drv/tty_io.c PUTCH (127, tty->write_q);
<a href='../S/65.html#L236'>tty</a> 236 kernel/chr_drv/tty_io.c tty->write (tty);
<a href='../S/65.html#L239'>tty</a> 239 kernel/chr_drv/tty_io.c DEC (tty->secondary.head);
<a href='../S/65.html#L244'>tty</a> 244 kernel/chr_drv/tty_io.c if (c == ERASE_CHAR (tty))
<a href='../S/65.html#L248'>tty</a> 248 kernel/chr_drv/tty_io.c if (EMPTY (tty->secondary) ||
<a href='../S/65.html#L249'>tty</a> 249 kernel/chr_drv/tty_io.c (c = LAST (tty->secondary)) == 10 || c == EOF_CHAR (tty))
<a href='../S/65.html#L253'>tty</a> 253 kernel/chr_drv/tty_io.c if (L_ECHO (tty))
<a href='../S/65.html#L256'>tty</a> 256 kernel/chr_drv/tty_io.c PUTCH (127, tty->write_q);
<a href='../S/65.html#L257'>tty</a> 257 kernel/chr_drv/tty_io.c PUTCH (127, tty->write_q);
<a href='../S/65.html#L258'>tty</a> 258 kernel/chr_drv/tty_io.c tty->write (tty);
<a href='../S/65.html#L261'>tty</a> 261 kernel/chr_drv/tty_io.c DEC (tty->secondary.head);
<a href='../S/65.html#L265'>tty</a> 265 kernel/chr_drv/tty_io.c if (c == STOP_CHAR (tty))
<a href='../S/65.html#L267'>tty</a> 267 kernel/chr_drv/tty_io.c tty->stopped = 1;
<a href='../S/65.html#L271'>tty</a> 271 kernel/chr_drv/tty_io.c if (c == START_CHAR (tty))
<a href='../S/65.html#L273'>tty</a> 273 kernel/chr_drv/tty_io.c tty->stopped = 0;
<a href='../S/65.html#L279'>tty</a> 279 kernel/chr_drv/tty_io.c if (L_ISIG (tty))
<a href='../S/65.html#L282'>tty</a> 282 kernel/chr_drv/tty_io.c if (c == INTR_CHAR (tty))
<a href='../S/65.html#L284'>tty</a> 284 kernel/chr_drv/tty_io.c tty_intr (tty, INTMASK);
<a href='../S/65.html#L288'>tty</a> 288 kernel/chr_drv/tty_io.c if (c == QUIT_CHAR (tty))
<a href='../S/65.html#L290'>tty</a> 290 kernel/chr_drv/tty_io.c tty_intr (tty, QUITMASK);
<a href='../S/65.html#L295'>tty</a> 295 kernel/chr_drv/tty_io.c if (c == 10 || c == EOF_CHAR (tty))
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?