6#ifndef CAFFEINE_SAL_UTL_FS_H
7#define CAFFEINE_SAL_UTL_FS_H
19#define CFN_SAL_UTL_TYPE_FILESYSTEM CFN_SAL_TYPE('F', 'S', 'S')
90 uint32_t *offset_out);
110 uint32_t peripheral_id,
118 CFN_HAL_POPULATE_DRIVER(
134 return CFN_HAL_ERROR_BAD_PARAM;
136 driver->base.vmt = (
const struct cfn_hal_api_base_s *) driver->api;
144 return CFN_HAL_ERROR_BAD_PARAM;
154 return CFN_HAL_ERROR_BAD_PARAM;
156 driver->config = config;
163 if (!driver || !config || !driver->config)
165 return CFN_HAL_ERROR_BAD_PARAM;
167 *config = *(driver->config);
168 return CFN_HAL_ERROR_OK;
177 return CFN_HAL_ERROR_BAD_PARAM;
179 driver->cb = callback;
180 driver->cb_user_arg = user_arg;
181 return cfn_hal_base_callback_register(
186 cfn_hal_power_state_t state)
190 return CFN_HAL_ERROR_BAD_PARAM;
200 return CFN_HAL_ERROR_BAD_PARAM;
210 return CFN_HAL_ERROR_BAD_PARAM;
216 uint32_t *event_mask)
220 return CFN_HAL_ERROR_BAD_PARAM;
230 return CFN_HAL_ERROR_BAD_PARAM;
240 return CFN_HAL_ERROR_BAD_PARAM;
246 uint32_t *error_mask)
250 return CFN_HAL_ERROR_BAD_PARAM;
259 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
266 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
276 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
284 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
292 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
303 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
310 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
320 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
327 uint32_t *offset_out)
329 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
338 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
345 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
351 const char *old_path,
352 const char *new_path)
354 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
361 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
368 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
377 cfn_hal_error_code_t error = CFN_HAL_ERROR_OK;
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