示例#1
0
文件: uffs_pool.c 项目: wuliaodew/RTT
/**
 * \brief this is more efficient version for small nodes number memory pool (< 32)
 */
static void * FindNextAllocatedInSmallPool(uffs_Pool *pool, void *from)
{
	u32 map = 0;
	uffs_PoolEntry *e;
	u32 i;

	for (e = pool->free_list; e; e = e->next)
		map |= (1 << uffs_PoolGetIndex(pool, e));

	for (i = uffs_PoolGetIndex(pool, from); (map & (1 << i)) && i < 32; i++);

	return i < 32 ? uffs_PoolGetBufByIndex(pool, i) : NULL;
}
示例#2
0
文件: uffs_fs.c 项目: mazj/uffs
/**
 * \return the object by the internal index
 */
uffs_Object * uffs_GetObjectByIndex(int idx)
{
	return (uffs_Object *) uffs_PoolGetBufByIndex(&_object_pool, idx);
}