Esempio n. 1
0
URET uffs_InitFileSystemObjects(void)
{
    if (uffs_InitObjectBuf() == U_SUCC) {
        if (uffs_DirEntryBufInit() == U_SUCC) {
            uffs_InitGlobalFsLock();
            return U_SUCC;
        }
    }

    return U_FAIL;
}
Esempio n. 2
0
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;
}
Esempio n. 3
0
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;
}