Function report |
Source Code:lib\radix-tree.c |
Create Date:2022-07-28 06:13:09 |
Last Modify:2022-05-21 10:04:37 | Copyright©Brick |
home page | Tree |
Annotation kernel can get tool activity | Download SCCT | Chinese |
Name:adix_tree_next_chunk - find next chunk of slots for iteration*@root: radix tree root*@iter: iterator state*@flags: RADIX_TREE_ITER_* flags and tag index* Returns: pointer to chunk first slot, or NULL if iteration is over
Proto:void __rcu **radix_tree_next_chunk(const struct xarray *root, struct radix_tree_iter *iter, unsigned flags)
Type:void
Parameter:
Type | Parameter | Name |
---|---|---|
const struct xarray * | root | |
struct radix_tree_iter * | iter | |
unsigned | flags |
1167 | tag = flags & RADIX_TREE_ITER_TAG_MASK |
1171 | If flags & RADIX_TREE_ITER_TAGGED && Not root_tag_get(root, tag) Then Return NULL |
1183 | index = next_index |
1187 | restart : |
1188 | radix_tree_load_root(root, & child, & maxindex) |
1191 | If Not child Then Return NULL |
1194 | If Not radix_tree_is_internal_node(child) Then |
1203 | Do |
1204 | node = entry_to_node(child) |
1205 | offset = radix_tree_descend(node, & child, index) |
1210 | If flags & RADIX_TREE_ITER_CONTIG Then Return NULL |
1216 | Else When ++offset < RADIX_TREE_MAP_SIZE cycle |
1218 | slot = Dependency order vs. p above. (slots[offset]) |
1220 | If slot Then Break |
1223 | index &= ~node_maxindex(node) |
1226 | If Not index Then Return NULL |
1228 | If offset == RADIX_TREE_MAP_SIZE Then Go to restart |
1230 | child = Dependency order vs. p above. (slots[offset]) |
1235 | If child == RADIX_TREE_RETRY Then Break |
1237 | When shift && radix_tree_is_internal_node(child) cycle |
1240 | index = index & ~node_maxindex(node) | offset |
1241 | next_index = (index | node_maxindex(node)) + 1 |
1244 | If flags & RADIX_TREE_ITER_TAGGED Then Construct iter->tags bit-mask from node->tags[tag] array |
Name | Describe |
---|---|
radix_tree_iter_lookup | adix_tree_iter_lookup - look up an index in the radix tree*@root: radix tree root*@iter: iterator state*@index: key to look up* If @index is present in the radix tree, this function returns the slot* containing it and updates @iter to describe the entry |
Source code conversion tool public plug-in interface | X |
---|---|
Support c/c++/esqlc/java Oracle/Informix/Mysql Plug-in can realize: logical Report Code generation and batch code conversion |