Lines Matching refs:set
45 set_t *set;
47 set = (set_t *) drm_alloc(sizeof(set_t), DRM_MEM_DRIVER);
48 if (set != NULL) {
50 set->list[i].free_next = i + 1;
51 set->list[i].alloc_next = -1;
53 set->list[SET_SIZE - 1].free_next = -1;
54 set->free = 0;
55 set->alloc = -1;
56 set->trace = -1;
58 return set;
61 int setAdd(set_t * set, ITEM_TYPE item)
63 int free = set->free;
66 set->list[free].val = item;
67 set->free = set->list[free].free_next;
72 set->list[free].alloc_next = set->alloc;
73 set->alloc = free;
74 set->list[free].free_next = -1;
79 int setDel(set_t * set, ITEM_TYPE item)
81 int alloc = set->alloc;
85 if (set->list[alloc].val == item) {
87 set->list[prev].alloc_next =
88 set->list[alloc].alloc_next;
90 set->alloc = set->list[alloc].alloc_next;
94 alloc = set->list[alloc].alloc_next;
100 set->list[alloc].free_next = set->free;
101 set->free = alloc;
102 set->list[alloc].alloc_next = -1;
109 int setFirst(set_t * set, ITEM_TYPE * item)
111 if (set->alloc == -1)
114 *item = set->list[set->alloc].val;
115 set->trace = set->list[set->alloc].alloc_next;
120 int setNext(set_t * set, ITEM_TYPE * item)
122 if (set->trace == -1)
125 *item = set->list[set->trace].val;
126 set->trace = set->list[set->trace].alloc_next;
131 int setDestroy(set_t * set)
133 drm_free(set, sizeof(set_t), DRM_MEM_DRIVER);