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

📄 inode.h

📁 unix v7是最后一个广泛发布的研究型UNIX版本
💻 H
字号:
/* * The I node is the focus of all * file activity in unix. There is a unique * inode allocated for each active file, * each current directory, each mounted-on * file, text file, and the root. An inode is 'named' * by its dev/inumber pair. (iget/iget.c) * Data, from mode on, is read in * from permanent inode on volume. */#define	NADDR	13#define	NINDEX	15struct group {	short	g_state;	char	g_index;	char	g_rot;	struct	group	*g_group;	struct	inode	*g_inode;	struct	file	*g_file;	short	g_rotmask;	short	g_datq;	struct	chan *g_chans[NINDEX];};struct	inode{	char	i_flag;	char	i_count;	/* reference count */	dev_t	i_dev;		/* device where inode resides */	ino_t	i_number;	/* i number, 1-to-1 with device address */	unsigned short	i_mode;	short	i_nlink;	/* directory entries */	short	i_uid;		/* owner */	short	i_gid;		/* group of owner */	off_t	i_size;		/* size of file */	union {		struct {			daddr_t i_addr[NADDR];	/* if normal file/directory */			daddr_t	i_lastr;	/* last logical block read (for read-ahead) */		};		struct	{			daddr_t	i_rdev;			/* i_addr[0] */			struct	group	i_group;	/*  multiplexor group file */		};	} i_un;};extern struct inode inode[];	/* The inode table itself */struct inode *mpxip;		/* mpx virtual inode *//* flags */#define	ILOCK	01		/* inode is locked */#define	IUPD	02		/* file has been modified */#define	IACC	04		/* inode access time to be updated */#define	IMOUNT	010		/* inode is mounted on */#define	IWANT	020		/* some process waiting on lock */#define	ITEXT	040		/* inode is pure text prototype */#define	ICHG	0100		/* inode has been changed *//* modes */#define	IFMT	0170000		/* type of file */#define		IFDIR	0040000	/* directory */#define		IFCHR	0020000	/* character special */#define		IFBLK	0060000	/* block special */#define		IFREG	0100000	/* regular */#define		IFMPC	0030000	/* multiplexed char special */#define		IFMPB	0070000	/* multiplexed block special */#define	ISUID	04000		/* set user id on execution */#define	ISGID	02000		/* set group id on execution */#define ISVTX	01000		/* save swapped text even after use */#define	IREAD	0400		/* read, write, execute permissions */#define	IWRITE	0200#define	IEXEC	0100

⌨️ 快捷键说明

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