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 |