package embox.fs

module node {
	option number fnode_quantity=64

	source "inode.c"
	source "dentry.c"
	source "inode_repo.c"

	@IncludeExport(path="fs")
	source "inode.h"
	@IncludeExport(path="fs")
	source "dentry.h"

	depends embox.driver.block_dev
	depends embox.kernel.thread.mutex
	@NoRuntime depends embox.lib.libds
}

module filesystem {
	option number super_block_quantity=32
	option number mount_desc_quantity=16

	source "super_block.c"
	source "mount_table.c"
}

module xattr {
	source "xattr.c"

	depends embox.security.api
}

module xattr_list {
	source "xattr_list.c"
}

module core extends fs_api {
	source "vfs.c"

	@IncludeExport(path="fs", target_name="vfs.h")
	source "vfs.h"

	@NoRuntime depends fs_driver
	@NoRuntime depends idesc_file_ops

	depends embox.fs.file_desc_oldfs
	depends filesystem
	depends path_helper
	depends node

	depends embox.compat.libc.str
	depends embox.compat.posix.util.environ
	@NoRuntime depends embox.lib.libds
	depends embox.compat.posix.proc.uid

	depends embox.kernel.task.resource.vfs

	depends embox.kernel.task.api //vfs_get_leaf: environment should be initialized
}
