Lines Matching refs:id

120 fmd_idspace_lookup(fmd_idspace_t *ids, id_t id)
125 ide = ids->ids_hash[id & (ids->ids_hashlen - 1)];
128 if (ide->ide_id == id)
136 fmd_idspace_getspecific(fmd_idspace_t *ids, id_t id)
142 ide = fmd_idspace_lookup(ids, id);
150 fmd_idspace_setspecific(fmd_idspace_t *ids, id_t id, void *data)
159 if ((ide = fmd_idspace_lookup(ids, id)) == NULL) {
160 fmd_panic("idspace %p (%s) does not contain id %ld",
161 (void *)ids, ids->ids_name, id);
169 fmd_idspace_contains(fmd_idspace_t *ids, id_t id)
174 ide = fmd_idspace_lookup(ids, id);
181 fmd_idspace_valid(fmd_idspace_t *ids, id_t id)
183 return (id >= ids->ids_minid && id <= ids->ids_maxid);
187 fmd_idspace_xalloc_locked(fmd_idspace_t *ids, id_t id, void *data)
192 if (id < ids->ids_minid || id > ids->ids_maxid) {
194 id, ids->ids_minid, ids->ids_maxid,
198 if (fmd_idspace_lookup(ids, id) != NULL)
202 h = id & (ids->ids_hashlen - 1);
206 ide->ide_id = id;
211 return (id);
215 fmd_idspace_xalloc(fmd_idspace_t *ids, id_t id, void *data)
218 id = fmd_idspace_xalloc_locked(ids, id, data);
220 return (id);
226 id_t id;
236 id = ids->ids_nextid;
237 } while (fmd_idspace_xalloc_locked(ids, id, data) != id);
239 return (id);
245 id_t id;
248 id = fmd_idspace_alloc_locked(ids, data);
251 return (id);
256 * the minimum id and search in order from there. If this becomes performance
262 id_t id;
266 id = fmd_idspace_alloc_locked(ids, data);
269 return (id);
273 fmd_idspace_free(fmd_idspace_t *ids, id_t id)
279 pp = &ids->ids_hash[id & (ids->ids_hashlen - 1)];
282 if (ide->ide_id != id)
305 * Retrieve the id-specific data for the specified id and place a hold on the
306 * id so that it cannot be or deleted until fmd_idspace_rele(ids, id) is
310 * to use either a per-hash-bucket or a per-id-element condition variable.
313 fmd_idspace_hold(fmd_idspace_t *ids, id_t id)
320 if ((ide = fmd_idspace_lookup(ids, id)) != NULL) {
332 fmd_idspace_rele(fmd_idspace_t *ids, id_t id)
336 ASSERT(fmd_idspace_lookup(ids, id) != NULL);