luat_soc_sdk_2024 V1.0
文件系统接口

结构体

struct  luat_fs_conf
 
struct  luat_fs_info
 
struct  luat_fs_dirent
 

类型定义

typedef struct luat_fs_conf luat_fs_conf_t
 
typedef struct luat_fs_info luat_fs_info_t
 
typedef struct luat_fs_dirent luat_fs_dirent_t
 

函数

int luat_fs_init (void)
 文件系统初始化
 
int luat_fs_mkfs (luat_fs_conf_t *conf)
 文件系统格式化
 
int luat_fs_mount (luat_fs_conf_t *conf)
 文件系统挂载
 
int luat_fs_umount (luat_fs_conf_t *conf)
 文件系统取消挂载
 
int luat_fs_info (const char *path, luat_fs_info_t *conf)
 获取文件系统状态
 
FILE * luat_fs_fopen (const char *filename, const char *mode)
 打开文件,类似于fopen
 
int luat_fs_getc (FILE *stream)
 读到单个字节,类似于getc
 
int luat_fs_fseek (FILE *stream, long int offset, int origin)
 设置句柄位置,类似于fseek
 
int luat_fs_ftell (FILE *stream)
 获取句柄位置,类似于ftell
 
int luat_fs_fclose (FILE *stream)
 关闭句柄位置,类似于fclose
 
int luat_fs_feof (FILE *stream)
 是否已经到文件结尾,类似于feof
 
int luat_fs_ferror (FILE *stream)
 是否有文件系统错误,类似于ferror
 
size_t luat_fs_fread (void *ptr, size_t size, size_t nmemb, FILE *stream)
 读取文件,类似于fread
 
size_t luat_fs_fwrite (const void *ptr, size_t size, size_t nmemb, FILE *stream)
 写入文件,类似于fwrite
 
int luat_fs_fflush (FILE *stream)
 
int luat_fs_remove (const char *filename)
 删除文件,类似于remove
 
int luat_fs_rename (const char *old_filename, const char *new_filename)
 文件改名,类似于rename
 
size_t luat_fs_fsize (const char *filename)
 文件大小,类似于fsize
 
int luat_fs_fexist (const char *filename)
 文件是否存在,类似于fexist
 
int luat_fs_readline (char *buf, int bufsize, FILE *stream)
 行读取
 
void * luat_fs_mmap (FILE *stream)
 获取文件映射地址
 
int luat_fs_mkdir (char const *_DirName)
 创建文件夹
 
int luat_fs_rmdir (char const *_DirName)
 删除文件夹,必须为空文件夹
 
int luat_fs_lsdir (char const *_DirName, luat_fs_dirent_t *ents, size_t offset, size_t len)
 遍历文件夹
 
int luat_fs_truncate (const char *filename, size_t len)
 文件截断
 
int luat_fs_dexist (const char *dir)
 文件夹是否存在
 

详细描述

类型定义说明

◆ luat_fs_conf_t

typedef struct luat_fs_conf luat_fs_conf_t

◆ luat_fs_dirent_t

◆ luat_fs_info_t

typedef struct luat_fs_info luat_fs_info_t

函数说明

◆ luat_fs_dexist()

int luat_fs_dexist ( const char * dir)

文件夹是否存在

参数
dir[IN]文件夹名称
返回
int =0不存在,否则存在

◆ luat_fs_fclose()

int luat_fs_fclose ( FILE * stream)

关闭句柄位置,类似于fclose

参数
stream[IN]文件句柄
返回
int =0成功,否则失败

◆ luat_fs_feof()

int luat_fs_feof ( FILE * stream)

是否已经到文件结尾,类似于feof

参数
stream[IN]文件句柄
返回
int =0未到文件尾部,其余为到达文件尾部

◆ luat_fs_ferror()

int luat_fs_ferror ( FILE * stream)

是否有文件系统错误,类似于ferror

参数
stream[IN]文件句柄
返回
int =0无错误, 其余为错误值

◆ luat_fs_fexist()

int luat_fs_fexist ( const char * filename)

文件是否存在,类似于fexist

参数
filename[IN]文件路径
返回
int =0不存在,否则存在

◆ luat_fs_fflush()

int luat_fs_fflush ( FILE * stream)

◆ luat_fs_fopen()

FILE * luat_fs_fopen ( const char * filename,
const char * mode )

打开文件,类似于fopen

参数
filename[IN]文件路径
mode[IN]打开模式,与posix类型, 例如 "r" "rw" "w" "w+" "a"
返回
FILE* 文件句柄,失败返回NULL

◆ luat_fs_fread()

size_t luat_fs_fread ( void * ptr,
size_t size,
size_t nmemb,
FILE * stream )

读取文件,类似于fread

参数
ptr[OUT]存放读取数据的缓冲区
size[IN]单次读取大小
nmemb[IN]读取次数
stream[IN]文件句柄
返回
int >=0实际读取的数量,<0出错

◆ luat_fs_fseek()

int luat_fs_fseek ( FILE * stream,
long int offset,
int origin )

设置句柄位置,类似于fseek

参数
stream[IN]文件句柄
offset[IN]偏移量
origin[IN]参考点, 例如 SEEK_SET 绝对坐标, SEEK_END 结尾, SEEK_CUR 当前
返回
int >=0成功,否则失败

◆ luat_fs_fsize()

size_t luat_fs_fsize ( const char * filename)

文件大小,类似于fsize

参数
filename[IN]文件路径
返回
int >=0文件大小, 如果文件不存在也是返回0

◆ luat_fs_ftell()

int luat_fs_ftell ( FILE * stream)

获取句柄位置,类似于ftell

参数
stream[IN]文件句柄
返回
int >=0当前位置, 否则失败

◆ luat_fs_fwrite()

size_t luat_fs_fwrite ( const void * ptr,
size_t size,
size_t nmemb,
FILE * stream )

写入文件,类似于fwrite

参数
ptr[OUT]存放写入数据的缓冲区
size[IN]单次读取大小
nmemb[IN]读取次数
stream[IN]文件句柄
返回
int >=0实际写入的数量,<0出错

◆ luat_fs_getc()

int luat_fs_getc ( FILE * stream)

读到单个字节,类似于getc

参数
stream[IN]文件句柄
返回
int >=0读取成功返回, -1失败, 例如读取到文件尾部

◆ luat_fs_info()

int luat_fs_info ( const char * path,
luat_fs_info_t * conf )

获取文件系统状态

参数
path[IN]挂载路径, 通常为 /
info[OUT]文件系统信息
返回
int =0成功,其他失败

◆ luat_fs_init()

int luat_fs_init ( void )

文件系统初始化

返回
int =0成功,其他失败

◆ luat_fs_lsdir()

int luat_fs_lsdir ( char const * _DirName,
luat_fs_dirent_t * ents,
size_t offset,
size_t len )

遍历文件夹

参数
_DirName[IN]文件夹路径
ents[OUT]文件列表,必须已分配内存,且不小于len个元素
offset[IN]跳过多少个文件
len[IN]最多读取多少个文件
返回
int =>0读取到文件个数,否则失败

◆ luat_fs_mkdir()

int luat_fs_mkdir ( char const * _DirName)

创建文件夹

参数
_DirName[IN]文件夹路径
返回
int =0成功,否则失败

◆ luat_fs_mkfs()

int luat_fs_mkfs ( luat_fs_conf_t * conf)

文件系统格式化

返回
int =0成功,其他失败

◆ luat_fs_mmap()

void * luat_fs_mmap ( FILE * stream)

获取文件映射地址

参数
stream[IN]文件句柄
返回
void* 文件地址

◆ luat_fs_mount()

int luat_fs_mount ( luat_fs_conf_t * conf)

文件系统挂载

返回
int =0成功,其他失败

◆ luat_fs_readline()

int luat_fs_readline ( char * buf,
int bufsize,
FILE * stream )

行读取

参数
buf[OUT]读取缓冲区
bufsize[IN]缓冲区大小
stream[IN]文件句柄
返回
int >=0实际写入的数量,<0出错

◆ luat_fs_remove()

int luat_fs_remove ( const char * filename)

删除文件,类似于remove

参数
filename[IN]文件路径
返回
int =0成功,否则失败

◆ luat_fs_rename()

int luat_fs_rename ( const char * old_filename,
const char * new_filename )

文件改名,类似于rename

参数
old_filename[IN]原文件路径
new_filename[IN]新文件路径
返回
int =0成功,否则失败

◆ luat_fs_rmdir()

int luat_fs_rmdir ( char const * _DirName)

删除文件夹,必须为空文件夹

参数
_DirName[IN]文件夹路径
返回
int =0成功,否则失败

◆ luat_fs_truncate()

int luat_fs_truncate ( const char * filename,
size_t len )

文件截断

参数
filename[IN]文件名
len[IN]长度
返回
int =>0读取到文件个数,否则失败

◆ luat_fs_umount()

int luat_fs_umount ( luat_fs_conf_t * conf)

文件系统取消挂载

返回
int =0成功,其他失败