Как читать атрибуты vfat файлов в Linux с помощью C

У меня есть файловая система FAT, смонтированная в Linux с драйвером vfat. Я хочу знать, как я смогу прочитать атрибуты vfat файла, такие как «скрытый» и «только для чтения».

Основываясь на том, что я прочитал до сих пор, если я использую команду stat() glibc в файле, я бы получил только атрибуты файлов, перечисленные здесь: http://www.gnu.org/s/libc/manual/ html_node / атрибутов Meanings.html # атрибутов смыслы

Однако они не содержат никаких атрибутов vfat. Может ли кто-нибудь помочь?

Спасибо,

Katsupoy

Атрибуты DOS FAT не хорошо отражают модель файловой системы UNIX, поэтому драйвер vfat Linux не отражает их.

Вместо установки файловой системы используйте mtools для чтения файловой системы из пользовательского пространства.


Править, я солгал. Видимо, драйвер vfat способен справляться с этими атрибутами DOS, по крайней мере, с 2.4.29 (я думаю, мои исторические журналы не возвращаются так далеко).

 #include  #include  #include  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);