caffeine-sal 0.1.17
Header-only polymorphic middleware services layer for the Caffeine Framework
Loading...
Searching...
No Matches
cfn_sal_utl_fs.h
Go to the documentation of this file.
1
6#ifndef CAFFEINE_SAL_UTL_FS_H
7#define CAFFEINE_SAL_UTL_FS_H
8
9#ifdef __cplusplus
10extern "C"
11{
12#endif
13
14/* Includes ---------------------------------------------------------*/
15#include "cfn_sal.h"
16
17/* Defines ----------------------------------------------------------*/
18
19#define CFN_SAL_UTL_TYPE_FILESYSTEM CFN_SAL_TYPE('F', 'S', 'S')
20
21/* Types Enums ------------------------------------------------------*/
22
30
37
38/* Types Structs ----------------------------------------------------*/
39
41
42typedef struct
43{
44 const char *mount_point;
45 void *custom;
47
48typedef struct cfn_sal_utl_filesystem_s cfn_sal_utl_filesystem_t;
50
52 uint32_t event,
53 uint32_t error,
54 void *user_arg);
55
60{
61 cfn_hal_api_base_t base;
62
63 /* FS Operations */
64 cfn_hal_error_code_t (*mount)(cfn_sal_utl_filesystem_t *driver);
65 cfn_hal_error_code_t (*unmount)(cfn_sal_utl_filesystem_t *driver);
66 cfn_hal_error_code_t (*format)(cfn_sal_utl_filesystem_t *driver);
67
68 /* File Operations */
69 cfn_hal_error_code_t (*open)(cfn_sal_utl_filesystem_t *driver,
71 const char *path,
72 uint32_t mode);
73 cfn_hal_error_code_t (*close)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file);
74 cfn_hal_error_code_t (*read)(cfn_sal_utl_filesystem_t *driver,
76 uint8_t *buffer,
77 size_t len,
78 size_t *read_len);
79 cfn_hal_error_code_t (*write)(cfn_sal_utl_filesystem_t *driver,
81 const uint8_t *data,
82 size_t len,
83 size_t *written_len);
84 cfn_hal_error_code_t (*seek)(cfn_sal_utl_filesystem_t *driver,
86 uint32_t offset,
88 cfn_hal_error_code_t (*tell)(cfn_sal_utl_filesystem_t *driver,
90 uint32_t *offset_out);
91 cfn_hal_error_code_t (*eof)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, bool *is_eof);
92 cfn_hal_error_code_t (*remove)(cfn_sal_utl_filesystem_t *driver, const char *path);
93 cfn_hal_error_code_t (*rename)(cfn_sal_utl_filesystem_t *driver, const char *old_path, const char *new_path);
94 cfn_hal_error_code_t (*mkdir)(cfn_sal_utl_filesystem_t *driver, const char *path);
95 cfn_hal_error_code_t (*rmdir)(cfn_sal_utl_filesystem_t *driver, const char *path);
96 cfn_hal_error_code_t (*stat)(cfn_sal_utl_filesystem_t *driver, const char *path, void *stat_out);
97};
98
100
101CFN_SAL_CREATE_DRIVER_TYPE(sal_utl_filesystem,
106
107/* Functions inline ------------------------------------------------- */
108
110 uint32_t peripheral_id,
111 void *dependency,
113 const cfn_sal_phy_t *phy,
116 void *user_arg)
117{
118 CFN_HAL_POPULATE_DRIVER(
119 driver, CFN_SAL_UTL_TYPE_FILESYSTEM, peripheral_id, NULL, dependency, api, phy, config, callback, user_arg);
120}
121
124 const cfn_sal_phy_t *phy,
125 void *dependency,
127 void *user_arg);
129
130CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_init(cfn_sal_utl_filesystem_t *driver)
131{
132 if (!driver)
133 {
134 return CFN_HAL_ERROR_BAD_PARAM;
135 }
136 driver->base.vmt = (const struct cfn_hal_api_base_s *) driver->api;
137 return cfn_hal_base_init(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM);
138}
139
140CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_deinit(cfn_sal_utl_filesystem_t *driver)
141{
142 if (!driver)
143 {
144 return CFN_HAL_ERROR_BAD_PARAM;
145 }
146 return cfn_hal_base_deinit(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM);
147}
148
149CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_config_set(cfn_sal_utl_filesystem_t *driver,
151{
152 if (!driver)
153 {
154 return CFN_HAL_ERROR_BAD_PARAM;
155 }
156 driver->config = config;
157 return cfn_hal_base_config_set(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, (const void *) config);
158}
159
160CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_config_get(cfn_sal_utl_filesystem_t *driver,
162{
163 if (!driver || !config || !driver->config)
164 {
165 return CFN_HAL_ERROR_BAD_PARAM;
166 }
167 *config = *(driver->config);
168 return CFN_HAL_ERROR_OK;
169}
170
171CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_callback_register(cfn_sal_utl_filesystem_t *driver,
173 void *user_arg)
174{
175 if (!driver)
176 {
177 return CFN_HAL_ERROR_BAD_PARAM;
178 }
179 driver->cb = callback;
180 driver->cb_user_arg = user_arg;
181 return cfn_hal_base_callback_register(
182 &driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, (cfn_hal_callback_t) callback, user_arg);
183}
184
185CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_power_state_set(cfn_sal_utl_filesystem_t *driver,
186 cfn_hal_power_state_t state)
187{
188 if (!driver)
189 {
190 return CFN_HAL_ERROR_BAD_PARAM;
191 }
192 return cfn_hal_power_state_set(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, state);
193}
194
195CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_event_enable(cfn_sal_utl_filesystem_t *driver,
196 uint32_t event_mask)
197{
198 if (!driver)
199 {
200 return CFN_HAL_ERROR_BAD_PARAM;
201 }
202 return cfn_hal_base_event_enable(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, event_mask);
203}
204
205CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_event_disable(cfn_sal_utl_filesystem_t *driver,
206 uint32_t event_mask)
207{
208 if (!driver)
209 {
210 return CFN_HAL_ERROR_BAD_PARAM;
211 }
212 return cfn_hal_base_event_disable(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, event_mask);
213}
214
215CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_event_get(cfn_sal_utl_filesystem_t *driver,
216 uint32_t *event_mask)
217{
218 if (!driver)
219 {
220 return CFN_HAL_ERROR_BAD_PARAM;
221 }
222 return cfn_hal_base_event_get(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, event_mask);
223}
224
225CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_error_enable(cfn_sal_utl_filesystem_t *driver,
226 uint32_t error_mask)
227{
228 if (!driver)
229 {
230 return CFN_HAL_ERROR_BAD_PARAM;
231 }
232 return cfn_hal_base_error_enable(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, error_mask);
233}
234
235CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_error_disable(cfn_sal_utl_filesystem_t *driver,
236 uint32_t error_mask)
237{
238 if (!driver)
239 {
240 return CFN_HAL_ERROR_BAD_PARAM;
241 }
242 return cfn_hal_base_error_disable(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, error_mask);
243}
244
245CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_error_get(cfn_sal_utl_filesystem_t *driver,
246 uint32_t *error_mask)
247{
248 if (!driver)
249 {
250 return CFN_HAL_ERROR_BAD_PARAM;
251 }
252 return cfn_hal_base_error_get(&driver->base, CFN_SAL_UTL_TYPE_FILESYSTEM, error_mask);
253}
254
255/* Service Specific Functions --------------------------------------- */
256
257CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_mount(cfn_sal_utl_filesystem_t *driver)
258{
259 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
260 CFN_HAL_CHECK_AND_CALL_FUNC(CFN_SAL_UTL_TYPE_FILESYSTEM, mount, driver, error);
261 return error;
262}
263
264CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_unmount(cfn_sal_utl_filesystem_t *driver)
265{
266 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
267 CFN_HAL_CHECK_AND_CALL_FUNC(CFN_SAL_UTL_TYPE_FILESYSTEM, unmount, driver, error);
268 return error;
269}
270
271CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_open(cfn_sal_utl_filesystem_t *driver,
273 const char *path,
274 uint32_t mode)
275{
276 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
277 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, open, driver, error, file, path, mode);
278 return error;
279}
280
281CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_close(cfn_sal_utl_filesystem_t *driver,
283{
284 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
285 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, close, driver, error, file);
286 return error;
287}
288
289CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_read(
290 cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, uint8_t *buffer, size_t len, size_t *read_len)
291{
292 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
293 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, read, driver, error, file, buffer, len, read_len);
294 return error;
295}
296
297CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_write(cfn_sal_utl_filesystem_t *driver,
299 const uint8_t *data,
300 size_t len,
301 size_t *written_len)
302{
303 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
304 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, write, driver, error, file, data, len, written_len);
305 return error;
306}
307
308CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_format(cfn_sal_utl_filesystem_t *driver)
309{
310 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
311 CFN_HAL_CHECK_AND_CALL_FUNC(CFN_SAL_UTL_TYPE_FILESYSTEM, format, driver, error);
312 return error;
313}
314
315CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_seek(cfn_sal_utl_filesystem_t *driver,
317 uint32_t offset,
319{
320 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
321 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, seek, driver, error, file, offset, origin);
322 return error;
323}
324
325CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_tell(cfn_sal_utl_filesystem_t *driver,
327 uint32_t *offset_out)
328{
329 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
330 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, tell, driver, error, file, offset_out);
331 return error;
332}
333
334CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_eof(cfn_sal_utl_filesystem_t *driver,
336 bool *is_eof)
337{
338 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
339 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, eof, driver, error, file, is_eof);
340 return error;
341}
342
343CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_remove(cfn_sal_utl_filesystem_t *driver, const char *path)
344{
345 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
346 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, remove, driver, error, path);
347 return error;
348}
349
350CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_rename(cfn_sal_utl_filesystem_t *driver,
351 const char *old_path,
352 const char *new_path)
353{
354 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
355 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, rename, driver, error, old_path, new_path);
356 return error;
357}
358
359CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_mkdir(cfn_sal_utl_filesystem_t *driver, const char *path)
360{
361 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
362 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, mkdir, driver, error, path);
363 return error;
364}
365
366CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_rmdir(cfn_sal_utl_filesystem_t *driver, const char *path)
367{
368 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
369 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, rmdir, driver, error, path);
370 return error;
371}
372
373CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_stat(cfn_sal_utl_filesystem_t *driver,
374 const char *path,
375 void *stat_out)
376{
377 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
378 CFN_HAL_CHECK_AND_CALL_FUNC_VARG(CFN_SAL_UTL_TYPE_FILESYSTEM, stat, driver, error, path, stat_out);
379 return error;
380}
381
382#ifdef __cplusplus
383}
384#endif
385
386#endif /* CAFFEINE_SAL_UTL_FS_H */
Core definitions and macros for Caffeine SAL.
#define CFN_SAL_CREATE_DRIVER_TYPE(prefix, config_type, api_type, phy_type, cb_type)
Definition cfn_sal.h:38
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_seek(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, uint32_t offset, cfn_sal_utl_filesystem_seek_origin_t origin)
Definition cfn_sal_utl_fs.h:315
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_read(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, uint8_t *buffer, size_t len, size_t *read_len)
Definition cfn_sal_utl_fs.h:289
cfn_hal_error_code_t cfn_sal_utl_filesystem_destruct(cfn_sal_utl_filesystem_t *driver)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_event_get(cfn_sal_utl_filesystem_t *driver, uint32_t *event_mask)
Definition cfn_sal_utl_fs.h:215
void(* cfn_sal_utl_filesystem_callback_t)(cfn_sal_utl_filesystem_t *driver, uint32_t event, uint32_t error, void *user_arg)
Definition cfn_sal_utl_fs.h:51
cfn_hal_error_code_t cfn_sal_utl_filesystem_construct(cfn_sal_utl_filesystem_t *driver, const cfn_sal_utl_filesystem_config_t *config, const cfn_sal_phy_t *phy, void *dependency, cfn_sal_utl_filesystem_callback_t callback, void *user_arg)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_error_enable(cfn_sal_utl_filesystem_t *driver, uint32_t error_mask)
Definition cfn_sal_utl_fs.h:225
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_open(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t *file, const char *path, uint32_t mode)
Definition cfn_sal_utl_fs.h:271
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_mount(cfn_sal_utl_filesystem_t *driver)
Definition cfn_sal_utl_fs.h:257
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_event_enable(cfn_sal_utl_filesystem_t *driver, uint32_t event_mask)
Definition cfn_sal_utl_fs.h:195
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_unmount(cfn_sal_utl_filesystem_t *driver)
Definition cfn_sal_utl_fs.h:264
cfn_sal_utl_filesystem_mode_t
Definition cfn_sal_utl_fs.h:24
@ CFN_SAL_UTL_FILESYSTEM_MODE_CREATE
Definition cfn_sal_utl_fs.h:28
@ CFN_SAL_UTL_FILESYSTEM_MODE_APPEND
Definition cfn_sal_utl_fs.h:27
@ CFN_SAL_UTL_FILESYSTEM_MODE_READ
Definition cfn_sal_utl_fs.h:25
@ CFN_SAL_UTL_FILESYSTEM_MODE_WRITE
Definition cfn_sal_utl_fs.h:26
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_format(cfn_sal_utl_filesystem_t *driver)
Definition cfn_sal_utl_fs.h:308
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_error_get(cfn_sal_utl_filesystem_t *driver, uint32_t *error_mask)
Definition cfn_sal_utl_fs.h:245
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_init(cfn_sal_utl_filesystem_t *driver)
Definition cfn_sal_utl_fs.h:130
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_close(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file)
Definition cfn_sal_utl_fs.h:281
CFN_HAL_INLINE void cfn_sal_utl_filesystem_populate(cfn_sal_utl_filesystem_t *driver, uint32_t peripheral_id, void *dependency, const cfn_sal_utl_filesystem_api_t *api, const cfn_sal_phy_t *phy, const cfn_sal_utl_filesystem_config_t *config, cfn_sal_utl_filesystem_callback_t callback, void *user_arg)
Definition cfn_sal_utl_fs.h:109
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_write(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, const uint8_t *data, size_t len, size_t *written_len)
Definition cfn_sal_utl_fs.h:297
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_event_disable(cfn_sal_utl_filesystem_t *driver, uint32_t event_mask)
Definition cfn_sal_utl_fs.h:205
CFN_HAL_VMT_CHECK(struct cfn_sal_utl_filesystem_api_s)
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_error_disable(cfn_sal_utl_filesystem_t *driver, uint32_t error_mask)
Definition cfn_sal_utl_fs.h:235
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_power_state_set(cfn_sal_utl_filesystem_t *driver, cfn_hal_power_state_t state)
Definition cfn_sal_utl_fs.h:185
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_config_set(cfn_sal_utl_filesystem_t *driver, const cfn_sal_utl_filesystem_config_t *config)
Definition cfn_sal_utl_fs.h:149
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_config_get(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_config_t *config)
Definition cfn_sal_utl_fs.h:160
cfn_sal_utl_filesystem_seek_origin_t
Definition cfn_sal_utl_fs.h:32
@ CFN_SAL_UTL_FILESYSTEM_SEEK_END
Definition cfn_sal_utl_fs.h:35
@ CFN_SAL_UTL_FILESYSTEM_SEEK_SET
Definition cfn_sal_utl_fs.h:33
@ CFN_SAL_UTL_FILESYSTEM_SEEK_CUR
Definition cfn_sal_utl_fs.h:34
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_rmdir(cfn_sal_utl_filesystem_t *driver, const char *path)
Definition cfn_sal_utl_fs.h:366
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_eof(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, bool *is_eof)
Definition cfn_sal_utl_fs.h:334
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_mkdir(cfn_sal_utl_filesystem_t *driver, const char *path)
Definition cfn_sal_utl_fs.h:359
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_callback_register(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_callback_t callback, void *user_arg)
Definition cfn_sal_utl_fs.h:171
#define CFN_SAL_UTL_TYPE_FILESYSTEM
Definition cfn_sal_utl_fs.h:19
struct cfn_sal_utl_filesystem_s cfn_sal_utl_filesystem_t
Definition cfn_sal_utl_fs.h:48
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_remove(cfn_sal_utl_filesystem_t *driver, const char *path)
Definition cfn_sal_utl_fs.h:343
void * cfn_sal_utl_filesystem_file_t
Definition cfn_sal_utl_fs.h:40
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_rename(cfn_sal_utl_filesystem_t *driver, const char *old_path, const char *new_path)
Definition cfn_sal_utl_fs.h:350
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_deinit(cfn_sal_utl_filesystem_t *driver)
Definition cfn_sal_utl_fs.h:140
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_tell(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, uint32_t *offset_out)
Definition cfn_sal_utl_fs.h:325
CFN_HAL_INLINE cfn_hal_error_code_t cfn_sal_utl_filesystem_stat(cfn_sal_utl_filesystem_t *driver, const char *path, void *stat_out)
Definition cfn_sal_utl_fs.h:373
Generic physical mapping for services.
Definition cfn_sal_types.h:26
File System Virtual Method Table (VMT).
Definition cfn_sal_utl_fs.h:60
cfn_hal_error_code_t(* tell)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, uint32_t *offset_out)
Definition cfn_sal_utl_fs.h:88
cfn_hal_error_code_t(* rmdir)(cfn_sal_utl_filesystem_t *driver, const char *path)
Definition cfn_sal_utl_fs.h:95
cfn_hal_error_code_t(* stat)(cfn_sal_utl_filesystem_t *driver, const char *path, void *stat_out)
Definition cfn_sal_utl_fs.h:96
cfn_hal_error_code_t(* format)(cfn_sal_utl_filesystem_t *driver)
Definition cfn_sal_utl_fs.h:66
cfn_hal_error_code_t(* remove)(cfn_sal_utl_filesystem_t *driver, const char *path)
Definition cfn_sal_utl_fs.h:92
cfn_hal_error_code_t(* read)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, uint8_t *buffer, size_t len, size_t *read_len)
Definition cfn_sal_utl_fs.h:74
cfn_hal_error_code_t(* mkdir)(cfn_sal_utl_filesystem_t *driver, const char *path)
Definition cfn_sal_utl_fs.h:94
cfn_hal_error_code_t(* rename)(cfn_sal_utl_filesystem_t *driver, const char *old_path, const char *new_path)
Definition cfn_sal_utl_fs.h:93
cfn_hal_error_code_t(* mount)(cfn_sal_utl_filesystem_t *driver)
Definition cfn_sal_utl_fs.h:64
cfn_hal_error_code_t(* open)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t *file, const char *path, uint32_t mode)
Definition cfn_sal_utl_fs.h:69
cfn_hal_error_code_t(* close)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file)
Definition cfn_sal_utl_fs.h:73
cfn_hal_error_code_t(* write)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, const uint8_t *data, size_t len, size_t *written_len)
Definition cfn_sal_utl_fs.h:79
cfn_hal_api_base_t base
Definition cfn_sal_utl_fs.h:61
cfn_hal_error_code_t(* unmount)(cfn_sal_utl_filesystem_t *driver)
Definition cfn_sal_utl_fs.h:65
cfn_hal_error_code_t(* seek)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, uint32_t offset, cfn_sal_utl_filesystem_seek_origin_t origin)
Definition cfn_sal_utl_fs.h:84
cfn_hal_error_code_t(* eof)(cfn_sal_utl_filesystem_t *driver, cfn_sal_utl_filesystem_file_t file, bool *is_eof)
Definition cfn_sal_utl_fs.h:91
Definition cfn_sal_utl_fs.h:43
void * custom
Definition cfn_sal_utl_fs.h:45
const char * mount_point
Definition cfn_sal_utl_fs.h:44