Lines Matching refs:nitems
42 static kern_return_t array_init(KXLDArray *array, size_t itemsize, u_int nitems);
45 static u_int reinit_pools(KXLDArray *array, u_int nitems);
50 kxld_array_init(KXLDArray *array, size_t itemsize, u_int nitems) in kxld_array_init() argument
60 if (!nitems) { in kxld_array_init()
87 if (array->maxitems < nitems) { in kxld_array_init()
95 nitems = reinit_pools(array, nitems); in kxld_array_init()
96 require_action(nitems == 0, finish, rval = KERN_FAILURE); in kxld_array_init()
109 rval = array_init(array, itemsize, nitems); in kxld_array_init()
138 array_init(KXLDArray *array, size_t itemsize, u_int nitems) in array_init() argument
150 require_action(itemsize * nitems < array->pool_capacity, in array_init()
155 array->pool_capacity = round_page(array->itemsize * nitems); in array_init()
161 pool->nitems = nitems; in array_init()
165 array->nitems = nitems; in array_init()
228 needed_capacity = round_page(srcarray->nitems * srcarray->itemsize); in kxld_array_copy()
234 rval = array_init(dstarray, srcarray->itemsize, srcarray->nitems); in kxld_array_copy()
242 copysize = srcpool->nitems * srcarray->itemsize; in kxld_array_copy()
261 pool->nitems = 0; in kxld_array_reset()
263 array->nitems = 0; in kxld_array_reset()
308 if (idx >= array->nitems) { in kxld_array_get_item()
313 if (idx < pool->nitems) { in kxld_array_get_item()
393 kxld_array_resize(KXLDArray *array, u_int nitems) in kxld_array_resize() argument
400 while (nitems > array->maxitems) { in kxld_array_resize()
410 nitems = reinit_pools(array, nitems); in kxld_array_resize()
411 require_action(nitems == 0, finish, rval = KERN_FAILURE); in kxld_array_resize()
424 reinit_pools(KXLDArray *array, u_int nitems) in reinit_pools() argument
431 pool_nitems = nitems; in reinit_pools()
434 pool->nitems = array->pool_maxitems; in reinit_pools()
437 pool->nitems = pool_nitems; in reinit_pools()
441 array->nitems = nitems; in reinit_pools()
455 u_int nitems = 0; in kxld_array_remove() local
459 if (idx >= array->nitems) { in kxld_array_remove()
467 require_action(array->npools < 2 || array->nitems < array->pool_maxitems, in kxld_array_remove()
479 nitems = pool->nitems - idx - 1; in kxld_array_remove()
480 memmove(dst, src, array->itemsize * nitems); in kxld_array_remove()
482 --pool->nitems; in kxld_array_remove()
483 --array->nitems; in kxld_array_remove()
486 dst += pool->nitems * array->itemsize; in kxld_array_remove()