Lines Matching full:index
42 * Indexer - to find a structure given an index. Synchronization
65 #define idx_array_index(index) (index >> IDX_ENTRY_BITS) argument
66 #define idx_entry_index(index) (index & (IDX_ENTRY_SIZE - 1)) argument
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) in idx_at() argument
74 return (idx->array[idx_array_index(index)] + idx_entry_index(index))->item; in idx_at()
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) in idm_at() argument
94 entry = idm->array[idx_array_index(index)]; in idm_at()
95 return entry[idx_entry_index(index)]; in idm_at()
98 static inline void *idm_lookup(struct index_map *idm, int index) in idm_lookup() argument
100 return ((index <= IDX_MAX_INDEX) && idm->array[idx_array_index(index)]) ? in idm_lookup()
101 idm_at(idm, index) : NULL; in idm_lookup()