8#ifndef ZEPHYR_INCLUDE_FS_FS_H_ 
    9#define ZEPHYR_INCLUDE_FS_FS_H_ 
   60#define FS_MOUNT_FLAG_NO_FORMAT BIT(0) 
   62#define FS_MOUNT_FLAG_READ_ONLY BIT(1) 
   68#define FS_MOUNT_FLAG_AUTOMOUNT BIT(2) 
   77#define FS_MOUNT_FLAG_USE_DISK_ACCESS BIT(3) 
  145#define FS_O_READ       0x01 
  147#define FS_O_WRITE      0x02 
  149#define FS_O_RDWR       (FS_O_READ | FS_O_WRITE) 
  151#define FS_O_MODE_MASK  0x03 
  154#define FS_O_CREATE     0x10 
  156#define FS_O_APPEND     0x20 
  158#define FS_O_FLAGS_MASK 0x30 
  161#define FS_O_MASK       (FS_O_MODE_MASK | FS_O_FLAGS_MASK) 
  194#define FSTAB_ENTRY_DT_MOUNT_FLAGS(node_id)                             \ 
  195        ((DT_PROP(node_id, automount) ? FS_MOUNT_FLAG_AUTOMOUNT : 0)    \ 
  196         | (DT_PROP(node_id, read_only) ? FS_MOUNT_FLAG_READ_ONLY : 0)  \ 
  197         | (DT_PROP(node_id, no_format) ? FS_MOUNT_FLAG_NO_FORMAT : 0)  \ 
  198         | (DT_PROP(node_id, disk_access) ? FS_MOUNT_FLAG_USE_DISK_ACCESS : 0)) 
  204#define FS_FSTAB_ENTRY(node_id) _CONCAT(z_fsmp_, node_id) 
  212#define FS_FSTAB_DECLARE_ENTRY(node_id)         \ 
  213        extern struct fs_mount_t FS_FSTAB_ENTRY(node_id) 
ZTEST_BMEM int index[(3)]
Definition: main.c:32
 
Doubly-linked list implementation.
 
uint8_t fs_mode_t
Definition: fs_interface.h:36
 
#define MAX_FILE_NAME
Definition: fs_interface.h:30
 
struct _dnode sys_dnode_t
Definition: dlist.h:49
 
int fs_opendir(struct fs_dir_t *zdp, const char *path)
Directory open.
 
int fs_unregister(int type, const struct fs_file_system_t *fs)
Unregister a file system.
 
int fs_statvfs(const char *path, struct fs_statvfs *stat)
Retrieves statistics of the file system volume.
 
int fs_mkdir(const char *path)
Directory create.
 
int fs_rename(const char *from, const char *to)
Rename file or directory.
 
int fs_mount(struct fs_mount_t *mp)
Mount filesystem.
 
int fs_close(struct fs_file_t *zfp)
Close file.
 
off_t fs_tell(struct fs_file_t *zfp)
Get current file position.
 
fs_dir_entry_type
Definition: fs.h:27
 
int fs_mkfs(int fs_type, uintptr_t dev_id, void *cfg, int flags)
Create fresh file system.
 
int fs_seek(struct fs_file_t *zfp, off_t offset, int whence)
Seek file.
 
int fs_stat(const char *path, struct fs_dirent *entry)
File or directory status.
 
int fs_register(int type, const struct fs_file_system_t *fs)
Register a file system.
 
int fs_open(struct fs_file_t *zfp, const char *file_name, fs_mode_t flags)
Open or create file.
 
ssize_t fs_write(struct fs_file_t *zfp, const void *ptr, size_t size)
Write file.
 
int fs_closedir(struct fs_dir_t *zdp)
Directory close.
 
int fs_readmount(int *index, const char **name)
Get path of mount point at index.
 
int fs_readdir(struct fs_dir_t *zdp, struct fs_dirent *entry)
Directory read entry.
 
int fs_unlink(const char *path)
Unlink file.
 
ssize_t fs_read(struct fs_file_t *zfp, void *ptr, size_t size)
Read file.
 
int fs_unmount(struct fs_mount_t *mp)
Unmount filesystem.
 
int fs_sync(struct fs_file_t *zfp)
Flush cached write data buffers of an open file.
 
static void fs_dir_t_init(struct fs_dir_t *zdp)
Initialize fs_dir_t object.
Definition: fs.h:238
 
static void fs_file_t_init(struct fs_file_t *zfp)
Initialize fs_file_t object.
Definition: fs.h:224
 
int fs_truncate(struct fs_file_t *zfp, off_t length)
Truncate or extend an open file to a given size.
 
@ FS_LITTLEFS
Definition: fs.h:53
 
@ FS_TYPE_EXTERNAL_BASE
Definition: fs.h:56
 
@ FS_FATFS
Definition: fs.h:50
 
@ FS_DIR_ENTRY_DIR
Definition: fs.h:31
 
@ FS_DIR_ENTRY_FILE
Definition: fs.h:29
 
__SIZE_TYPE__ ssize_t
Definition: types.h:28
 
__INTPTR_TYPE__ off_t
Definition: types.h:36
 
flags
Definition: parser.h:96
 
void * ptr
Definition: printk.c:120
 
__UINT8_TYPE__ uint8_t
Definition: stdint.h:88
 
__UINTPTR_TYPE__ uintptr_t
Definition: stdint.h:105
 
Directory object representing an open directory.
Definition: fs_interface.h:67
 
Structure to receive file or directory information.
Definition: fs.h:115
 
enum fs_dir_entry_type type
Definition: fs.h:116
 
size_t size
Definition: fs.h:118
 
char name[MAX_FILE_NAME+1]
Definition: fs.h:117
 
File System interface structure.
Definition: fs_sys.h:44
 
File object representing an open file.
Definition: fs_interface.h:53
 
File system mount info structure.
Definition: fs.h:91
 
const struct fs_file_system_t * fs
Definition: fs.h:99
 
const char * mnt_point
Definition: fs.h:94
 
void * storage_dev
Definition: fs.h:96
 
void * fs_data
Definition: fs.h:95
 
int type
Definition: fs.h:93
 
size_t mountp_len
Definition: fs.h:98
 
uint8_t flags
Definition: fs.h:100
 
sys_dnode_t node
Definition: fs.h:92
 
Structure to receive volume statistics.
Definition: fs.h:132
 
unsigned long f_bsize
Definition: fs.h:133
 
unsigned long f_frsize
Definition: fs.h:134
 
unsigned long f_blocks
Definition: fs.h:135
 
unsigned long f_bfree
Definition: fs.h:136