Как получить больше атрибутов vfat файлов в Linux, используя C? - PullRequest
2 голосов
/ 30 октября 2009

Это продолжение моего другого вопроса здесь:

Как читать атрибуты vfat файлов в Linux, используя 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) для каждого найденного каталога / файла.

Спасибо.

1 Ответ

4 голосов
/ 30 октября 2009

На самом деле вы можете получить почти все это, комбинируя информацию, которую вы можете получить из fstat (), FAT_IOCTL_GET_ATTRIBUTES и VFAT_IOCTL_READDIR_BOTH ioctls. Хотя смотреть на это не очень приятно, поскольку для второго пользователя вам нужен файл fd, а для двух последних вам нужен fd каталога, в котором находится файл.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...