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

📄 access.c

📁 基于UNIX6的文件系统模拟程序
💻 C
字号:
#include <stdio.h>#include "filesys.h"unsigned int access(user_id,inode,mode)unsigned int user_id;struct inode *inode;unsigned short mode;{	switch(mode%8)	{	case READ:		if(inode->di_mode&ODIREAD) return 1;			if((inode->di_mode & GDIREAD)&&			(user[user_id].u_gid == inode->di_gid))  return 1;		if((inode->di_mode&UDIREAD)&&			(user[user_id].u_uid == inode->di_uid))  return 1;		return 0;	case WRITE:		if(inode->di_mode&ODIWRITE) return 1;			if((inode->di_mode & GDIWRITE)&&			(user[user_id].u_gid == inode->di_gid))  return 1;		if((inode->di_mode&UDIWRITE)&&			(user[user_id].u_uid == inode->di_uid))  return 1;		return 0;	case EXICUTE:		if(inode->di_mode&ODIEXICUTE) return 1;			if((inode->di_mode & GDIEXICUTE)&&			(user[user_id].u_gid == inode->di_gid))  return 1;		if((inode->di_mode&UDIEXICUTE)&&			(user[user_id].u_uid == inode->di_uid))  return 1;		return 0;
	case FAPPEND:
		if(inode->di_mode&ODIEXICUTE) return 1;	
		if((inode->di_mode & GDIEXICUTE)&&
			(user[user_id].u_gid == inode->di_gid))  return 1;
		if((inode->di_mode&UDIEXICUTE)&&
			(user[user_id].u_uid == inode->di_uid))  return 1;
		return 0;	default:		return 0;	}}

⌨️ 快捷键说明

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