| Function report | 
| Source Code: lib\xarray.c | Create Date:2022-07-28 06:13:25 | 
| Last Modify:2020-03-12 14:18:49 | Copyright©Brick | 
| home page | Tree | 
| Annotation kernel can get tool activity | Download SCCT | Chinese | 
Name:xas_create() - Create a slot to store an entry in.*@xas: XArray operation state.*@allow_root: %true if we can store the entry in the root directly* Most users will not need to call this function directly, as it is called* by xas_store()
Proto:static void *xas_create(struct xa_state *xas, bool allow_root)
Type:void
Parameter:
| Type | Parameter | Name | 
|---|---|---|
| struct xa_state * | xas | |
| bool | allow_root | 
| 646 | xa_node = NULL | 
| 647 | If Not entry && xa_zero_busy(xa) Then entry = XA_ZERO_ENTRY | 
| 649 | shift = xas_expand adds nodes to the head of the tree until it has reached* sufficient height to be able to contain @xas->xa_index | 
| 650 | If shift < 0 Then Return NULL | 
| 652 | If Not shift && Not allow_root Then shift = The xarray is constructed out of a set of 'chunks' of pointers | 
| 657 | Return NULL | 
| 658 | Else if node Then | 
| 664 | Else | 
| 672 | If Not entry Then | 
| 674 | If Not node Then Break | 
| 676 | If xa_track_free(xa) Then node_mark_all(node, XA_FREE_MARK) | 
| 679 | Else if Private Then | 
| 681 | Else | 
| 682 | Break | 
| 684 | entry = xas_descend(xas, node) | 
| 688 | Return entry | 
| Name | Describe | 
|---|---|
| xas_create_range | xas_create_range() - Ensure that stores to this range will succeed*@xas: XArray operation state.* Creates all of the slots in the range covered by @xas. Sets @xas to* create single-index entries and positions it at the beginning of the* range | 
| xas_store | xas_store() - Store this entry in the XArray | 
| xa_store_range | xa_store_range() - Store this entry at a range of indices in the XArray | 
| 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 |