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 + -
显示快捷键?