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

📄 ioctl.c

📁 mips架构的bootloader,99左右的版本 但源代码现在没人更新了
💻 C
字号:
/************************************************************* * File: imon/ioctl.c * Purpose: Part of the Ice Monitor * Author: Phil Bunce (pjb@carmel.com) * Revision History: *	970304	Start of revision history */#include <termio.h>#include "pmon.h"#define OPEN_MAX 8static struct termio ttsave[OPEN_MAX];/**************************************************************  ioctl_setup(fd)*/ioctl_setup(fd)int fd;{if (ioctl(fd,TCGETA,&ttsave[fd]) == -1) {	fprintf(stderr,"ioctl_setup: bad ioctl TCGETA on fd=%d\n",fd);	}}/**************************************************************  ioctl_getsaved(fd,buf)*/ioctl_getsaved(fd,buf)int fd;struct termio *buf;{*buf = ttsave[fd];}/**************************************************************  ioctl_putsaved(fd,buf)*/ioctl_putsaved(fd,buf)int fd;struct termio *buf;{ttsave[fd] = *buf;}/**************************************************************  ioctl_restore(fd)*/ioctl_restore(fd)int fd;{if (ioctl(fd,TCSETAF,&ttsave[fd]) == -1) {	fprintf(stderr,"ioctl_restore: bad ioctl TCSETAF on fd=%d\n",fd);	}}/**************************************************************  ioctl_cbreak(fd)*	clear ICANON and ECHO*/ioctl_cbreak(fd)int fd;{struct termio tbuf;if (ttsave[fd].c_cflag==0) ioctl_setup(fd);tbuf = ttsave[fd];tbuf.c_lflag &= ~(ICANON|ECHO|ECHOE);tbuf.c_cc[4] = 1; /* MIN */if (ioctl(fd,TCSETAF,&tbuf) == -1) {	fprintf(stderr,"ioctl_cbreak: bad ioctl TCSETAF on fd=%d\n",fd);	}}/**************************************************************  ioctl_xvwlo(fd)*/ ioctl_xvwlo(fd) int fd;{ struct termio tbuf;  if (ttsave[fd].c_cflag==0) ioctl_setup(fd);tbuf = ttsave[fd];tbuf.c_iflag &= ~IXOFF;tbuf.c_lflag &= ~ECHO;tbuf.c_iflag &= ~(ISTRIP|ICRNL);tbuf.c_cc[2] = 0xff; /* turn off bs processing */if (ioctl(fd,TCSETAF,&tbuf) == -1) {	fprintf(stderr,"ioctl_xvwlo: bad ioctl TCSETAF on fd=%d\n",fd);	}ioctl(fd,TCSETAF,&tbuf);}/**************************************************************  ioctl_fionread(fd)*/ioctl_fionread(fd)int fd;{int n;ioctl(fd,FIONREAD,&n);return(n);}

⌨️ 快捷键说明

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