Lines Matching refs:array
16 piecing together an array from smaller parts; the flexible array library
19 A flexible array holds an arbitrary (within limits) number of fixed-sized
24 system page size, and putting data into a flexible array requires a copy
26 locking at all; if concurrent access to an array is possible, then the
29 The creation of a flexible array is done with:
38 maximum number of objects which can be stored in the array. The flags
47 This macro will result in a definition of an array with the given name; the
50 Storing data into a flexible array is accomplished with a call to:
52 int flex_array_put(struct flex_array *array, unsigned int element_nr,
55 This call will copy the data from src into the array, in the position
57 the array was created). If any memory allocations must be performed, flags
61 There might possibly be a need to store data into a flexible array while
68 int flex_array_prealloc(struct flex_array *array, unsigned int start,
76 Getting data back out of the array is done with:
84 has never been stored in the array. Memory for array elements is allocated
86 adjacent elements. Flexible array elements are normally initialized to the
88 involving that number probably result from use of unstored array entries.
89 Note that, if array elements are allocated with __GFP_ZERO, they will be
92 Individual elements in the array can be cleared with:
94 int flex_array_clear(struct flex_array *array, unsigned int element_nr);
97 zero. If storage for the indicated element is not allocated for the array,
100 allocated size of an array, call:
102 int flex_array_shrink(struct flex_array *array);
105 This function works by scanning the array for pages containing nothing but
107 if the array's pages are allocated with __GFP_ZERO.
109 It is possible to remove all elements of an array with a call to:
111 void flex_array_free_parts(struct flex_array *array);
113 This call frees all elements, but leaves the array itself in place.
114 Freeing the entire array is done with:
116 void flex_array_free(struct flex_array *array);