Lines Matching defs:tab
149 #define OBJ_TAB_SLOT(tab, id) \
150 ((tab)->table + ((id)%(tab)->slots))
4326 raid_obj_tab_create(raid_obj_tab_t *tab, size_t hash_slots)
4333 tab->slots = hash_slots;
4335 if ((tab->table = calloc(hash_slots, sizeof (raid_list_t))) == NULL)
4339 raid_list_create(&tab->table[i], offsetof(raid_obj_t, el));
4345 raid_obj_tab_destroy(raid_obj_tab_t *tab)
4349 for (i = 0; i < tab->slots; i++) {
4352 while ((obj = raid_list_remove_head(&tab->table[i])) != NULL)
4355 raid_list_destroy(&tab->table[i]);
4358 if (tab->table)
4359 free(tab->table);
4361 tab->table = NULL;
4362 tab->slots = 0;
4363 tab->obj_id_cnt = 0;
4367 raid_obj_tab_insert(raid_obj_tab_t *tab, raid_obj_id_t id, void *obj)
4371 list = OBJ_TAB_SLOT(tab, id);
4382 raid_obj_tab_remove(raid_obj_tab_t *tab, raid_obj_id_t id)
4387 list = OBJ_TAB_SLOT(tab, id);
4396 raid_obj_tab_find(raid_obj_tab_t *tab, raid_obj_id_t id)
4401 list = OBJ_TAB_SLOT(tab, id);