idp                67 lib/util/idtree.c static struct idr_layer *alloc_layer(struct idr_context *idp)
idp                71 lib/util/idtree.c 	if (!(p = idp->id_free))
idp                73 lib/util/idtree.c 	idp->id_free = p->ary[0];
idp                74 lib/util/idtree.c 	idp->id_free_cnt--;
idp                85 lib/util/idtree.c static void free_layer(struct idr_context *idp, struct idr_layer *p)
idp                87 lib/util/idtree.c 	p->ary[0] = idp->id_free;
idp                88 lib/util/idtree.c 	idp->id_free = p;
idp                89 lib/util/idtree.c 	idp->id_free_cnt++;
idp                92 lib/util/idtree.c static int idr_pre_get(struct idr_context *idp)
idp                94 lib/util/idtree.c 	while (idp->id_free_cnt < IDR_FREE_MAX) {
idp                95 lib/util/idtree.c 		struct idr_layer *pn = talloc_zero(idp, struct idr_layer);
idp                98 lib/util/idtree.c 		free_layer(idp, pn);
idp               103 lib/util/idtree.c static int sub_alloc(struct idr_context *idp, void *ptr, int *starting_id)
idp               115 lib/util/idtree.c 	p = idp->top;
idp               116 lib/util/idtree.c 	l = idp->layers;
idp               158 lib/util/idtree.c 			if (!(pn = alloc_layer(idp)))
idp               189 lib/util/idtree.c static int idr_get_new_above_int(struct idr_context *idp, void *ptr, int starting_id)
idp               194 lib/util/idtree.c 	idr_pre_get(idp);
idp               198 lib/util/idtree.c 	p = idp->top;
idp               199 lib/util/idtree.c 	layers = idp->layers;
idp               201 lib/util/idtree.c 		if (!(p = alloc_layer(idp)))
idp               213 lib/util/idtree.c 		if (!(pn = alloc_layer(idp))) {
idp               218 lib/util/idtree.c 			for (pn = p; p && p != idp->top; pn = p) {
idp               222 lib/util/idtree.c 				free_layer(idp, pn);
idp               232 lib/util/idtree.c 	idp->top = p;
idp               233 lib/util/idtree.c 	idp->layers = layers;
idp               234 lib/util/idtree.c 	v = sub_alloc(idp, ptr, &id);
idp               240 lib/util/idtree.c static int sub_remove(struct idr_context *idp, int shift, int id)
idp               242 lib/util/idtree.c 	struct idr_layer *p = idp->top;
idp               248 lib/util/idtree.c 	*++paa = &idp->top;
idp               262 lib/util/idtree.c 			free_layer(idp, **paa);
idp               266 lib/util/idtree.c 			idp->layers = 0;
idp               272 lib/util/idtree.c static void *_idr_find(struct idr_context *idp, int id)
idp               277 lib/util/idtree.c 	n = idp->layers * IDR_BITS;
idp               278 lib/util/idtree.c 	p = idp->top;
idp               296 lib/util/idtree.c static int _idr_remove(struct idr_context *idp, int id)
idp               303 lib/util/idtree.c 	if (sub_remove(idp, (idp->layers - 1) * IDR_BITS, id) == -1) {
idp               307 lib/util/idtree.c 	if ( idp->top && idp->top->count == 1 && 
idp               308 lib/util/idtree.c 	     (idp->layers > 1) &&
idp               309 lib/util/idtree.c 	     idp->top->ary[0]) {
idp               311 lib/util/idtree.c 		p = idp->top->ary[0];
idp               312 lib/util/idtree.c 		idp->top->bitmap = idp->top->count = 0;
idp               313 lib/util/idtree.c 		free_layer(idp, idp->top);
idp               314 lib/util/idtree.c 		idp->top = p;
idp               315 lib/util/idtree.c 		--idp->layers;
idp               317 lib/util/idtree.c 	while (idp->id_free_cnt >= IDR_FREE_MAX) {
idp               318 lib/util/idtree.c 		p = alloc_layer(idp);
idp               342 lib/util/idtree.c _PUBLIC_ int idr_get_new(struct idr_context *idp, void *ptr, int limit)
idp               344 lib/util/idtree.c 	int ret = idr_get_new_above_int(idp, ptr, 0);
idp               346 lib/util/idtree.c 		idr_remove(idp, ret);
idp               356 lib/util/idtree.c _PUBLIC_ int idr_get_new_above(struct idr_context *idp, void *ptr, int starting_id, int limit)
idp               358 lib/util/idtree.c 	int ret = idr_get_new_above_int(idp, ptr, starting_id);
idp               360 lib/util/idtree.c 		idr_remove(idp, ret);
idp               369 lib/util/idtree.c _PUBLIC_ int idr_get_new_random(struct idr_context *idp, void *ptr, int limit)
idp               376 lib/util/idtree.c 	id = idr_get_new_above(idp, ptr, 1+(generate_random() % limit), limit);
idp               378 lib/util/idtree.c 		id = idr_get_new_above(idp, ptr, 1+(generate_random()%(limit/2)), limit);
idp               387 lib/util/idtree.c _PUBLIC_ void *idr_find(struct idr_context *idp, int id)
idp               389 lib/util/idtree.c 	return _idr_find(idp, id);
idp               395 lib/util/idtree.c _PUBLIC_ int idr_remove(struct idr_context *idp, int id)
idp               398 lib/util/idtree.c 	ret = _idr_remove((struct idr_context *)idp, id);
idp               727 lib/util/util.h _PUBLIC_ int idr_get_new(struct idr_context *idp, void *ptr, int limit);
idp               733 lib/util/util.h _PUBLIC_ int idr_get_new_above(struct idr_context *idp, void *ptr, int starting_id, int limit);
idp               738 lib/util/util.h _PUBLIC_ int idr_get_new_random(struct idr_context *idp, void *ptr, int limit);
idp               743 lib/util/util.h _PUBLIC_ void *idr_find(struct idr_context *idp, int id);
idp               748 lib/util/util.h _PUBLIC_ int idr_remove(struct idr_context *idp, int id);
idp                25 source3/modules/vfs_aixacl_util.c 	struct ace_id *idp;
idp                54 source3/modules/vfs_aixacl_util.c 			idp = id_nxt(acl_entry->ace_id);
idp                56 source3/modules/vfs_aixacl_util.c 				(acl_entry->ace_type == ACC_PERMIT)) && (idp != id_last(acl_entry))) {
idp                61 source3/modules/vfs_aixacl_util.c 			idp = acl_entry->ace_id;
idp                62 source3/modules/vfs_aixacl_util.c 			DEBUG(10,("idp->id_data is %d\n",idp->id_data[0]));
idp                74 source3/modules/vfs_aixacl_util.c 			DEBUG(10,("idp->id_type is %d\n",idp->id_type));
idp                77 source3/modules/vfs_aixacl_util.c 			ace->a_type = idp->id_type;
idp                81 source3/modules/vfs_aixacl_util.c 			ace->uid = idp->id_data[0];
idp                88 source3/modules/vfs_aixacl_util.c 			ace->gid = idp->id_data[0];