下载 FreeRTOS
 

出色的 RTOS & 嵌入式软件

最新资讯
FreeRTOS 路线图和代码贡献流程。
使用 FreeRTOS 实现 OPC-UA over TSN。
FreeRTOS-Plus-TCP 现具有统一的 IPv4 和 IPv6 功能,支持多接口。
为基于 FreeRTOS 的固件实现防砖化 MCU FOTA:
宣布停止支持 FreeRTOS 202012 LTS。

ff_stat() [FreeRTOS-Plus-FAT 标准 API 引用]

ff_stdio.h  
int ff_stat( const char *pcFileName, ff_stat_struct *pxStatBuffer );
  使用文件的相关信息填充 ff_stat_struct。 ff_stat_struct 包含的字段如下表所示:
字段
说明
st_dev 包含文件的设备的设备 ID。(_RB_ Actually 设置为 xFindData.dirHandler.fsIndex。是否 可以将其描述为文件系统中挂载的索引, 其中 0 是文件系统的根目录?)
st_ino 文件的序列号。(_RB_ Actually 设置为 xFindData.dirent->ulObjectCluster.。是否 可以将其描述为 包含文件开头的簇编号?)
st_mode 如果文件是目录,则 st_mode 将 设置为 FF_IFDIR。否则 st_mode 将设置为 FF_IFREG(常规)。
st_nlink 文件硬链接的数量硬编码为 1。可从结构体中删除 st_nlink。
st_uid 文件的用户 ID(_RB_ Actually 硬编码为 0x1FF。是否可以从 stat 结构体 中删除 st_uid?)
st_gid 文件的组 ID (_RB_ Actually 硬编码为 0x1FF。是否可以从 stat 结构体 中删除 st_uid?)
st_rdev 设备 ID (st_dev 的 _RB_ Duplicate。是否可以从 stat 结构体中 删除 st_rdev?)
st_size 文件的大小(以字节为单位)。ff_stat() 无法用于 获取打开文件的大小。
st_atime 上次访问文件的时间。 仅当 FreeRTOSFATConfig.h 中的 FF_TIME_SUPPORT 设置为 1 时才可用。
st_mtime 上次修改文件的时间。 仅当 FreeRTOSFATConfig.h 中的 FF_TIME_SUPPORT 设置为 1 时才可用。
st_ctime 上次更改文件状态的时间。 仅当 FreeRTOSFATConfig.h 中的 FF_TIME_SUPPORT 设置为 1 时才可用。
参数:
pcFileName 指向以 null 结尾的标准 C 字符串的指针,该字符串包含 正在检索其 stat 信息的 文件名称。文件名可以包含目录 的相对路径。 
pxStatBuffer 指向 ff_statt_struct 的指针,用于填充 文件信息。 
返回: 如果 stat 结构体中填充了文件的相关信息, 则返回零。 如果无法使用文件的相关 信息填充 stat 结构体,则返回 -1, 并设置任务的 errno 以指示原因。任务 可以使用 stdioGET_ERRNO() API 函数 获取其 errno 值。 用法示例:

long lGetFileLength( char *pcFileName )
{
ff_stat_struct xStat;
long lReturn;

/* Find the length of the file with name pcFileName. */
if( ff_stat( pcFileName, &xStat ) == 0 )
{
lReturn = xStat.st_size;
}
else
{
/* Could not obtain the length of the file. */
lReturn = -1;
}

return lReturn;
}

Example use of the ff_stat() API function
Copyright (C) Amazon Web Services, Inc. or its affiliates. All rights reserved.