7 #ifndef ZRTOS_VFS_FILE_H 8 #define ZRTOS_VFS_FILE_H 24 #ifndef ZRTOS_VFS_FILE_DESCRIPTOR__CFG_MAX 25 #error "define ZRTOS_VFS_FILE_DESCRIPTOR__CFG_MAX" 38 if(0 == zrtos_vfs_file__index[fd].dentry){
175 va_start(args,request);
211 #define ZRTOS_VFS_FILE__EACH_BEGIN(fd,file)\ 212 for(size_t fd = 0;fd < ZRTOS_VFS_FILE_DESCRIPTOR__CFG_MAX;fd++){\ 213 zrtos_vfs_file_t *file = &zrtos_vfs_file__index[fd];\ 214 if(0 != file->dentry){ 216 #define ZRTOS_VFS_FILE__EACH_END\ zrtos_error_t zrtos_vfs_file__write(zrtos_vfs_file_t *file, char *path, void *buffer, size_t len, size_t offset, size_t *ret)
#define ZRTOS_VFS_FILE_DESCRIPTOR__CFG_MAX
size_t zrtos_vfs_offset_t
zrtos_vfs_offset_t zrtos_vfs_file__get_offset(zrtos_vfs_file_t *thiz)
No such file or directory.
zrtos_error_t zrtos_vfs_file__read(zrtos_vfs_file_t *file, char *path, void *buffer, size_t len, size_t offset, size_t *ret)
#define ZRTOS_VFS_PLUGIN_OPERATION__READ
#define ZRTOS_VFS_PLUGIN_OPERATION__OPEN
#define ZRTOS_VFS_PLUGIN_OPERATION__WRITE
#define ZRTOS_VFS_PLUGIN__INVOKE(thiz, operation,...)
zrtos_error_t zrtos_vfs_file__ioctl_va(zrtos_vfs_file_t *file, char *path, int request, va_list args)
zrtos_error_t zrtos_vfs_file__open(char *path, zrtos_vfs_file_t **file, void *file_ctx)
zrtos_error_t zrtos_vfs_file__can_read(zrtos_vfs_file_t *file)
void zrtos_vfs_file__set_inode_data(zrtos_vfs_file_t *thiz, void *ctx)
zrtos_vfs_dentry_t * dentry
#define ZRTOS_VFS_PLUGIN_OPERATION__IOCTL
zrtos_error_t zrtos_vfs_file__close(zrtos_vfs_file_t *file)
void zrtos_vfs_file__set_data(zrtos_vfs_file_t *thiz, void *ctx)
zrtos_vfs_offset_t offset
zrtos_vfs_plugin_t * plugin
void * zrtos_vfs_file__get_inode_data(zrtos_vfs_file_t *thiz)
bool zrtos_error__is_success(zrtos_error_t thiz)
#define ZRTOS_VFS_PLUGIN_OPERATION__CAN_WRITE
void * zrtos_vfs_file__get_data(zrtos_vfs_file_t *thiz)
zrtos_vfs_file_t zrtos_vfs_file__index[ZRTOS_VFS_FILE_DESCRIPTOR__CFG_MAX]
#define ZRTOS_VFS_PLUGIN_OPERATION__CAN_READ
#define ZRTOS_VFS_PLUGIN_OPERATION__CLOSE
struct _zrtos_vfs_file_t zrtos_vfs_file_t
zrtos_vfs_dentry_t * zrtos_vfs_dentry__lookup(zrtos_vfs_dentry_t *thiz, char *path)
void zrtos_vfs_file__set_offset(zrtos_vfs_file_t *thiz, zrtos_vfs_offset_t offset)
zrtos_error_t zrtos_vfs_file__can_write(zrtos_vfs_file_t *file)
size_t zrtos_vfs_file__get_dentry_count(zrtos_vfs_file_t *file)
zrtos_error_t zrtos_vfs_file__ioctl(zrtos_vfs_file_t *file, char *path, int request,...)