URET uffs_InitFileSystemObjects(void) { if (uffs_InitObjectBuf() == U_SUCC) { if (uffs_DirEntryBufInit() == U_SUCC) { uffs_InitGlobalFsLock(); return U_SUCC; } } return U_FAIL; }
int dfs_uffs_init(void) { /* register uffs file system */ dfs_register(&dfs_uffs_ops); if (uffs_InitObjectBuf() == U_SUCC) { if (uffs_DirEntryBufInit() == U_SUCC) { uffs_InitGlobalFsLock(); return RT_EOK; } } return -RT_ERROR; }
URET uffs_InitMountTable(void) { struct uffs_MountTableEntrySt *tbl = uffs_GetMountTable(); struct uffs_MountTableEntrySt *work; int dev_num = 0; for (work = tbl; work; work = work->next) { uffs_Perror(UFFS_ERR_NOISY, "init device for mount point %s ...", work->mount); if (work->dev->Init(work->dev) == U_FAIL) { uffs_Perror(UFFS_ERR_SERIOUS, "init device for mount point %s fail", work->mount); return U_FAIL; } work->dev->par.start = work->start_block; if (work->end_block < 0) { work->dev->par.end = work->dev->attr->total_blocks + work->end_block; } else { work->dev->par.end = work->end_block; } uffs_Perror(UFFS_ERR_NOISY, "mount partiton: %d,%d", work->dev->par.start, work->dev->par.end); if (uffs_InitDevice(work->dev) != U_SUCC) { uffs_Perror(UFFS_ERR_SERIOUS, "init device fail !"); return U_FAIL; } work->dev->dev_num = dev_num++; } if (uffs_InitObjectBuf() == U_SUCC) { if (uffs_InitDirEntryBuf() == U_SUCC) { return U_SUCC; } } return U_FAIL; }