Страниц: [1]
  Печать  
Автор Тема: Виртуальная файловая система  (Прочитано 3702 раз)
unit
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« : Августа 28, 2006, 08:48:44 pm »

Добрый день!

Пытаюсь создать устройство, включающее в себя виртуальные папки и файлы. Смысл программы состоит вот в чём:
Программа регистрирует в системе некоторое устройство типа "папка", при попытке чтения папки (функция readdir, если не ошибаюсь) программа обращается к базе данных и найдя все таблицы в ней, возвращает набор структур "sruct dirent" с именами таблиц. При попытке прочесть вложенные папки (таблицы в бд), соответственно возвращаются записи таблицы.

Проблема в следующем: вложенные папки и файлы видны только по ls, mc их не видит, показывает, будто родительская директория пуста. "readdir" также возвращает "пусто".

В чём может быть проблема?
Может, кто-нибудь уже встречал такую проблему. Код для io_read могу прислать, если понадобится
Записан
unit
Участник
*
Offline Offline

Сообщений: 0


Просмотр профиля
« Ответ #1 : Августа 30, 2006, 05:29:48 pm »

Спасибо всем за помощь!

Всё дело было в том, что "mc" и "readdir" требуют, чтобы после каждой структуры "dirent" шла структура "dirent_extra". Кроме того,  начало структур "dirent" и "dirent_extra" должны начинаться в буфере с байта, кратного восьми.

В хелпе же сказано, что передача структуры "struct stat" является необязательной, а про "dirent_extra" вообще ни слова.
Записан
AG
QOR.Moderator
*****
Offline Offline

Сообщений: 872



Просмотр профиля WWW
« Ответ #2 : Августа 31, 2006, 12:15:16 pm »

спасибо за инфо
Записан

Страниц: [1]
  Печать  
 
Перейти в: