⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 tty.h

📁 最早的linux操作系统源代码(3)
💻 H
字号:
/* * 'tty.h' defines some structures used by tty_io.c and some defines. * * NOTE! Don't touch this without checking that nothing in rs_io.s or * con_io.s breaks. Some constants are hardwired into the system (mainly * offsets into 'tty_queue' */#ifndef _TTY_H#define _TTY_H#include <termios.h>#define TTY_BUF_SIZE 1024struct tty_queue {	unsigned long data;	unsigned long head;	unsigned long tail;	struct task_struct * proc_list;	char buf[TTY_BUF_SIZE];};#define INC(a) ((a) = ((a)+1) & (TTY_BUF_SIZE-1))#define DEC(a) ((a) = ((a)-1) & (TTY_BUF_SIZE-1))#define EMPTY(a) ((a).head == (a).tail)#define LEFT(a) (((a).tail-(a).head-1)&(TTY_BUF_SIZE-1))#define LAST(a) ((a).buf[(TTY_BUF_SIZE-1)&((a).head-1)])#define FULL(a) (!LEFT(a))#define CHARS(a) (((a).head-(a).tail)&(TTY_BUF_SIZE-1))#define GETCH(queue,c) \(void)({c=(queue).buf[(queue).tail];INC((queue).tail);})#define PUTCH(c,queue) \(void)({(queue).buf[(queue).head]=(c);INC((queue).head);})#define EOF_CHAR(tty) ((tty)->termios.c_cc[VEOF])#define INTR_CHAR(tty) ((tty)->termios.c_cc[VINTR])#define STOP_CHAR(tty) ((tty)->termios.c_cc[VSTOP])#define START_CHAR(tty) ((tty)->termios.c_cc[VSTART])#define ERASE_CHAR(tty) ((tty)->termios.c_cc[VERASE])struct tty_struct {	struct termios termios;	int pgrp;	int stopped;	void (*write)(struct tty_struct * tty);	struct tty_queue read_q;	struct tty_queue write_q;	struct tty_queue secondary;	};extern struct tty_struct tty_table[];/*	intr=^C		quit=^|		erase=del	kill=^U	eof=^D		vtime=\0	vmin=\1		sxtc=\0	start=^Q	stop=^S		susp=^Y		eol=\0	reprint=^R	discard=^U	werase=^W	lnext=^V	eol2=\0*/#define INIT_C_CC "\003\034\177\025\004\0\1\0\021\023\031\0\022\017\027\026\0"void rs_init(void);void con_init(void);void tty_init(void);int tty_read(unsigned c, char * buf, int n);int tty_write(unsigned c, char * buf, int n);void rs_write(struct tty_struct * tty);void con_write(struct tty_struct * tty);void copy_to_cooked(struct tty_struct * tty);#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -