idr_alloc_cyclic(9) allocate new idr entry in a cyclical fashion

SYNOPSIS

int idr_alloc_cyclic(struct idr * idr, void * ptr, int start, int end, gfp_t gfp_mask);

ARGUMENTS

idr

the (initialized) idr

ptr

pointer to be associated with the new id

start

the minimum id (inclusive)

end

the maximum id (exclusive, <= 0 for max)

gfp_mask

memory allocation flags

DESCRIPTION

Essentially the same as idr_alloc, but prefers to allocate progressively higher ids if it can. If the "cur" counter wraps, then it will start again at the "start" end of the range and allocate one that has already been used.

COPYRIGHT