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

📄 ttyname.c

📁 <B>Digital的Unix操作系统VAX 4.2源码</B>
💻 C
字号:
/* @(#)ttyname.c	4.3 (Berkeley) 5/7/82 *//* * ttyname(f): return "/dev/ttyXX" which the the name of the * tty belonging to file f. *  NULL if it is not a tty */#define	NULL	0#include <sys/param.h>#include <sys/dir.h>#include <sys/stat.h>static	char	dev[]	= "/dev/";char	*strcpy();char	*strcat();char *ttyname(f){	struct stat fsb;	struct stat tsb;	register struct direct *db;	register DIR *df;	static char rbuf[32];	if (isatty(f)==0)		return(NULL);	if (fstat(f, &fsb) < 0)		return(NULL);	if ((fsb.st_mode&S_IFMT) != S_IFCHR)		return(NULL);	if ((df = opendir(dev)) == NULL)		return(NULL);	while ((db = readdir(df)) != NULL) {		if (db->d_ino != fsb.st_ino)			continue;		strcpy(rbuf, dev);		strcat(rbuf, db->d_name);		if (stat(rbuf, &tsb) < 0)			continue;		if (tsb.st_dev == fsb.st_dev && tsb.st_ino == fsb.st_ino) {			closedir(df);			return(rbuf);		}	}	closedir(df);	return(NULL);}

⌨️ 快捷键说明

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