这是我在这里的另一个问题的后续行动:
How to read vfat attributes of files in Linux using C
-
我在linux / msdos_fs.h中看到了这个结构:
struct msdos_dir_entry {
__u8 name[8],ext[3]; /* name and extension */
__u8 attr; /* attribute bits */
__u8 lcase; /* Case for base and extension */
__u8 ctime_cs; /* Creation time, centiseconds (0-199) */
__le16 ctime; /* Creation time */
__le16 cdate; /* Creation date */
__le16 adate; /* Last access date */
__le16 starthi; /* High 16 bits of cluster in FAT32 */
__le16 time,date,start;/* time, date and first cluster */
__le32 size; /* file size (in bytes) */
};
我的问题是,是否可以在我的用户应用程序中填充这样的结构?我的应用程序要求是它应该能够遍历vfat文件系统,并为它找到的每个目录/文件获取vfat属性(msdos_dir_entry
)。
感谢。
答案 0 :(得分:4)
实际上,你可以通过组合从fstat(),FAT_IOCTL_GET_ATTRIBUTES和VFAT_IOCTL_READDIR_BOTH ioctls获得的信息来获得几乎所有这些。但是看起来并不好看,因为对于fromer 2你需要文件fd而后两个你需要文件所在的dir的fd。