Fork me on GitHub
tty               367 drivers/char/console.c 	vc->tty->pid = 0;
tty               371 drivers/char/console.c static void insert_seq(struct tty *tty, char *buf, int count)
tty               374 drivers/char/console.c 		tty_queue_putchar(tty, &tty->read_q, *(buf++));
tty               376 drivers/char/console.c 	tty->input(tty);
tty               432 drivers/char/console.c 				if(vc->tty->tab_stop[++vc->x]) {
tty               474 drivers/char/console.c void vconsole_reset(struct tty *tty)
tty               479 drivers/char/console.c 	vc = (struct vconsole *)tty->driver_data;
tty               498 drivers/char/console.c 			vc->tty->tab_stop[n] = 1;
tty               500 drivers/char/console.c 			vc->tty->tab_stop[n] = 0;
tty               504 drivers/char/console.c 	termios_reset(tty);
tty               505 drivers/char/console.c 	vc->tty->winsize.ws_row = vc->lines - vc->top;
tty               506 drivers/char/console.c 	vc->tty->winsize.ws_col = vc->columns;
tty               507 drivers/char/console.c 	vc->tty->winsize.ws_xpixel = 0;
tty               508 drivers/char/console.c 	vc->tty->winsize.ws_ypixel = 0;
tty               509 drivers/char/console.c 	vc->tty->lnext = 0;
tty               516 drivers/char/console.c void vconsole_write(struct tty *tty)
tty               523 drivers/char/console.c 	vc = (struct vconsole *)tty->driver_data;
tty               536 drivers/char/console.c 	while(!vc->scrlock && tty->write_q.count > 0) {
tty               537 drivers/char/console.c 		ch = tty_queue_getchar(&tty->write_q);
tty               615 drivers/char/console.c 								if(vc->tty->tab_stop[++vc->x]) {
tty               667 drivers/char/console.c 							insert_seq(tty, VT100ID, 7);
tty               679 drivers/char/console.c 								vc->tty->tab_stop[vc->x] = 0;
tty               684 drivers/char/console.c 									vc->tty->tab_stop[n] = 0;
tty               726 drivers/char/console.c 									insert_seq(tty, DEVICE_OK, 4);
tty               733 drivers/char/console.c 										insert_seq(tty, curpos, len);
tty               798 drivers/char/console.c 						vc->tty->tab_stop[vc->x] = 1;
tty               806 drivers/char/console.c 						insert_seq(tty, VT100ID, 7);
tty               810 drivers/char/console.c 						vconsole_reset(vc->tty);
tty               848 drivers/char/console.c 			if(!kill_pid(vc[current_cons].tty->pid, vc[current_cons].vt_mode.acqsig)) {
tty               865 drivers/char/console.c 			if(kill_pid(vc[new_cons].tty->pid, vc[new_cons].vt_mode.acqsig)) {
tty               901 drivers/char/console.c void vconsole_start(struct tty *tty)
tty               905 drivers/char/console.c 	vc = (struct vconsole *)tty->driver_data;
tty               914 drivers/char/console.c void vconsole_stop(struct tty *tty)
tty               918 drivers/char/console.c 	vc = (struct vconsole *)tty->driver_data;
tty               937 drivers/char/console.c void vconsole_deltab(struct tty *tty)
tty               945 drivers/char/console.c 	vc = (struct vconsole *)tty->driver_data;
tty               946 drivers/char/console.c 	cb = tty->cooked_q.head;
tty               954 drivers/char/console.c 					while(!vc->tty->tab_stop[++col]);
tty               957 drivers/char/console.c 					if(ISCNTRL(ch) && !ISSPACE(ch) && tty->termios.c_lflag & ECHOCTL) {
tty               969 drivers/char/console.c 		tty_queue_putchar(tty, &tty->write_q, '\b');
tty               976 drivers/char/console.c 	struct tty *tty;
tty               978 drivers/char/console.c 	if(!(tty = get_tty(_syscondev))) {
tty               980 drivers/char/console.c 		tty = get_tty(_syscondev);
tty               985 drivers/char/console.c 		if(tty_queue_putchar(tty, &tty->write_q, *b) < 0) {
tty               986 drivers/char/console.c 			tty->output(tty);
tty               992 drivers/char/console.c 	tty->output(tty);
tty               998 drivers/char/console.c 	struct tty *tty;
tty              1010 drivers/char/console.c 			tty = get_tty(MKDEV(VCONSOLES_MAJOR, n));
tty              1011 drivers/char/console.c 			tty->driver_data = (void *)&vc[n];
tty              1012 drivers/char/console.c 			tty->stop = vconsole_stop;
tty              1013 drivers/char/console.c 			tty->start = vconsole_start;
tty              1014 drivers/char/console.c 			tty->deltab = vconsole_deltab;
tty              1015 drivers/char/console.c 			tty->reset = vconsole_reset;
tty              1016 drivers/char/console.c 			tty->input = do_cook;
tty              1017 drivers/char/console.c 			tty->output = vconsole_write;
tty              1018 drivers/char/console.c 			vc[n].tty = tty;
tty              1027 drivers/char/console.c 			vconsole_reset(tty);
tty               395 drivers/char/keyboard.c static void putc(struct tty *tty, unsigned char ch)
tty               397 drivers/char/keyboard.c 	if(tty_queue_putchar(tty, &tty->read_q, ch) < 0) {
tty               398 drivers/char/keyboard.c 		if(tty->termios.c_iflag & IMAXBEL) {
tty               404 drivers/char/keyboard.c static void puts(struct tty *tty, char *seq)
tty               409 drivers/char/keyboard.c 		putc(tty, ch);
tty               434 drivers/char/keyboard.c 	struct tty *tty;
tty               439 drivers/char/keyboard.c 	tty = get_tty(MKDEV(VCONSOLES_MAJOR, current_cons));
tty               440 drivers/char/keyboard.c 	vc = (struct vconsole *)tty->driver_data;
tty               453 drivers/char/keyboard.c 	if(tty->kbd.mode == K_RAW) {
tty               454 drivers/char/keyboard.c 		putc(tty, scode);
tty               469 drivers/char/keyboard.c 	if(tty->kbd.mode == K_MEDIUMRAW) {
tty               470 drivers/char/keyboard.c 		putc(tty, key | (scode & 0x80));
tty               530 drivers/char/keyboard.c 					tty->start(tty);
tty               532 drivers/char/keyboard.c 					tty->stop(tty);
tty               611 drivers/char/keyboard.c 	if(tty->count) {
tty               622 drivers/char/keyboard.c 				puts(tty, fn_seq[c]);
tty               628 drivers/char/keyboard.c 						putc(tty, C('M'));
tty               638 drivers/char/keyboard.c 					puts(tty, pad_seq[c]);
tty               640 drivers/char/keyboard.c 					putc(tty, pad_chars[c]);
tty               668 drivers/char/keyboard.c 				putc(tty, c);
tty               673 drivers/char/keyboard.c 				putc(tty, '\033');
tty               674 drivers/char/keyboard.c 				putc(tty, c);
tty               685 drivers/char/keyboard.c 				putc(tty, c);
tty               706 drivers/char/keyboard.c 				putc(tty, c);
tty               717 drivers/char/keyboard.c 	struct tty *tty;
tty               720 drivers/char/keyboard.c 	tty = get_tty(MKDEV(VCONSOLES_MAJOR, current_cons));
tty               721 drivers/char/keyboard.c 	vc = (struct vconsole *)tty->driver_data;
tty               733 drivers/char/keyboard.c 	tty = &tty_table[0];
tty               734 drivers/char/keyboard.c 	for(n = 0; n < NR_VCONSOLES; n++, tty++) {
tty               735 drivers/char/keyboard.c 		if(!tty->read_q.count) {
tty               738 drivers/char/keyboard.c 		if(tty->kbd.mode == K_RAW || tty->kbd.mode == K_MEDIUMRAW) {
tty               746 drivers/char/keyboard.c 		tty->input(tty);
tty               758 drivers/char/keyboard.c 	struct tty *tty;
tty               761 drivers/char/keyboard.c 	tty = get_tty(MKDEV(VCONSOLES_MAJOR, current_cons));
tty               762 drivers/char/keyboard.c 	vc = (struct vconsole *)tty->driver_data;
tty               181 drivers/char/serial.c static void serial_stop(struct tty *tty)
tty               187 drivers/char/serial.c 	s = (struct serial *)tty->driver_data;
tty               193 drivers/char/serial.c static void serial_start(struct tty *tty)
tty               199 drivers/char/serial.c 	s = (struct serial *)tty->driver_data;
tty               204 drivers/char/serial.c static void serial_deltab(struct tty *tty)
tty               210 drivers/char/serial.c 	cb = tty->cooked_q.head;
tty               218 drivers/char/serial.c 					while(!tty->tab_stop[++col]);
tty               221 drivers/char/serial.c 					if(ISCNTRL(ch) && !ISSPACE(ch) && tty->termios.c_lflag & ECHOCTL) {
tty               230 drivers/char/serial.c 	count = tty->column - col;
tty               233 drivers/char/serial.c 		tty_queue_putchar(tty, &tty->write_q, '\b');
tty               234 drivers/char/serial.c 		tty->column--;
tty               238 drivers/char/serial.c static void serial_reset(struct tty *tty)
tty               240 drivers/char/serial.c 	termios_reset(tty);
tty               241 drivers/char/serial.c 	tty->winsize.ws_row = 25;
tty               242 drivers/char/serial.c 	tty->winsize.ws_col = 80;
tty               243 drivers/char/serial.c 	tty->winsize.ws_xpixel = 0;
tty               244 drivers/char/serial.c 	tty->winsize.ws_ypixel = 0;
tty               245 drivers/char/serial.c 	tty->lnext = 0;
tty               250 drivers/char/serial.c 	struct tty *tty;
tty               252 drivers/char/serial.c 	tty = s->tty;
tty               254 drivers/char/serial.c 	if(!(tty->termios.c_iflag & IGNBRK) && tty->termios.c_iflag & BRKINT) {
tty               261 drivers/char/serial.c 	if(!(tty->termios.c_iflag & IGNPAR) && tty->termios.c_iflag & PARMRK) {
tty               277 drivers/char/serial.c static void serial_send(struct tty *tty)
tty               283 drivers/char/serial.c 	s = (struct serial *)tty->driver_data;
tty               285 drivers/char/serial.c 	if(!tty->write_q.count) {
tty               291 drivers/char/serial.c 	while(tty->write_q.count > 0 && count < UART_FIFO_SIZE) {
tty               292 drivers/char/serial.c 		ch = tty_queue_getchar(&tty->write_q);
tty               297 drivers/char/serial.c 	if(!tty->write_q.count) {
tty               307 drivers/char/serial.c 	struct tty *tty;
tty               310 drivers/char/serial.c 	tty = s->tty;
tty               313 drivers/char/serial.c 		if(!tty_queue_room(&tty->read_q)) {
tty               318 drivers/char/serial.c 		tty_queue_putchar(tty, &tty->read_q, ch);
tty               344 drivers/char/serial.c 						serial_send(s->tty);
tty               354 drivers/char/serial.c int serial_open(struct tty *tty)
tty               359 drivers/char/serial.c 	minor = MINOR(tty->dev);
tty               364 drivers/char/serial.c 	s = (struct serial *)tty->driver_data;
tty               384 drivers/char/serial.c int serial_close(struct tty *tty)
tty               389 drivers/char/serial.c 	minor = MINOR(tty->dev);
tty               394 drivers/char/serial.c 	s = (struct serial *)tty->driver_data;
tty               396 drivers/char/serial.c 	if(tty->count > 1) {
tty               412 drivers/char/serial.c void serial_set_termios(struct tty *tty)
tty               419 drivers/char/serial.c 	s = (struct serial *)tty->driver_data;
tty               422 drivers/char/serial.c 	if(!(baud = tty->termios.c_cflag & CBAUD)) {
tty               431 drivers/char/serial.c 	size = tty->termios.c_cflag & CSIZE;
tty               450 drivers/char/serial.c 	stop = tty->termios.c_cflag & CSTOPB;
tty               457 drivers/char/serial.c 	if(tty->termios.c_cflag & PARENB) {
tty               459 drivers/char/serial.c 	} else if(tty->termios.c_cflag & PARODD) {
tty               470 drivers/char/serial.c void serial_write(struct tty *tty)
tty               476 drivers/char/serial.c 	s = (struct serial *)tty->driver_data;
tty               483 drivers/char/serial.c 	struct tty *tty;
tty               490 drivers/char/serial.c 			tty = s->tty;
tty               491 drivers/char/serial.c 			if(tty->read_q.count) {
tty               493 drivers/char/serial.c 					tty->input(tty);
tty               508 drivers/char/serial.c 	struct tty *tty;
tty               524 drivers/char/serial.c 				tty = get_tty(MKDEV(SERIAL_MAJOR, (1 << SERIAL_MSF) + n));
tty               525 drivers/char/serial.c 				tty->driver_data = (void *)s;
tty               526 drivers/char/serial.c 				tty->stop = serial_stop;
tty               527 drivers/char/serial.c 				tty->start = serial_start;
tty               528 drivers/char/serial.c 				tty->deltab = serial_deltab;
tty               529 drivers/char/serial.c 				tty->reset = serial_reset;
tty               530 drivers/char/serial.c 				tty->input = do_cook;
tty               531 drivers/char/serial.c 				tty->output = serial_write;
tty               532 drivers/char/serial.c 				tty->open = serial_open;
tty               533 drivers/char/serial.c 				tty->close = serial_close;
tty               534 drivers/char/serial.c 				tty->set_termios = serial_set_termios;
tty               535 drivers/char/serial.c 				serial_reset(tty);
tty               538 drivers/char/serial.c 						tty->tab_stop[n2] = 1;
tty               540 drivers/char/serial.c 						tty->tab_stop[n2] = 0;
tty               543 drivers/char/serial.c 				tty->count = 0;
tty               544 drivers/char/serial.c 				s->tty = tty;
tty                26 drivers/char/tty.c struct tty tty_table[NR_TTYS];
tty                64 drivers/char/tty.c static int opost(struct tty *tty, unsigned char ch)
tty                70 drivers/char/tty.c 	if(tty->termios.c_oflag & OPOST) {
tty                73 drivers/char/tty.c 				if(tty->termios.c_oflag & ONLCR) {
tty                74 drivers/char/tty.c 					if(tty_queue_room(&tty->write_q) >= 2) {
tty                75 drivers/char/tty.c 						tty_queue_putchar(tty, &tty->write_q, '\r');
tty                76 drivers/char/tty.c 						tty->column = 0;
tty                83 drivers/char/tty.c 				while(tty->column < (tty->winsize.ws_col - 1)) {
tty                84 drivers/char/tty.c 					if(tty->tab_stop[++tty->column]) {
tty                90 drivers/char/tty.c 				if(tty->column > 0) {
tty                91 drivers/char/tty.c 					tty->column--;
tty                94 drivers/char/tty.c 				if(tty->termios.c_oflag & OLCUC) {
tty                98 drivers/char/tty.c 					tty->column++;
tty               103 drivers/char/tty.c 	if(tty_queue_putchar(tty, &tty->write_q, ch) < 0) {
tty               109 drivers/char/tty.c static void out_char(struct tty *tty, unsigned char ch)
tty               111 drivers/char/tty.c 	if(ISCNTRL(ch) && !ISSPACE(ch) && (tty->termios.c_lflag & ECHOCTL)) {
tty               112 drivers/char/tty.c 		if(tty->lnext || (!tty->lnext && ch != tty->termios.c_cc[VEOF])) {
tty               113 drivers/char/tty.c 			tty_queue_putchar(tty, &tty->write_q, '^');
tty               114 drivers/char/tty.c 			tty_queue_putchar(tty, &tty->write_q, ch + 64);
tty               115 drivers/char/tty.c 			tty->column += 2;
tty               118 drivers/char/tty.c 		opost(tty, ch);
tty               122 drivers/char/tty.c static void erase_char(struct tty *tty, unsigned char erasechar)
tty               126 drivers/char/tty.c 	if(erasechar == tty->termios.c_cc[VERASE]) {
tty               127 drivers/char/tty.c 		if((ch = tty_queue_unputchar(&tty->cooked_q))) {
tty               128 drivers/char/tty.c 			if(tty->termios.c_lflag & ECHO) {
tty               129 drivers/char/tty.c 				tty_queue_putchar(tty, &tty->write_q, '\b');
tty               130 drivers/char/tty.c 				tty_queue_putchar(tty, &tty->write_q, ' ');
tty               131 drivers/char/tty.c 				tty_queue_putchar(tty, &tty->write_q, '\b');
tty               133 drivers/char/tty.c 					tty->deltab(tty);
tty               135 drivers/char/tty.c 				if(ISCNTRL(ch) && !ISSPACE(ch) && tty->termios.c_lflag & ECHOCTL) {
tty               136 drivers/char/tty.c 					tty_queue_putchar(tty, &tty->write_q, '\b');
tty               137 drivers/char/tty.c 					tty_queue_putchar(tty, &tty->write_q, ' ');
tty               138 drivers/char/tty.c 					tty_queue_putchar(tty, &tty->write_q, '\b');
tty               143 drivers/char/tty.c 	if(erasechar == tty->termios.c_cc[VWERASE]) {
tty               146 drivers/char/tty.c 		while(tty->cooked_q.count > 0) {
tty               147 drivers/char/tty.c 			ch = LAST_CHAR(&tty->cooked_q);
tty               154 drivers/char/tty.c 			erase_char(tty, tty->termios.c_cc[VERASE]);
tty               157 drivers/char/tty.c 	if(erasechar == tty->termios.c_cc[VKILL]) {
tty               158 drivers/char/tty.c 		while(tty->cooked_q.count > 0) {
tty               159 drivers/char/tty.c 			erase_char(tty, tty->termios.c_cc[VERASE]);
tty               161 drivers/char/tty.c 		if(tty->termios.c_lflag & ECHOK && !(tty->termios.c_lflag & ECHOE)) {
tty               162 drivers/char/tty.c 			tty_queue_putchar(tty, &tty->write_q, '\n');
tty               167 drivers/char/tty.c static void set_termios(struct tty *tty, struct termios *new_termios)
tty               169 drivers/char/tty.c 	memcpy_b(&tty->termios, new_termios, sizeof(struct termios));
tty               170 drivers/char/tty.c 	if(tty->set_termios) {
tty               171 drivers/char/tty.c 		tty->set_termios(tty);
tty               175 drivers/char/tty.c static void set_termio(struct tty *tty, struct termio *new_termio)
tty               201 drivers/char/tty.c struct tty * get_tty(__dev_t dev)
tty               235 drivers/char/tty.c void disassociate_ctty(struct tty *tty)
tty               239 drivers/char/tty.c 	if(!tty) {
tty               244 drivers/char/tty.c 	tty->pgid = tty->sid = 0;
tty               257 drivers/char/tty.c void termios_reset(struct tty *tty)
tty               259 drivers/char/tty.c 	tty->kbd.mode = K_XLATE;
tty               260 drivers/char/tty.c 	tty->termios.c_iflag = ICRNL | IXON | IXOFF;
tty               261 drivers/char/tty.c 	tty->termios.c_oflag = OPOST | ONLCR;
tty               262 drivers/char/tty.c 	tty->termios.c_cflag = B9600 | CS8 | HUPCL | CREAD | CLOCAL;
tty               263 drivers/char/tty.c 	tty->termios.c_lflag = ISIG | ICANON | ECHO | ECHOE | ECHOK | ECHOCTL | ECHOKE | IEXTEN;
tty               264 drivers/char/tty.c 	tty->termios.c_line = 0;
tty               265 drivers/char/tty.c 	tty->termios.c_cc[VINTR]    = 3;	/* ^C */
tty               266 drivers/char/tty.c 	tty->termios.c_cc[VQUIT]    = 28;	/* ^\ */
tty               267 drivers/char/tty.c 	tty->termios.c_cc[VERASE]   = BS;	/* ^? (127) not '\b' (^H) */
tty               268 drivers/char/tty.c 	tty->termios.c_cc[VKILL]    = 21;	/* ^U */
tty               269 drivers/char/tty.c 	tty->termios.c_cc[VEOF]     = 4;	/* ^D */
tty               270 drivers/char/tty.c 	tty->termios.c_cc[VTIME]    = 0;
tty               271 drivers/char/tty.c 	tty->termios.c_cc[VMIN]     = 1;
tty               272 drivers/char/tty.c 	tty->termios.c_cc[VSWTC]    = 0;
tty               273 drivers/char/tty.c 	tty->termios.c_cc[VSTART]   = 17;	/* ^Q */
tty               274 drivers/char/tty.c 	tty->termios.c_cc[VSTOP]    = 19;	/* ^S */
tty               275 drivers/char/tty.c 	tty->termios.c_cc[VSUSP]    = 26;	/* ^Z */
tty               276 drivers/char/tty.c 	tty->termios.c_cc[VEOL]     = '\n';	/* ^J */
tty               277 drivers/char/tty.c 	tty->termios.c_cc[VREPRINT] = 18;	/* ^R */
tty               278 drivers/char/tty.c 	tty->termios.c_cc[VDISCARD] = 15;	/* ^O */
tty               279 drivers/char/tty.c 	tty->termios.c_cc[VWERASE]  = 23;	/* ^W */
tty               280 drivers/char/tty.c 	tty->termios.c_cc[VLNEXT]   = 22;	/* ^V */
tty               281 drivers/char/tty.c 	tty->termios.c_cc[VEOL2]    = 0;	
tty               284 drivers/char/tty.c void do_cook(struct tty *tty)
tty               290 drivers/char/tty.c 	while(tty->read_q.count > 0) {
tty               291 drivers/char/tty.c 		ch = tty_queue_getchar(&tty->read_q);
tty               293 drivers/char/tty.c 		if((tty->termios.c_lflag & ISIG) && !tty->lnext) {
tty               294 drivers/char/tty.c 			if(ch == tty->termios.c_cc[VINTR]) {
tty               295 drivers/char/tty.c 				if(!(tty->termios.c_lflag & NOFLSH)) {
tty               296 drivers/char/tty.c 					tty_queue_flush(&tty->read_q);
tty               297 drivers/char/tty.c 					tty_queue_flush(&tty->cooked_q);
tty               299 drivers/char/tty.c 				if(tty->pgid > 0) {
tty               300 drivers/char/tty.c 					kill_pgrp(tty->pgid, SIGINT);
tty               304 drivers/char/tty.c 			if(ch == tty->termios.c_cc[VQUIT]) {
tty               305 drivers/char/tty.c 				if(tty->pgid > 0) {
tty               306 drivers/char/tty.c 					kill_pgrp(tty->pgid, SIGQUIT);
tty               310 drivers/char/tty.c 			if(ch == tty->termios.c_cc[VSUSP]) {
tty               311 drivers/char/tty.c 				if(tty->pgid > 0) {
tty               312 drivers/char/tty.c 					kill_pgrp(tty->pgid, SIGTSTP);
tty               318 drivers/char/tty.c 		if(tty->termios.c_iflag & ISTRIP) {
tty               321 drivers/char/tty.c 		if(tty->termios.c_iflag & IUCLC) {
tty               327 drivers/char/tty.c 		if(!tty->lnext) {
tty               329 drivers/char/tty.c 				if(tty->termios.c_iflag & IGNCR) {
tty               332 drivers/char/tty.c 				if(tty->termios.c_iflag & ICRNL) {
tty               337 drivers/char/tty.c 					if(tty->termios.c_iflag & INLCR) {
tty               344 drivers/char/tty.c 		if(tty->termios.c_lflag & ICANON && !tty->lnext) {
tty               345 drivers/char/tty.c 			if(ch == tty->termios.c_cc[VERASE] || ch == tty->termios.c_cc[VWERASE] || ch == tty->termios.c_cc[VKILL]) {
tty               346 drivers/char/tty.c 				erase_char(tty, ch);
tty               350 drivers/char/tty.c 			if(ch == tty->termios.c_cc[VREPRINT]) {
tty               351 drivers/char/tty.c 				out_char(tty, ch);
tty               352 drivers/char/tty.c 				tty_queue_putchar(tty, &tty->write_q, '\n');
tty               353 drivers/char/tty.c 				cb = tty->cooked_q.head;
tty               357 drivers/char/tty.c 							out_char(tty, cb->data[n]);
tty               365 drivers/char/tty.c 			if(ch == tty->termios.c_cc[VLNEXT] && tty->termios.c_lflag & IEXTEN) {
tty               366 drivers/char/tty.c 				tty->lnext = 1;
tty               367 drivers/char/tty.c 				if(tty->termios.c_lflag & ECHOCTL) {
tty               368 drivers/char/tty.c 					tty_queue_putchar(tty, &tty->write_q, '^');
tty               369 drivers/char/tty.c 					tty_queue_putchar(tty, &tty->write_q, '\b');
tty               374 drivers/char/tty.c 			if(tty->termios.c_iflag & IXON) {
tty               375 drivers/char/tty.c 				if(ch == tty->termios.c_cc[VSTART]) {
tty               376 drivers/char/tty.c 					tty->start(tty);
tty               379 drivers/char/tty.c 				if(ch == tty->termios.c_cc[VSTOP]) {
tty               380 drivers/char/tty.c 					tty->stop(tty);
tty               383 drivers/char/tty.c 				if(tty->termios.c_iflag & IXANY) {
tty               384 drivers/char/tty.c 					tty->start(tty);
tty               390 drivers/char/tty.c 		if(tty->termios.c_lflag & ICANON) {
tty               391 drivers/char/tty.c 			if(ISCNTRL(ch) && !ISSPACE(ch) && (tty->termios.c_lflag & ECHOCTL)) {
tty               392 drivers/char/tty.c 				out_char(tty, ch);
tty               393 drivers/char/tty.c 				tty_queue_putchar(tty, &tty->cooked_q, ch);
tty               394 drivers/char/tty.c 				tty->lnext = 0;
tty               398 drivers/char/tty.c 				tty->canon_data = 1;
tty               402 drivers/char/tty.c 		if(tty->termios.c_lflag & ECHO) {
tty               403 drivers/char/tty.c 			out_char(tty, ch);
tty               405 drivers/char/tty.c 			if((tty->termios.c_lflag & ECHONL) && (ch == '\n')) {
tty               406 drivers/char/tty.c 				out_char(tty, ch);
tty               409 drivers/char/tty.c 		tty_queue_putchar(tty, &tty->cooked_q, ch);
tty               410 drivers/char/tty.c 		tty->lnext = 0;
tty               412 drivers/char/tty.c 	tty->output(tty);
tty               413 drivers/char/tty.c 	if(!(tty->termios.c_lflag & ICANON) || ((tty->termios.c_lflag & ICANON) && tty->canon_data)) {
tty               422 drivers/char/tty.c 	struct tty *tty;
tty               437 drivers/char/tty.c 	if(!(tty = get_tty(i->rdev))) {
tty               443 drivers/char/tty.c 	if(tty->open) {
tty               444 drivers/char/tty.c 		if((errno = tty->open(tty)) < 0) {
tty               448 drivers/char/tty.c 	tty->count++;
tty               449 drivers/char/tty.c 	tty->column = 0;
tty               451 drivers/char/tty.c 	if(SESS_LEADER(current) && !current->ctty && !noctty_flag && !tty->sid) {
tty               452 drivers/char/tty.c 		current->ctty = tty;
tty               453 drivers/char/tty.c 		tty->sid = current->sid;
tty               454 drivers/char/tty.c 		tty->pgid = current->pgid;
tty               462 drivers/char/tty.c 	struct tty *tty;
tty               465 drivers/char/tty.c 	if(!(tty = get_tty(i->rdev))) {
tty               470 drivers/char/tty.c 	if(tty->close) {
tty               471 drivers/char/tty.c 		if((errno = tty->close(tty)) < 0) {
tty               475 drivers/char/tty.c 	tty->count--;
tty               476 drivers/char/tty.c 	if(!tty->count) {
tty               477 drivers/char/tty.c 		termios_reset(tty);
tty               478 drivers/char/tty.c 		tty->pgid = tty->sid = 0;
tty               482 drivers/char/tty.c 			if(p->ctty == tty) {
tty               495 drivers/char/tty.c 	struct tty *tty;
tty               499 drivers/char/tty.c 	if(!(tty = get_tty(i->rdev))) {
tty               505 drivers/char/tty.c 	if(current->ctty == tty && current->pgid != tty->pgid) {
tty               515 drivers/char/tty.c 		if(tty->kbd.mode == K_RAW || tty->kbd.mode == K_MEDIUMRAW) {
tty               518 drivers/char/tty.c 				if((ch = tty_queue_getchar(&tty->read_q))) {
tty               529 drivers/char/tty.c 		if(tty->termios.c_lflag & ICANON) {
tty               530 drivers/char/tty.c 			if((ch = LAST_CHAR(&tty->cooked_q))) {
tty               531 drivers/char/tty.c 				if(ch == '\n' || ch == tty->termios.c_cc[VEOL] || ch == tty->termios.c_cc[VEOF] || (tty->termios.c_lflag & IEXTEN && ch == tty->termios.c_cc[VEOL2] && tty->termios.c_cc[VEOL2] != 0)) {
tty               533 drivers/char/tty.c 					tty->canon_data = 0;
tty               535 drivers/char/tty.c 					if(ch == tty->termios.c_cc[VEOF]) {
tty               536 drivers/char/tty.c 						tty_queue_unputchar(&tty->cooked_q);
tty               540 drivers/char/tty.c 						if((ch = tty_queue_getchar(&tty->cooked_q))) {
tty               550 drivers/char/tty.c 			if(tty->termios.c_cc[VTIME] > 0) {
tty               554 drivers/char/tty.c 				if(!tty->termios.c_cc[VMIN]) {
tty               556 drivers/char/tty.c 					timeout = tty->termios.c_cc[VTIME] * (HZ / 10);
tty               558 drivers/char/tty.c 					while(kstat.ticks - ini_ticks < timeout && !tty->cooked_q.count) {
tty               560 drivers/char/tty.c 						creq.arg = (unsigned int)&tty->cooked_q;
tty               570 drivers/char/tty.c 						if((ch = tty_queue_getchar(&tty->cooked_q))) {
tty               578 drivers/char/tty.c 					if(tty->cooked_q.count > 0) {
tty               579 drivers/char/tty.c 						if(n < MIN(tty->termios.c_cc[VMIN], count)) {
tty               580 drivers/char/tty.c 							ch = tty_queue_getchar(&tty->cooked_q);
tty               583 drivers/char/tty.c 						if(n >= MIN(tty->termios.c_cc[VMIN], count)) {
tty               587 drivers/char/tty.c 						timeout = tty->termios.c_cc[VTIME] * (HZ / 10);
tty               589 drivers/char/tty.c 						creq.arg = (unsigned int)&tty->cooked_q;
tty               599 drivers/char/tty.c 						if(!tty->cooked_q.count) {
tty               606 drivers/char/tty.c 				if(tty->cooked_q.count > 0) {
tty               607 drivers/char/tty.c 					if(min < tty->termios.c_cc[VMIN] || !tty->termios.c_cc[VMIN]) {
tty               609 drivers/char/tty.c 							ch = tty_queue_getchar(&tty->cooked_q);
tty               611 drivers/char/tty.c 							if(--tty->canon_data < 0) {
tty               612 drivers/char/tty.c 								tty->canon_data = 0;
tty               618 drivers/char/tty.c 				if(min >= tty->termios.c_cc[VMIN]) {
tty               642 drivers/char/tty.c 	struct tty *tty;
tty               645 drivers/char/tty.c 	if(!(tty = get_tty(i->rdev))) {
tty               651 drivers/char/tty.c 	if(current->ctty == tty && current->pgid != tty->pgid) {
tty               652 drivers/char/tty.c 		if(tty->termios.c_lflag & TOSTOP) {
tty               671 drivers/char/tty.c 			if(opost(tty, ch) < 0) {
tty               676 drivers/char/tty.c 		tty->output(tty);
tty               684 drivers/char/tty.c 		if(tty->write_q.count > 0) {
tty               705 drivers/char/tty.c 	struct tty *tty;
tty               708 drivers/char/tty.c 	if(!(tty = get_tty(i->rdev))) {
tty               722 drivers/char/tty.c 			memcpy_b((struct termios *)arg, &tty->termios, sizeof(struct termios));
tty               733 drivers/char/tty.c 			set_termios(tty, (struct termios *)arg);
tty               744 drivers/char/tty.c 			set_termios(tty, (struct termios *)arg);
tty               755 drivers/char/tty.c 			set_termios(tty, (struct termios *)arg);
tty               756 drivers/char/tty.c 			tty_queue_flush(&tty->read_q);
tty               767 drivers/char/tty.c 			termios2termio(&tty->termios, (struct termio *)arg);
tty               778 drivers/char/tty.c 			set_termio(tty, (struct termio *)arg);
tty               789 drivers/char/tty.c 			set_termio(tty, (struct termio *)arg);
tty               800 drivers/char/tty.c 			set_termio(tty, (struct termio *)arg);
tty               801 drivers/char/tty.c 			tty_queue_flush(&tty->read_q);
tty               808 drivers/char/tty.c 					tty->stop(tty);
tty               811 drivers/char/tty.c 					tty->start(tty);
tty               820 drivers/char/tty.c 					tty_queue_flush(&tty->read_q);
tty               821 drivers/char/tty.c 					tty_queue_flush(&tty->cooked_q);
tty               824 drivers/char/tty.c 					tty_queue_flush(&tty->write_q);
tty               827 drivers/char/tty.c 					tty_queue_flush(&tty->read_q);
tty               828 drivers/char/tty.c 					tty_queue_flush(&tty->cooked_q);
tty               829 drivers/char/tty.c 					tty_queue_flush(&tty->write_q);
tty               836 drivers/char/tty.c 			if(SESS_LEADER(current) && (current->sid == tty->sid)) {
tty               842 drivers/char/tty.c 			if(tty->sid) {
tty               845 drivers/char/tty.c 						if(p->ctty == tty) {
tty               854 drivers/char/tty.c 			current->ctty = tty;
tty               855 drivers/char/tty.c 			tty->sid = current->sid;
tty               856 drivers/char/tty.c 			tty->pgid = current->pgid;
tty               867 drivers/char/tty.c 			memcpy_b((void *)arg, &tty->pgid, sizeof(__pid_t));
tty               881 drivers/char/tty.c 			memcpy_b(&tty->pgid, (void *)arg, sizeof(__pid_t));
tty               898 drivers/char/tty.c 			memcpy_b((void *)arg, &tty->winsize, sizeof(struct winsize));
tty               914 drivers/char/tty.c 			if(tty->winsize.ws_row != ws->ws_row) {
tty               917 drivers/char/tty.c 			if(tty->winsize.ws_col != ws->ws_col) {
tty               920 drivers/char/tty.c 			if(tty->winsize.ws_xpixel != ws->ws_xpixel) {
tty               923 drivers/char/tty.c 			if(tty->winsize.ws_ypixel != ws->ws_ypixel) {
tty               926 drivers/char/tty.c 			tty->winsize.ws_row = ws->ws_row;
tty               927 drivers/char/tty.c 			tty->winsize.ws_col = ws->ws_col;
tty               928 drivers/char/tty.c 			tty->winsize.ws_xpixel = ws->ws_xpixel;
tty               929 drivers/char/tty.c 			tty->winsize.ws_ypixel = ws->ws_ypixel;
tty               931 drivers/char/tty.c 				kill_pgrp(tty->pgid, SIGWINCH);
tty               936 drivers/char/tty.c 			if(current->ctty != tty) {
tty               940 drivers/char/tty.c 				disassociate_ctty(tty);
tty               961 drivers/char/tty.c 			return vt_ioctl(tty, cmd, arg);
tty               973 drivers/char/tty.c 	struct tty *tty;
tty               975 drivers/char/tty.c 	if(!(tty = get_tty(i->rdev))) {
tty               982 drivers/char/tty.c 			if(tty->cooked_q.count > 0) {
tty               983 drivers/char/tty.c 				if(!(tty->termios.c_lflag & ICANON) || ((tty->termios.c_lflag & ICANON) && tty->canon_data)) {
tty               989 drivers/char/tty.c 			if(!tty->write_q.count) {
tty               146 drivers/char/tty_queue.c int tty_queue_putchar(struct tty *tty, struct clist *q, unsigned char ch)
tty               169 drivers/char/tty_queue.c 		tty_queue_putchar(tty, q, ch);
tty                20 drivers/char/vt.c int vt_ioctl(struct tty *tty, int cmd, unsigned long int arg)
tty                26 drivers/char/vt.c 	if(MAJOR(tty->dev) != VCONSOLES_MAJOR) {
tty                30 drivers/char/vt.c 	vc = (struct vconsole *)tty->driver_data;
tty                84 drivers/char/vt.c 			memset_b((void *)arg, tty->kbd.mode, sizeof(unsigned char));
tty                91 drivers/char/vt.c 			tty->kbd.mode = arg;
tty                92 drivers/char/vt.c 			tty_queue_flush(&tty->read_q);
tty               121 drivers/char/vt.c 				tty = get_tty(MKDEV(VCONSOLES_MAJOR, n));
tty               122 drivers/char/vt.c 				if(!tty->count) {
tty               151 drivers/char/vt.c 			tty->pid = current->pid;
tty               165 drivers/char/vt.c 				tty = get_tty(MKDEV(VCONSOLES_MAJOR, n));
tty               166 drivers/char/vt.c 				if(tty->count) {
tty               194 drivers/char/vt.c 			if(current_cons == MINOR(tty->dev) || IS_SUPERUSER) {
tty               205 drivers/char/vt.c 			if(current_cons == MINOR(tty->dev)) {
tty               130 include/fiwix/console.h 	struct tty *tty;
tty               172 include/fiwix/console.h void vconsole_reset(struct tty *);
tty               173 include/fiwix/console.h void vconsole_write(struct tty *);
tty               178 include/fiwix/console.h void vconsole_start(struct tty *);
tty               179 include/fiwix/console.h void vconsole_stop(struct tty *);
tty               181 include/fiwix/console.h void vconsole_deltab(struct tty *);
tty               111 include/fiwix/process.h 	struct tty *ctty;		/* controlling terminal */
tty               102 include/fiwix/serial.h 	struct tty *tty;
tty               106 include/fiwix/serial.h int serial_open(struct tty *);
tty               107 include/fiwix/serial.h int serial_close(struct tty *);
tty               108 include/fiwix/serial.h int serial_ioctl(struct tty *, int, unsigned long int);
tty               109 include/fiwix/serial.h void serial_write(struct tty *);
tty                63 include/fiwix/tty.h 	void (*stop)(struct tty *);
tty                64 include/fiwix/tty.h 	void (*start)(struct tty *);
tty                65 include/fiwix/tty.h 	void (*deltab)(struct tty *);
tty                66 include/fiwix/tty.h 	void (*reset)(struct tty *);
tty                67 include/fiwix/tty.h 	void (*input)(struct tty *);
tty                68 include/fiwix/tty.h 	void (*output)(struct tty *);
tty                69 include/fiwix/tty.h 	int (*open)(struct tty *);
tty                70 include/fiwix/tty.h 	int (*close)(struct tty *);
tty                71 include/fiwix/tty.h 	void (*set_termios)(struct tty *);
tty                73 include/fiwix/tty.h extern struct tty tty_table[];
tty                76 include/fiwix/tty.h struct tty * get_tty(__dev_t);
tty                77 include/fiwix/tty.h void disassociate_ctty(struct tty *);
tty                78 include/fiwix/tty.h void termios_reset(struct tty *);
tty                79 include/fiwix/tty.h void do_cook(struct tty *);
tty                80 include/fiwix/tty.h int tty_putchar(struct tty *, unsigned char);
tty                90 include/fiwix/tty.h int tty_queue_putchar(struct tty *, struct clist *, unsigned char);
tty                97 include/fiwix/tty.h int vt_ioctl(struct tty *, int, unsigned long int);
tty                22 lib/printk.c   	struct tty *tty;
tty                26 lib/printk.c   	tty = get_tty(_syscondev);
tty                31 lib/printk.c   		if(!tty) {
tty                36 lib/printk.c   		 	tty_queue_putchar(tty, &tty->write_q, *(b++));
tty                39 lib/printk.c   			tty->output(tty);