/* By Marcus Xing kernel/tty.c 处理终端的代码 */ #include "type.h" #include "const.h" #include "protect.h" #include "proc.h" #include "console.h" #include "tty.h" #include "global.h" #include "keyboard.h" #include "proto.h" /* 内部函数声明 */ static void Init_TTY(TTY *tty); static void TTY_Read(TTY *tty); static void TTY_Write(TTY *tty); /*------------------------------------------------------------------Init_All_TTY 初始化所有的TTY */ void Init_All_TTY() { TTY *tty; /* 初始化每个TTY */ for(tty = TTY_Table;tty < TTY_Table + TTY_NUM;tty++) { Init_TTY(tty); } Select_Console(0); /* 当前控制台0号 */ } /*---------------------------------------------------------Put_Key_In_TTY_Buffer 把一个key放到参数指定的TTY的缓冲区中 */ void Put_Key_In_TTY_Buffer(TTY *tty,u32 key) { if(tty->tty_buffer_size < TTY_BUFFER_SIZE) { Disable_Int();