Lines Matching full:forward
61 struct SLEntry *forward[1]; /* variable sized array */
79 + (max_level + 1) * sizeof(entry->forward[0]));
112 for (i = 0; i <= SL_MAX_LEVEL; i++) list->head->forward[i] = NULL;
127 next = entry->forward[0];
146 while (entry->forward[i] && entry->forward[i]->key < key)
147 entry = entry->forward[i];
151 return entry->forward[0];
177 /* Fix up forward pointers */
179 entry->forward[i] = update[i]->forward[i];
180 update[i]->forward[i] = entry;
200 /* Fix up forward pointers */
202 if (update[i]->forward[i] == entry)
203 update[i]->forward[i] = entry->forward[i];
209 while (list->level && !list->head->forward[list->level]) --list->level;
247 if (update[0]->forward[0]) {
248 *next_key = update[0]->forward[0]->key;
249 *next_value = update[0]->forward[0]->value;
266 list->p0 = entry->forward[0];
281 list->p0 = list->head->forward[0];
299 for (entry = list->head; entry; entry = entry->forward[0]) {
307 if (entry->forward[i]) {
310 entry->forward[i],
311 entry->forward[i]->key,
312 entry->forward[i]->value);
314 printf(" %2d: %p\n", i, entry->forward[i]);