 
			
		Virtual File System - POSIX-ähnliche Dateisystem-Schnittstelle. More...
#include <fs/vfs.h>
 Inheritance diagram for VFS:
 Inheritance diagram for VFS:| Static Public Member Functions | |
| static int | mount (const char *fstype, BlockDevice *bdev, const void *data) | 
| Siehe man 2 mount.  More... | |
| static int | umount () | 
| Siehe man 2 umount.  More... | |
| static void | sync () | 
| Schreibt Änderungen im Puffer auf die Festplatte. Siehe man 2 sync.  More... | |
| static int | open (const char *pathname, int flags) | 
| Öffnet und erstellt (je nach flags) Dateien. Siehe man 2 open.  More... | |
| static int | close (int fd) | 
| Schließt einen Dateideskriptor. Siehe man 2 close.  More... | |
| static ssize_t | read (int fd, void *buf, size_t count) | 
| Lesen von einem Dateideskriptor fdin Speicherbufder Längecount. Siehe man 2 read. | |
| static ssize_t | write (int fd, const void *buf, size_t count) | 
| Schreiben von Daten aus Speicher bufder Längecountan Dateideskriptorfd. Siehe man 2 write. | |
| static off_t | lseek (int fd, off_t offset, int whence) | 
| Ändert den aktuellen offsetfür Dateideskriptorfd. Siehe man 2 lseek.  More... | |
| static int | truncate (const char *path, off_t length) | 
| Setzt die Länge der Datei an pathauflength. Siehe man 2 truncate. | |
| static int | ftruncate (int fd, off_t length) | 
| Kürzt Datei für Dateideskriptor fdauf Längelength. Siehe man 2 ftruncate. | |
| static int | link (const char *oldpath, const char *newpath) | 
| Neuer Name newpathfür Dateioldpath. Siehe man 2 link.  More... | |
| static int | symlink (const char *target, const char *linkpath) | 
| Erstellt einen symbolischen Verweis mit Inhalt target. Siehe man 2 symlink. | |
| static int | unlink (const char *pathname) | 
| Löscht Namen und bei keinem verbleibenden Verweis mehr die Datei pathname. Siehe man 2 unlink. | |
| static int | rmdir (const char *pathname) | 
| Löscht Verzeichnis pathname. Siehe man 2 rmdir. | |
| static int | rename (const char *oldpath, const char *newpath) | 
| Verschieben von Dateien/Verzeichnissen. Siehe man 2 rename. | |
| static int | stat (const char *pathname, struct stat *statbuf) | 
| Liefert Dateistatus für pathname. Siehe man 2 stat.  More... | |
| static int | lstat (const char *pathname, struct stat *statbuf) | 
| Liefert Dateistatus für pathname. Siehe man 2 lstat.  More... | |
| static int | fstat (int fd, struct stat *statbuf) | 
| Liefert Dateistatus für Dateideskriptor fd. Siehe man 2 fstat.  More... | |
| static ssize_t | readlink (const char *pathname, char *buf, size_t bufsiz) | 
| Liest den Inhalt eines symbolischen Verweises. Siehe man 2 readlink.  More... | |
| static int | getdents (int fd, Dirent *dirp, int count) | 
| Liefert Verzeichniseinträge. Siehe man 2 getdents.  More... | |
| static DIR * | opendir (const char *name) | 
| Öffnet ein Verzeichnis name. Siehe man 3 opendir. | |
| static struct Dirent * | readdir (DIR *dirp) | 
| Liest einen Verzeichniseintrag. Siehe man 3 readdir. | |
| static void | rewinddir (DIR *dirp) | 
| Setzt die Position im Verzeichnis zurück. Siehe man 3 rewinddir. | |
| static int | closedir (DIR *dirp) | 
| Schließt ein Verzeichnis. Siehe man 3 closedir. | |
| static int | mkdir (const char *pathname) | 
| Erstellt Verzeichnis pathname. Siehe man 2 mkdir.  More... | |
| static int | chdir (const char *path) | 
| Wechselt in Verzeichnis path. Siehe man 2 chdir. | |
| static int | fchdir (int fd) | 
| Wechselt in Verzeichnis fd. Siehe man 2 fchdir. | |
Virtual File System - POSIX-ähnliche Dateisystem-Schnittstelle.
Alle Funktionen geben im Fehlerfall eine negative errno zurück.
Limitierungen: -Zeitstempel werden nie aktualisiert -Zugriffsrechte werden nie überprüft -setzt die UID und GID von neu erstellte Dateien auf 0 (root) -setzt die Zeitstempel von neu erstellen Dateien auf 0 (1.1.1970) -Dateideskriptoren und das aktuelle Arbeitsverzeichnis sind global
| 
 | static | 
Siehe man 2 mount.
Limitierungen: -target (siehe manpage) ist immer "/". -es werden keine Flags unterstützt -an Stelle des source Strings wird ein BlockDevice übergeben
| 
 | static | 
Siehe man 2 umount.
Gibt -EBUSY zurück, falls das Dateisystem noch verwendet wird (offene Dateien). Limitierungen: -target (siehe manpage) ist immer "/".
| 
 | static | 
Schreibt Änderungen im Puffer auf die Festplatte. Siehe man 2 sync.
Zurzeit nur nötig, um Änderungen an Inodes zu schreiben.
| 
 | static | 
Öffnet und erstellt (je nach flags) Dateien. Siehe man 2 open.
Limitierungen: -mode ist immer 0777 -unterstützte Flags sind: O_RDONLY, O_WRONLY, O_RDWR, O_CREAT, O_EXCL
| 
 | static | 
Schließt einen Dateideskriptor. Siehe man 2 close.
| fd | Filedeskriptor zum Schließen. | 
Es gelten die "NOTES" aus der manpage.
| 
 | static | 
Ändert den aktuellen offset für Dateideskriptor fd. Siehe man 2 lseek. 
Unterstützt kein SEEK_DATA oder SEEK_HOLE. (Mit lseek(fd, 0, SEEK_END) lässt sich die Größe einer Datei herausfinden.)
| 
 | static | 
Neuer Name newpath für Datei oldpath. Siehe man 2 link. 
Falls oldpath ein Symlink ist wird ein Hardlink auf den Symlink erstellt, nicht auf die Datei auf die der Symlink zeigt. (Selbes Verhalten wie Linux, siehe NOTES in der Manpage.)
| 
 | static | 
Liefert Dateistatus für pathname. Siehe man 2 stat. 
Limitierungen: -st_dev und st_rdev sind immer 0
| 
 | static | 
Liefert Dateistatus für pathname. Siehe man 2 lstat. 
Es gelten dieselben Limitierungen wie für stat. Falls pathname ein Symlink ist liefert lstat im Gegensatz zu stat Informationen über den Symlink, nicht über die Datei auf die der Symlink zeigt.
| 
 | static | 
Liefert Dateistatus für Dateideskriptor fd. Siehe man 2 fstat. 
Es gelten dieselben Limitierungen wie für stat.
| 
 | static | 
Liest den Inhalt eines symbolischen Verweises. Siehe man 2 readlink.
Achtung: Der Buffer wird nicht null-terminiert.
| 
 | static | 
Liefert Verzeichniseinträge. Siehe man 2 getdents.
Wird verwendet um readdir zu implementieren. Das Dirent struct ähnelt dem linux_dirent64 struct aus der manpage, allerdings sind d_ino und d_off nicht unbedingt 64-bit Werte. Limitierungen: -d_off ist immer 0
| 
 | static | 
Erstellt Verzeichnis pathname. Siehe man 2 mkdir. 
Limitierungen: -pathname darf nicht mit einem '/' enden.