create.c

来自「操作系统简单的登入程序」· C语言 代码 · 共 58 行

C
58
字号
#include <stdio.h>#include "filesys.h"struct inode*  create(unsigned short userid,char* filename,unsigned short mode);struct inode*  create(unsigned short userid,char* filename,unsigned short mode){	struct inode* pinode;    	struct inode* pinode2;		int pos;	int inodeid;				readdir2(currentuser);		inodeid=map2inode(filename);		if (inodeid!=MAPERR)			return NULL;				pinode=(struct inode*)malloc(sizeof(struct inode));			pinode->di_mode=mode;		strcpy(pinode->di_uid,directory_1.users[userid].u_uid);				strcpy(pinode->di_gid,directory_1.users[userid].u_gid);		pinode->di_size=1;		pinode->di_addr[0]=balloc();		pinode->n_refer=1;		pinode=(struct inode*)ialloc(pinode);		pinode2=readdir2(currentuser);		pos=freedir2id();		strcpy(directory_2.direct[pos].name,filename);		directory_2.direct[pos].filetype=DIFILE;		directory_2.direct[pos].d_ino=pinode->i_ino;		directory_2.size++;		dir2todisk(&directory_2,pinode2);		return pinode;}

⌨️ 快捷键说明

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