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

📄 tty.c

📁 ADS环境下的类似linux内核的操作系统
💻 C
字号:
/* MShowTec - www.mshowtec.com
** msLinux tty.c ver1.0
** 20051221 lmjx create limiao@mshowtec.com
**
*/

#define MSLINUX_TTY_C

#include "cpu_reg.h"
#include "tty.h"
#include "dev.h"
#include "sem.h"

void tty_init()
{
	//tty
	*(unsigned long*)ARM7_UCON = 1;
}


int tty_out(char*buf)
{
	int i = 0;
	while(buf[i]!= 0){
		*(unsigned long*)(ARM7_UTXBUF) = buf[i++];
	}
	
	return i;
}

int tty_in(char *buf)
{
	int i = 0;
	
	semaphore_take(1);
	
	while(tty_str_buf[i]){
		*buf++ = tty_str_buf[i++];
	}
	*buf = 0;
	
	return i;	
}

static long tty_ioctrl()
{
	int cmd;
	long para,ret = 0;

	cmd = dev_get_cmd(DEV_TTY);
	para = dev_get_para(DEV_TTY);
	
	switch(cmd){
		case IOCTRL_INIT:
			tty_init();
			break;
		case IOCTRL_RD:
			ret = tty_in((char*)para);
			break;
		case IOCTRL_WE:
			ret = tty_out((char*)para);
			break;
		default:
			break;
	}

	return ret;	
}

void tty_register()
{
	dev_register(DEV_TTY, tty_ioctrl);
}

⌨️ 快捷键说明

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