Компонент VFS реализует виртуальную файловую систему. В составе KasperskyOS SDK компонент VFS представлен набором исполняемых файлов, библиотек, файлов формальной спецификации и заголовочных файлов, позволяющих использовать файловые системы и/или сетевой стек.
Библиотеки VFS
CMake-пакет vfs
содержит следующие библиотеки:
vfs_fs
– содержит реализации файловых систем devfs, ramfs и ROMFS, а также позволяет добавить в VFS реализации других файловых систем.vfs_net
– содержит реализацию файловой системы devfs и сетевого стека.vfs_imp
– содержит библиотеки vfs_fs
и vfs_net
.vfs_remote
– клиентская транспортная библиотека, которая преобразует локальные вызовы в IPC-запросы к VFS и принимает IPC-ответы.vfs_server
– серверная транспортная библиотека VFS, которая принимает IPC-запросы, преобразует их в локальные вызовы и отправляет IPC-ответы.vfs_local
– используется для включения функциональности VFS в программу.Исполняемые файлы VFS
CMake-пакет precompiled_vfs
содержит следующие исполняемые файлы:
VfsRamFs
;VfsSdCardFs
;VfsNet
.Исполняемые файлы VfsRamFs
и VfsSdCardFs
включают в себя библиотеки vfs_server
, vfs_fs
, vfat
и lwext4
. Исполняемый файл VfsNet
включает в себя библиотеки vfs_server
и vfs_imp
.
Каждый из этих исполняемых файлов имеет собственные значения параметров запуска и переменных окружения по умолчанию.
Файлы формальной спецификации и заголовочные файлы VFS
В директории sysroot-*-kos/include/kl
из состава KasperskyOS SDK находятся следующие файлы VFS:
VfsRamFs.edl
, VfsSdCardFs.edl
, VfsNet.edl
и VfsEntity.edl
и сгенерированные из них заголовочные файлы;Vfs.cdl
и сгенерированный из него заголовочный файл Vfs.cdl.h
;Vfs*.idl
и сгенерированные из них заголовочные файлы.API библиотеки libc, поддерживаемый VFS
Функциональность VFS доступна программам через API, предоставляемый библиотекой libc
.
Функции, реализуемые библиотеками vfs_fs
и vfs_net
, приведены в таблицах ниже. Символом *
отмечены функции, которые включаются в библиотеку vfs_fs
опционально (в зависимости от параметров сборки библиотеки).
Функции, реализуемые библиотекой vfs_fs
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Функции, реализуемые библиотекой vfs_net
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Если в VFS нет реализации вызванной функции, возвращается код ошибки EIO
.