TacOS  0.2
 Tout Structures de données Fichiers Fonctions Variables Définitions de type Énumérations Macros
Structures de données | Macros | Définitions de type | Fonctions | Variables
Référence du fichier vfs.c

Virtual File System. Gestion des points de montage. Plus de détails...

#include <dcache.h>
#include <kdirent.h>
#include <kfcntl.h>
#include <kmalloc.h>
#include <vfs.h>
#include <kerrno.h>
#include <klibc/string.h>
#include <fd_types.h>
#include <klog.h>
Graphe des dépendances par inclusion de vfs.c:

Structures de données

struct  _available_fs_t
 

Macros

#define LOOKUP_PARENT   1
 
#define LOOKUP_NOFOLLOW   2
 

Définitions de type

typedef struct _available_fs_t available_fs_t
 

Fonctions

void vfs_init ()
 
void vfs_register_fs (file_system_t *fs)
 Enregistrer un FS dans le VFS pour le rendre disponible.
 
open_file_descriptorvfs_open (const char *pathname, uint32_t flags)
 Ouverture d'un fichier. Plus de détails...
 
int vfs_close (open_file_descriptor *ofd)
 Fermeture d'un fichier ouvert. Plus de détails...
 
void vfs_mount (const char *device, const char *mountpoint, const char *type)
 Montage d'un device sur un certain point de montage. Plus de détails...
 
int vfs_umount (const char *mountpoint)
 Démonte un point de montage. Plus de détails...
 
int vfs_stat (const char *pathname, struct stat *buf, int follow_link)
 Obtient des infos sur un noeud. Plus de détails...
 
int vfs_unlink (const char *pathname)
 Suppression d'un noeud. Plus de détails...
 
int vfs_rmdir (const char *pathname)
 Suppression d'un dossier. Plus de détails...
 
int vfs_mknod (const char *pathname, mode_t mode, dev_t dev)
 Création d'un nouveau noeud. Plus de détails...
 
int vfs_mkdir (const char *pathname, mode_t mode)
 Création d'un dossier. Plus de détails...
 
int vfs_chmod (const char *pathname, mode_t mode)
 Change les droits d'un noeud. Plus de détails...
 
int vfs_chown (const char *pathname, uid_t owner, gid_t group)
 Change le propriétaire d'un noeud. Plus de détails...
 
int vfs_utimes (const char *pathname, const struct timeval tv[2])
 Modifie la date d'accès et de modification d'un fichier. Plus de détails...
 
int vfs_rename (const char *oldpath, const char *newpath)
 Renomme ou déplace un fichier. Plus de détails...
 
int vfs_readdir (open_file_descriptor *ofd, char *entries, size_t size)
 Lecture de plusieurs entrées d'un dossier. Plus de détails...
 
ssize_t vfs_readlink (const char *path, char *buf, size_t bufsize)
 

Variables

struct _open_file_operations_t pipe_fops
 

Description détaillée

Auteur
TacOS developers

LICENSE

Copyright (C) 2010-2014 TacOS developers.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details at http://www.gnu.org/copyleft/gpl.html

You should have received a copy of the GNU General Public License along with this program; if not, see http://www.gnu.org/licenses.

DESCRIPTION

Documentation des macros

#define LOOKUP_NOFOLLOW   2

Ne résoud pas le dernier lien.

#define LOOKUP_PARENT   1

S'arrête au niveau du parent.

Documentation des définitions de type

Cellule d'une liste de fs disponibles.

Documentation des fonctions

int vfs_chmod ( const char *  pathname,
mode_t  mode 
)
Paramètres
pathnameChemin du fichier.
modeDroits du fichier.
Renvoie
0 en cas de succès.
int vfs_chown ( const char *  pathname,
uid_t  owner,
gid_t  group 
)
Paramètres
pathnameChemin du fichier.
ownerPropriétaire du fichier.
groupGroupe auquel appartient le fichier.
Renvoie
0 en cas de succès.
int vfs_close ( open_file_descriptor ofd)
Paramètres
ofddu fichier ouvert.
Renvoie
0 en cas de succès.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

void vfs_init ( )

Initialisation du VFS.

Voici le graphe d'appel pour cette fonction :

int vfs_mkdir ( const char *  pathname,
mode_t  mode 
)
Paramètres
pathnameChemin du dossier.
modeDroits sur le dossier.
Renvoie
0 en cas de succès.

Voici le graphe des appelants de cette fonction :

int vfs_mknod ( const char *  path,
mode_t  mode,
dev_t  dev 
)
Paramètres
pathChemin du fichier.
modeDroits et type de fichier.
devSi c'est un fichier spécial, le device associé.
Renvoie
0 en cas de succès.

Voici le graphe des appelants de cette fonction :

void vfs_mount ( const char *  device,
const char *  mountpoint,
const char *  type 
)
Paramètres
deviceà monter.
mountpointnom du dossier.
typeFS à utiliser.

Voici le graphe d'appel pour cette fonction :

open_file_descriptor* vfs_open ( const char *  pathname,
uint32_t  flags 
)
Paramètres
pathnameChemin du fichier à ouvrir.
flagsMode d'ouverture.
Renvoie
Un descripteur de fichier ouvert.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

int vfs_readdir ( open_file_descriptor ofd,
char *  entries,
size_t  size 
)
Paramètres
ofddu dossier ouvert.
entriesContenu du dossier, encodé dans une chaîne de caractères.
sizeTaille de la chaîne entries.
Renvoie
0 en cas de succès.

Voici le graphe d'appel pour cette fonction :

int vfs_rename ( const char *  oldpath,
const char *  newpath 
)
Paramètres
oldpathAncien chemin du fichier.
newpathNouveau chemin du fichier.
Renvoie
0 en cas de succès.
int vfs_rmdir ( const char *  pathname)
Paramètres
pathnameChemin du dossier.
Renvoie
0 en cas de succès.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

int vfs_stat ( const char *  pathname,
struct stat stbuf,
int  follow_link 
)
Paramètres
pathnameChemin du fichier.
stbufStructure pour stocker les informations du noeud.
Renvoie
0 en cas de succès.

Voici le graphe des appelants de cette fonction :

int vfs_umount ( const char *  mountpoint)
Paramètres
mountpointPoint de montage à démonter.
Renvoie
0 en cas de succès.

Voici le graphe d'appel pour cette fonction :

int vfs_unlink ( const char *  pathname)
Paramètres
pathnameChemin du fichier.
Renvoie
0 en cas de succès.

Voici le graphe d'appel pour cette fonction :

Voici le graphe des appelants de cette fonction :

int vfs_utimes ( const char *  pathname,
const struct timeval  tv[2] 
)
Paramètres
pathnameChemin du fichier.
tvDate d'accès et de modification.
Renvoie
0 en cas de succès.