static bool initialiseProgramDataDir(wchar_t *path, size_t pathLen) { PWSTR programData; if (SUCCEEDED(SHGetKnownFolderPath(FOLDERID_ProgramData, 0, NULL, &programData))) { wcscpy_s(path, pathLen, programData); CoTaskMemFree(programData); if (initialiseDir(path, HSP_PUBLISHER)) { return initialiseDir(path, HSP_PRODUCT_NAME); } } return false; }
int main(){ int fileSize=0, i=0; /** initialise whole memory as free **/ FreeMap.totalFreeCount=MAX_BLOCK_COUNT; for(i=0; i<MAX_BLOCK_COUNT; i++){ FreeMap.isFree[i]=FREE; } /** create file of mentione size **/ fileSize=createFile("newFile.txt"); if(fileSize==0){ return 1; } /** read file and store in memory back store **/ struct IndexNode *fileIndex = loadFileInMemory("newFile.txt", fileSize); if(fileIndex==NULL){ return 1; } /** read file from memory and print **/ readAndPrint(fileIndex); /** initialise root directory **/ initialiseDir(&root, ROOT); /** initialise inode-table **/ for(i=0; i<MAX_FILE_SUPPORTED; i++) { inodeTable[MAX_FILE_SUPPORTED].inode=NULL; inodeTable[MAX_FILE_SUPPORTED].inode_no=-1; } /** map file to directory and inode **/ if(mapFileToInodeTable(fileIndex, ROOT)==1) return 1; return 0; }