Lines Matching refs:index
42 * Indexer - to find a structure given an index. Synchronization
65 #define idx_array_index(index) (index >> IDX_ENTRY_BITS)
66 #define idx_entry_index(index) (index & (IDX_ENTRY_SIZE - 1))
69 void *idx_remove(struct indexer *idx, int index);
70 void idx_replace(struct indexer *idx, int index, void *item);
72 static inline void *idx_at(struct indexer *idx, int index)
74 return (idx->array[idx_array_index(index)] + idx_entry_index(index))->item;
78 * Index map - associates a structure with an index. Synchronization
80 * index map by setting it to 0.
88 int idm_set(struct index_map *idm, int index, void *item);
89 void *idm_clear(struct index_map *idm, int index);
91 static inline void *idm_at(struct index_map *idm, int index)
94 entry = idm->array[idx_array_index(index)];
95 return entry[idx_entry_index(index)];
98 static inline void *idm_lookup(struct index_map *idm, int index)
100 return ((index <= IDX_MAX_INDEX) && idm->array[idx_array_index(index)]) ?
101 idm_at(idm, index) : NULL;