121 #define ATTR_GID (1 << 1)
122 #define ATTR_MODE (1 << 2)
123 #define ATTR_ATIME (1 << 3)
124 #define ATTR_MTIME (1 << 4)
125 #define ATTR_CTIME (1 << 5)
126 #define ATTR_SIZE (1 << 6)
131 typedef struct _file_attributes_t {
159 void vfs_mount(
const char *device,
const char *mountpoint,
const char *type);
188 int vfs_stat(
const char *pathname,
struct stat * stbuf,
int follow_link);
249 int vfs_rename(
const char *oldpath,
const char *newpath);
285 ssize_t vfs_readlink(
const char *path,
char *buf,
size_t bufsize);
dentry_t * dentry
Definition: vfs.h:115
time_t i_mtime
Definition: vfs.h:89
inode_t * d_inode
Definition: vfs.h:106
struct _mounted_fs_t * next
Definition: vfs.h:75
int(* unlink)(struct _inode_t *, struct _dentry_t *)
Definition: vfs.h:62
int vfs_chmod(const char *pathname, mode_t mode)
Change les droits d'un noeud.
Definition: vfs.c:473
unsigned char i_flags
Definition: vfs.h:93
uint32_t uid_t
Definition: kstat.h:65
int(* setattr)(struct _inode_t *inode, struct _file_attributes_t *attr)
Definition: vfs.h:65
gid_t i_gid
Definition: vfs.h:85
int vfs_rename(const char *oldpath, const char *newpath)
Renomme ou déplace un fichier.
Definition: vfs.c:514
int(* mknod)(struct _inode_t *, struct _dentry_t *, mode_t, dev_t)
Definition: vfs.h:60
int(* rename)(struct _inode_t *old_dir, struct _dentry_t *old_dentry, struct _inode_t *new_dir, struct _dentry_t *new_dentry)
Definition: vfs.h:66
int(* mkdir)(struct _inode_t *, struct _dentry_t *, mode_t)
Definition: vfs.h:59
void vfs_mount(const char *device, const char *mountpoint, const char *type)
Montage d'un device sur un certain point de montage.
Definition: vfs.c:310
int vfs_chown(const char *pathname, uid_t owner, gid_t group)
Change le propriétaire d'un noeud.
Definition: vfs.c:486
int flags
Definition: vfs.h:114
mounted_fs_t * mnt
Definition: vfs.h:116
int vfs_mknod(const char *path, mode_t mode, dev_t dev)
Création d'un nouveau noeud.
Definition: vfs.c:433
int unique_inode
Definition: vfs.h:46
int vfs_rmdir(const char *pathname)
Suppression d'un dossier.
Definition: vfs.c:409
off_t i_size
Definition: vfs.h:86
time_t i_dtime
Definition: vfs.h:90
Instance d'un couple FS/Device monté.
Definition: vfs.h:54
int mask
Definition: vfs.h:132
int i_mode
Definition: vfs.h:83
unsigned long i_blocks
Definition: vfs.h:94
fs_instance_t * i_instance
Definition: vfs.h:95
unsigned long i_ino
Definition: vfs.h:82
struct _file_attributes_t file_attributes_t
int vfs_umount(const char *mountpoint)
Démonte un point de montage.
Definition: vfs.c:332
time_t i_atime
Definition: vfs.h:87
char * name
Definition: vfs.h:45
unsigned char i_nlink
Definition: vfs.h:92
int vfs_unlink(const char *pathname)
Suppression d'un noeud.
Definition: vfs.c:384
const char * d_name
Definition: vfs.h:105
Structures liées aux fichiers ouverts.
void vfs_register_fs(file_system_t *fs)
Enregistrer un FS dans le VFS pour le rendre disponible.
Definition: vfs.c:85
int vfs_close(open_file_descriptor *ofd)
Fermeture d'un fichier ouvert.
Definition: vfs.c:288
void * i_fs_specific
Definition: vfs.h:98
uint32_t dev_t
Definition: kstat.h:64
uint32_t gid_t
Definition: kstat.h:66
const char * last
Definition: vfs.h:117
int vfs_readdir(open_file_descriptor *ofd, char *entries, size_t size)
Lecture de plusieurs entrées d'un dossier.
Definition: vfs.c:543
Informations sur un noeud.
Definition: kstat.h:75
Definition: fd_types.h:49
int(* truncate)(struct _inode_t *, off_t size)
Definition: vfs.h:64
struct _dentry_t * d_pdentry
Definition: vfs.h:107
uint32_t mode_t
Definition: kstat.h:63
struct _fs_instance_t fs_instance_t
Instance d'un couple FS/Device monté.
int ssize_t
Definition: types.h:44
int vfs_stat(const char *pathname, struct stat *stbuf, int follow_link)
Obtient des infos sur un noeud.
Definition: vfs.c:368
int(* rmdir)(struct _inode_t *, struct _dentry_t *)
Definition: vfs.h:63
int vfs_mkdir(const char *pathname, mode_t mode)
Création d'un dossier.
Definition: vfs.c:450
struct _open_file_operations_t * i_fops
Definition: vfs.h:97
int vfs_utimes(const char *pathname, const struct timeval tv[2])
Modifie la date d'accès et de modification d'un fichier.
Definition: vfs.c:500
unsigned long int uint32_t
Definition: types.h:36
char * name
Definition: vfs.h:74
fs_instance_t * instance
Definition: vfs.h:73
open_file_descriptor * vfs_open(const char *pathname, uint32_t flags)
Ouverture d'un fichier.
Definition: vfs.c:235
file_system_t * fs
Definition: vfs.h:55
struct _mounted_fs_t mounted_fs_t
uid_t i_uid
Definition: vfs.h:84
void vfs_init()
Definition: vfs.c:65
Definition: vga_modes.h:37
Definition: fd_types.h:91
open_file_descriptor * device
Definition: vfs.h:56
time_t i_ctime
Definition: vfs.h:88
struct _dentry_t dentry_t
Structure qui représente un FS.
Definition: vfs.h:44
Manipulation des caractéristiques d'un fichier.
int i_count
Definition: vfs.h:91