genode/os/include/vfs/file_system.h
Norman Feske c3c6a82d13 Move VFS from noux to 'os/include/vfs'
By separating the VFS from Noux, we become able to reuse the
VFS for libc-using programs. The most substantial change is the
removal of Noux::Sysio data structures from the VFS. Instead, the
Noux::Sysio refers to the VFS types now.

The new VFS library is located at 'os/include/vfs/'.

Furthermore, the patch removes various code duplications related
to pseudo file systems that provide a single file (block, zero,
random, terminal, null). The new 'Single_file_system' holds the
common boilerplate code for those.

Issue #999
2014-04-29 15:19:27 +02:00

43 lines
943 B
C++

/*
* \brief VFS file-system back-end interface
* \author Norman Feske
* \date 2011-02-17
*/
/*
* Copyright (C) 2011-2014 Genode Labs GmbH
*
* This file is part of the Genode OS framework, which is distributed
* under the terms of the GNU General Public License version 2.
*/
#ifndef _INCLUDE__VFS__FILE_SYSTEM_H_
#define _INCLUDE__VFS__FILE_SYSTEM_H_
#include <vfs/directory_service.h>
#include <vfs/file_io_service.h>
namespace Vfs { struct File_system; }
struct Vfs::File_system : Directory_service, File_io_service
{
/**
* Our next sibling within the same 'Dir_file_system'
*/
struct File_system *next;
File_system() : next(0) { }
/**
* Synchronize file system
*
* This function is only used by a Fs_file_system because such a file
* system may employ a backend, which maintains a internal cache, that
* needs to be flushed.
*/
virtual void sync() { }
};
#endif /* _INCLUDE__VFS__FILE_SYSTEM_H_ */