|
ra8-firmware 0.1.0
Bare-metal firmware for the Renesas RA8 family (RA8D2 / RA8P1)
|
Caller-owned directory cursor storage and iterative traversal stack. More...
#include <mdl_library.h>
Data Fields | |
| char | paths [(size_t) k_mdl_library_depth_limit+1U][k_fw_fs_path_cap] |
| DFS path stack, one canonical path at each permitted depth. | |
| void * | directory_workspace |
| Backend cursor workspace. | |
| uint32_t | directory_workspace_bytes |
| Cursor workspace extent. | |
| uint32_t | entries |
| Entries accepted by the traversal. | |
| uint32_t | required_entries |
| Entries observed through cap+1. | |
| uint32_t | entry_limit |
| Active explicit traversal limit. | |
| uint32_t | operations |
| Namespace calls attempted. | |
| uint16_t | depth |
| Current stack depth, root is zero. | |
Caller-owned directory cursor storage and iterative traversal stack.
Enumeration advances one backend cursor entry at a time. Each next call returns with backend locks released, so authentication and user callbacks occur safely between calls without retaining a directory snapshot. Removal retains one canonical path per permitted depth.
Definition at line 53 of file mdl_library.h.
| uint16_t mdl_library_workspace_t::depth |
Current stack depth, root is zero.
Definition at line 62 of file mdl_library.h.
Referenced by internal_library_act_on_node(), internal_library_remove_child(), internal_library_remove_walk(), and internal_library_workspace_reset().
| void* mdl_library_workspace_t::directory_workspace |
Backend cursor workspace.
Definition at line 56 of file mdl_library.h.
Referenced by internal_library_enumerate(), internal_library_first_child(), mdl_library_for_each(), and mdl_library_remove_tree().
| uint32_t mdl_library_workspace_t::directory_workspace_bytes |
Cursor workspace extent.
Definition at line 57 of file mdl_library.h.
Referenced by internal_library_enumerate(), internal_library_first_child(), mdl_library_for_each(), and mdl_library_remove_tree().
| uint32_t mdl_library_workspace_t::entries |
Entries accepted by the traversal.
Definition at line 58 of file mdl_library.h.
Referenced by internal_library_enumerate(), internal_library_remove_child(), and internal_library_workspace_reset().
| uint32_t mdl_library_workspace_t::entry_limit |
Active explicit traversal limit.
Definition at line 60 of file mdl_library.h.
Referenced by internal_library_remove_root(), internal_library_report(), internal_library_workspace_reset(), and mdl_library_for_each().
| uint32_t mdl_library_workspace_t::operations |
Namespace calls attempted.
Definition at line 61 of file mdl_library.h.
Referenced by internal_library_first_child(), internal_library_take_operation(), and internal_library_workspace_reset().
| char mdl_library_workspace_t::paths[(size_t) k_mdl_library_depth_limit+1U][k_fw_fs_path_cap] |
DFS path stack, one canonical path at each permitted depth.
Definition at line 55 of file mdl_library.h.
Referenced by internal_library_act_on_node(), internal_library_remove_child(), internal_library_remove_root(), internal_library_remove_walk(), internal_library_workspace_reset(), and mdl_library_remove_tree().
| uint32_t mdl_library_workspace_t::required_entries |
Entries observed through cap+1.
Definition at line 59 of file mdl_library.h.
Referenced by internal_library_enumerate(), internal_library_remove_child(), internal_library_report(), and internal_library_workspace_reset().