我有一个使用vfat驱动程序安装在Linux中的FAT文件系统.我想知道如何读取文件的vfat属性,例如"hidden"和"read-only".
基于我到目前为止所读到的内容,如果我stat()
在文件上使用glibc命令,我只会获得此处列出的文件属性:http:
//www.gnu.org/s/libc/manual/html_node/Attribute -Meanings.html#属性含义
但是,它们不包含任何vfat属性.有人可以帮忙吗?
谢谢,
Katsupoy
FAT的DOS属性不能很好地映射到UNIX文件系统模型,因此Linux的vfat
驱动程序不能反映它们.
而不是挂载文件系统,使用mtools从用户空间读取文件系统.
编辑我说谎了.显然vfat
驱动程序能够处理这些DOS属性,至少从2.4.29开始(我认为;我的历史日志不会回到那么远).
#include <inttypes.h>
#include <sys/ioctl.h>
#include <linux/msdos_fs.h>
int fd = open("/mnt/fat/...", ...);
__u32 attrs;
ioctl(fd, FAT_IOCTL_GET_ATTRIBUTES, &attrs);
attrs = ATTR_NONE; /* ATTR_{RO,HIDDEN,SYS,VOLUME,DIR,ARCH} */
ioctl(fd, FAT_IOCTL_SET_ATTRIBUTES, &attrs);
Run Code Online (Sandbox Code Playgroud)