Создать и смонтировать виртуальную файловую систему
Этот вопрос не звучит тривиально, но я попробую.
Что мне нужно сделать, это создать виртуальную файловую систему и смонтировать ее, как если бы это был жесткий диск. Когда мое приложение запускается, новый жесткий диск должен появиться в списке доступных устройств. Теперь мне нужно, чтобы этот диск был виртуальным. В частности, мне нужно иметь возможность генерировать контент динамически.
В принципе, я хотел бы иметь возможность:
- импортировать магическую библиотеку
- зарегистрировать обратные вызовы для, например, списка папок, получить содержимое этого файла в этих байтах и т. д.
- запустить мою программу
- появляется новый диск, и когда я делаю ls, это моя программа, которая отвечает, что ls через обратный вызов
Это вообще возможно? В принципе, я должен иметь возможность симулировать драйв, но я даже не знаю, с чего начать.
1 ответ
В Linux библиотека FUSE встроена в ОС. В MacOS X есть OSXFUSE, который похож на FUSE в Linux.
В Windows наша компания предлагает Callback File System, которая предлагает собственный API и уровень совместимости FUSE.
Мобильные платформы (iOS, Android) не предлагают такие функции и не дают возможности для их реализации.