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

📄 fds.c

📁 早期freebsd实现
💻 C
字号:
#include <stdio.h>#include <sys/param.h>#include <sys/stat.h>struct types {	int	mode;	char	*name;} types[] = {	{ S_IFDIR,	"directory" },	{ S_IFCHR,	"character special" },	{ S_IFBLK,	"block special" },	{ S_IFREG,	"regular" },	{ S_IFLNK,	"symbolic link" },	{ S_IFSOCK,	"socket" },	{ 0, 0 }};main(){	register int i, j = getdtablesize();	struct stat sb;	char *filetype();	for (i = 0; i < j; i++) {		if (fstat(i, &sb) < 0)			continue;		fprintf(stderr, "%d: %s, inode #%d, mode %o, dev (%d,%d)",		    i, filetype(sb.st_mode & S_IFMT), sb.st_ino,		    sb.st_mode &~ S_IFMT,		    major(sb.st_dev), minor(sb.st_dev));		if ((sb.st_mode & S_IFMT) == S_IFCHR ||		    (sb.st_mode & S_IFMT) == S_IFBLK)			fprintf(stderr, ", rdev (%d, %d)",			    major(sb.st_rdev), minor(sb.st_rdev));		putc('\n', stderr);	}	exit(0);}char *filetype(t)	register int t;{	register struct types *p;	for (p = types; p->mode; p++)		if (p->mode == t)			return (p->name);	return ("???");}

⌨️ 快捷键说明

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