The VFS component implements the virtual file system. In the KasperskyOS SDK, the VFS component consists of a set of executable files, libraries, formal specification files and header files that enable the use of file systems and/or a network stack.
VFS libraries
The vfs
CMake package contains the following libraries:
vfs_fs
contains implementations of the devfs, ramfs and ROMFS file systems, and adds implementations of other file systems to VFS.vfs_net
contains the implementation of the devfs file system and the network stack.vfs_imp
contains the vfs_fs
and vfs_net
libraries.vfs_remote
is the client transport library that converts local calls into IPC requests to VFS and receives IPC responses.vfs_server
is the VFS server transport library that receives IPC requests, converts them into local calls, and sends IPC responses.vfs_local
is used to include VFS functionality in a program.VFS executable files
The precompiled_vfs
CMake package contains the following executable files:
VfsRamFs
VfsSdCardFs
VfsNet
The VfsRamFs
and VfsSdCardFs
executable files include the vfs_server
, vfs_fs
, vfat
and lwext4
libraries. The VfsNet
executable file includes the vfs_server
, vfs_imp
libraries.
Each of these executable files has its own default values for startup parameters and environment variables.
Formal specification files and header files of VFS
The sysroot-*-kos/include/kl
directory from the KasperskyOS SDK contains the following VFS files:
VfsRamFs.edl
, VfsSdCardFs.edl
, VfsNet.edl
and VfsEntity.edl
, and the header files generated from them.Vfs.cdl
and the header file Vfs.cdl.h
generated from it.Vfs*.idl
and the header files generated from them.Libc library API supported by VFS
VFS functionality is available to programs through the API provided by the libc
library.
The functions implemented by the vfs_fs
and vfs_net
libraries are presented in the table below. The *
character denotes the functions that are optionally included in the vfs_fs
library (depending on the library build parameters).
Functions implemented by the vfs_fs library
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Functions implemented by the vfs_net library
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
If there is no implementation of a called function in VFS, the EIO
error code is returned.