diff --git a/components/dfs/dfs_v2/src/dfs_vnode.c b/components/dfs/dfs_v2/src/dfs_vnode.c index 21778e683c3..d46885e0b31 100644 --- a/components/dfs/dfs_v2/src/dfs_vnode.c +++ b/components/dfs/dfs_v2/src/dfs_vnode.c @@ -1,5 +1,5 @@ /* - * Copyright (c) 2006-2023, RT-Thread Development Team + * Copyright (c) 2006-2025 RT-Thread Development Team * * SPDX-License-Identifier: Apache-2.0 * @@ -18,6 +18,15 @@ #define DBG_LVL DBG_WARNING #include +/** + * @brief Initialize a virtual node (vnode) structure + * + * @param[in,out] vnode Pointer to the vnode to be initialized + * @param[in] type Type of the vnode + * @param[in] fops Pointer to file operations structure + * + * @return int Always returns 0 indicating success + */ int dfs_vnode_init(struct dfs_vnode *vnode, int type, const struct dfs_file_ops *fops) { if (vnode) @@ -33,6 +42,11 @@ int dfs_vnode_init(struct dfs_vnode *vnode, int type, const struct dfs_file_ops return 0; } +/** + * @brief Create and initialize a new virtual node (vnode) + * + * @return struct dfs_vnode* Pointer to the newly created vnode, or NULL if creation failed + */ struct dfs_vnode *dfs_vnode_create(void) { struct dfs_vnode *vnode = rt_calloc(1, sizeof(struct dfs_vnode)); @@ -49,6 +63,13 @@ struct dfs_vnode *dfs_vnode_create(void) return vnode; } +/** + * @brief Destroy a virtual node (vnode) and free its resources + * + * @param[in] vnode Pointer to the vnode to be destroyed + * + * @return int Always returns 0. Note that this does not guarantee success, as errors may occur internally. + */ int dfs_vnode_destroy(struct dfs_vnode* vnode) { rt_err_t ret = RT_EOK; @@ -91,6 +112,13 @@ int dfs_vnode_destroy(struct dfs_vnode* vnode) return 0; } +/** + * @brief Increase reference count of a virtual node (vnode) + * + * @param[in,out] vnode Pointer to the vnode to be referenced + * + * @return struct dfs_vnode* The same vnode pointer that was passed in + */ struct dfs_vnode *dfs_vnode_ref(struct dfs_vnode *vnode) { if (vnode) @@ -103,6 +131,11 @@ struct dfs_vnode *dfs_vnode_ref(struct dfs_vnode *vnode) return vnode; } +/** + * @brief Decrease reference count of a virtual node (vnode) and potentially free it + * + * @param[in,out] vnode Pointer to the vnode to be unreferenced + */ void dfs_vnode_unref(struct dfs_vnode *vnode) { rt_err_t ret = RT_EOK;