• R/O
  • SSH
  • HTTPS

chibios: Commit


Commit MetaInfo

Révision15122 (tree)
l'heure2021-11-21 23:58:16
Auteurgdisirio

Message de Log

(empty log message)

Change Summary

Modification

--- trunk/os/vfs/include/vfs.h (revision 15121)
+++ trunk/os/vfs/include/vfs.h (revision 15122)
@@ -64,6 +64,8 @@
6464 #define CH_VFS_PATCH 0
6565 /** @} */
6666
67+#include <stddef.h>
68+
6769 /* Dependencies.*/
6870 #include "osal.h"
6971 #include "hal_objects.h"
--- trunk/os/vfs/include/vfssystem.h (revision 15121)
+++ trunk/os/vfs/include/vfssystem.h (revision 15122)
@@ -118,7 +118,11 @@
118118 void vfsInit(void);
119119 vfserr_t vfsRegisterDriver(vfs_driver_t *vdp);
120120 vfserr_t vfsOpenDirectory(const char *name, vfs_directory_node_t **vdnpp);
121+ void vfsCloseDirectory(vfs_directory_node_t *vdnp);
121122 vfserr_t vfsOpenFile(const char *name, vfs_file_node_t **vfnpp);
123+ void vfsCloseFile(vfs_file_node_t *vfnp);
124+ vfserr_t vfsReadFile(vfs_file_node_t *vfnp, char *buf, size_t n);
125+ vfserr_t vfsWriteFile(vfs_file_node_t *vfnp, const char *buf, size_t n);
122126 #ifdef __cplusplus
123127 }
124128 #endif
--- trunk/os/vfs/src/vfssystem.c (revision 15121)
+++ trunk/os/vfs/src/vfssystem.c (revision 15122)
@@ -197,6 +197,17 @@
197197 }
198198
199199 /**
200+ * @brief Releases a @p vfs_directory_node_t object.
201+ *
202+ * @param[in] vdnp the pointer to the @p vfs_directory_node_t object
203+ * to be released
204+ */
205+void vfsCloseDirectory(vfs_directory_node_t *vdnp) {
206+
207+ vdnp->vmt->release((void *)vdnp);
208+}
209+
210+/**
200211 * @brief Opens a VFS file.
201212 *
202213 * @param[in] path absolute path of the file to be opened
@@ -219,4 +230,57 @@
219230 return err;
220231 }
221232
233+/**
234+ * @brief Releases a @p vfs_file_node_t object.
235+ *
236+ * @param[in] vfnp the pointer to the @p vfs_file_node_t object
237+ * to be released
238+ */
239+void vfsCloseFile(vfs_file_node_t *vfnp) {
240+
241+ vfnp->vmt->release((void *)vfnp);
242+}
243+
244+/**
245+ * @brief File node read.
246+ * @details The function reads data from a file node into a buffer.
247+ *
248+ * @param[in] vfnp the pointer to the @p vfs_file_node_t object
249+ * @param[out] buf pointer to the data buffer
250+ * @param[in] n the maximum amount of data to be transferred
251+ * @return The transferred number of bytes or an error.
252+ *
253+ * @api
254+ */
255+vfserr_t vfsReadFile(vfs_file_node_t *vfnp, char *buf, size_t n) {
256+ vfserr_t err = VFS_RET_SUCCESS;
257+
258+ (void)vfnp;
259+ (void)buf;
260+ (void)n;
261+
262+ return err;
263+}
264+
265+/**
266+ * @brief File node write.
267+ * @details The function writes data from a buffer to a file node.
268+ *
269+ * @param[in] vfnp the pointer to the @p vfs_file_node_t object
270+ * @param[out] buf pointer to the data buffer
271+ * @param[in] n the maximum amount of data to be transferred
272+ * @return The transferred number of bytes or an error.
273+ *
274+ * @api
275+ */
276+vfserr_t vfsWriteFile(vfs_file_node_t *vfnp, const char *buf, size_t n) {
277+ vfserr_t err = VFS_RET_SUCCESS;
278+
279+ (void)vfnp;
280+ (void)buf;
281+ (void)n;
282+
283+ return err;
284+}
285+
222286 /** @} */
Afficher sur ancien navigateur de dépôt.