long __vfs_createFile(redisContext *context, long parentId, const char *name, long size, const char *googleId, const char *webUrl, const char *apiUrl) { //add it to the file list of the dir long id = getNewId(context); vfs_addFileToFileList(context, parentId, id); __createFile(context, id, name, size, googleId, webUrl, apiUrl); return id; }
int openFile( char * name, int flags){ File * curr = __getCurrentDir(); File * file = __getChildByFileName(name,curr); if(file == NULL){ file = __createFile(name, __getFileFreeSector(), _DEFAULT_FILESIZE, __getCurrentDir()); __allocateFile(file); } else return -1; // There is no file descriptor :P return 0; }
void __initFileTable(){ int i; for(i=0;i<_MAX_FILES;i++) fileTable[i].sector = -1; File * base = __createFile(_FILE_ROOT,__getFileFreeSector(),_DEFAULT_FILESIZE, NULL); __allocateFile(base); File * usr = __createFile("usr",__getFileFreeSector(),_DEFAULT_FILESIZE, base); __allocateFile(usr); File * bin = __createFile("bin", __getFileFreeSector(), _DEFAULT_FILESIZE,base); __allocateFile(bin); File * dev = __createFile("dev", __getFileFreeSector(), _DEFAULT_FILESIZE,base); __allocateFile(dev); File * home = __createFile("home", __getFileFreeSector(), _DEFAULT_FILESIZE,base); __allocateFile(home); File * readme = __createFile("readme.txt", __getFileFreeSector(), _DEFAULT_FILESIZE,base); __allocateFile(readme); writeFile(readme,_README, strlen(_README)); __setCurrentDir(base); }