TacOS
0.2
|
Aller au code source de ce fichier.
Structures de données | |
struct | ext2_super_block |
struct | ext2_group_desc |
struct | ext2_group_desc_internal |
struct | ext2_inode |
struct | ext2_directory |
Structure qui représente une entrée dans un dossier ext2. Format imposé par Ext2. Plus de détails... | |
struct | directories_t |
Structure chaînée pour enregistrer les entrées d'un dossier. Plus de détails... | |
struct | _ext2_fs_instance_t |
Instance de FS Ext2. Plus de détails... | |
Macros | |
#define | EXT2_ROOT_INO 2 |
#define | EXT2_OS_LINUX 0 |
#define | EXT2_OS_HURD 1 |
#define | EXT2_OS_MASIX 2 |
#define | EXT2_OS_FREEBSD 3 |
#define | EXT2_OS_LITES 4 |
#define | EXT2_GOOD_OLD_REV 0 |
#define | EXT2_DYNAMIC_REV 1 |
#define | EXT2_FT_UNKNOWN 0 |
#define | EXT2_FT_REG_FILE 1 |
#define | EXT2_FT_DIR 2 |
#define | EXT2_FT_CHRDEV 3 |
#define | EXT2_FT_BLKDEV 4 |
#define | EXT2_FT_FIFO 5 |
#define | EXT2_FT_SOCK 6 |
#define | EXT2_FT_SYMLINK 7 |
#define | EXT2_S_IFSOCK 0xC000 |
#define | EXT2_S_IFLNK 0xA000 |
#define | EXT2_S_IFREG 0x8000 |
#define | EXT2_S_IFBLK 0x6000 |
#define | EXT2_S_IFDIR 0x4000 |
#define | EXT2_S_IFCHR 0x2000 |
#define | EXT2_S_IFIFO 0x1000 |
#define | EXT2_S_ISUID 0x0800 |
#define | EXT2_S_ISGID 0x0400 |
#define | EXT2_S_ISVTX 0x0200 |
#define | EXT2_S_IRUSR 0x0100 |
#define | EXT2_S_IWUSR 0x0080 |
#define | EXT2_S_IXUSR 0x0040 |
#define | EXT2_S_IRGRP 0x0020 |
#define | EXT2_S_IWGRP 0x0010 |
#define | EXT2_S_IXGRP 0x0008 |
#define | EXT2_S_IROTH 0x0004 |
#define | EXT2_S_IWOTH 0x0002 |
#define | EXT2_S_IXOTH 0x0001 |
Définitions de type | |
typedef struct _ext2_fs_instance_t | ext2_fs_instance_t |
Instance de FS Ext2. | |
Fonctions | |
void | umount_EXT2 (fs_instance_t *instance) |
Unmount d'un point de montage. Plus de détails... | |
ssize_t | ext2_read (open_file_descriptor *ofd, void *buf, size_t size) |
Lecture d'un fichier. Plus de détails... | |
ssize_t | ext2_write (open_file_descriptor *ofd, const void *buf, size_t size) |
Ecriture d'un fichier. Plus de détails... | |
int | ext2_close (open_file_descriptor *ofd) |
Fermeture d'un fichier ouvert. Plus de détails... | |
int | ext2_readdir (open_file_descriptor *ofd, char *entries, size_t size) |
Lecture du contenu d'un dossier. Plus de détails... | |
int | ext2_stat (fs_instance_t *instance, const char *path, struct stat *stbuf) |
Récupère l'état d'un fichier ou dossier. Plus de détails... | |
int | ext2_mknod (inode_t *dir, dentry_t *dentry, mode_t mode, dev_t dev) |
Création d'un noeud (fichier, dossier, fichier spécial...) Plus de détails... | |
int | ext2_mkdir (inode_t *dir, dentry_t *dentry, mode_t mode) |
Création d'un dossier. Plus de détails... | |
int | ext2_unlink (inode_t *dir, dentry_t *dentry) |
Suppression d'un noeud. Plus de détails... | |
int | ext2_truncate (inode_t *inode, off_t off) |
Change la taille d'un fichier. Plus de détails... | |
int | ext2_rmdir (inode_t *dir, dentry_t *dentry) |
Suppression d'un dossier vide. Plus de détails... | |
int | ext2_setattr (inode_t *inode, file_attributes_t *attr) |
int | ext2_seek (open_file_descriptor *ofd, long offset, int whence) |
dentry_t * | ext2_getroot (struct _fs_instance_t *instance) |
dentry_t * | ext2_lookup (struct _fs_instance_t *instance, struct _dentry_t *dentry, const char *name) |
int | ext2_rename (inode_t *old_dir, dentry_t *old_dentry, inode_t *new_dir, dentry_t *new_dentry) |
Renomme ou déplace un fichier. Plus de détails... | |
dentry_t * | init_rootext2fs (ext2_fs_instance_t *instance) |
Variables | |
struct _open_file_operations_t | ext2fs_fops |
Copyright (C) 2010, 2011, 2012 - 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 de ce que fait le fichier
#define EXT2_DYNAMIC_REV 1 |
V2 format w/ dynamic inode sizes
#define EXT2_FT_BLKDEV 4 |
Block device.
#define EXT2_FT_CHRDEV 3 |
Char device.
#define EXT2_FT_DIR 2 |
Dossier.
#define EXT2_FT_FIFO 5 |
Fifo special file.
#define EXT2_FT_REG_FILE 1 |
Fichier régulier.
#define EXT2_FT_SOCK 6 |
Socket special file.
#define EXT2_FT_SYMLINK 7 |
Lien symbolique.
#define EXT2_FT_UNKNOWN 0 |
Filetype inconu.
#define EXT2_GOOD_OLD_REV 0 |
The good old (original) format
#define EXT2_OS_FREEBSD 3 |
Code pour Freebsd
#define EXT2_OS_HURD 1 |
Code pour Hurd
#define EXT2_OS_LINUX 0 |
Code pour Linux
#define EXT2_OS_LITES 4 |
Code pour Lites
#define EXT2_OS_MASIX 2 |
Code pour Masix
#define EXT2_ROOT_INO 2 |
Numéro de l'inode racine.
#define EXT2_S_IFBLK 0x6000 |
block device
#define EXT2_S_IFCHR 0x2000 |
character device
#define EXT2_S_IFDIR 0x4000 |
directory
#define EXT2_S_IFIFO 0x1000 |
fifo
#define EXT2_S_IFLNK 0xA000 |
symbolic link
#define EXT2_S_IFREG 0x8000 |
regular file
#define EXT2_S_IFSOCK 0xC000 |
socket
#define EXT2_S_IRGRP 0x0020 |
group read
#define EXT2_S_IROTH 0x0004 |
others read
#define EXT2_S_IRUSR 0x0100 |
user read
#define EXT2_S_ISGID 0x0400 |
Set process Group ID
#define EXT2_S_ISUID 0x0800 |
Set process User ID
#define EXT2_S_ISVTX 0x0200 |
sticky bit
#define EXT2_S_IWGRP 0x0010 |
group write
#define EXT2_S_IWOTH 0x0002 |
others write
#define EXT2_S_IWUSR 0x0080 |
user write
#define EXT2_S_IXGRP 0x0008 |
group execute
#define EXT2_S_IXOTH 0x0001 |
others execute
#define EXT2_S_IXUSR 0x0040 |
user execute
int ext2_close | ( | open_file_descriptor * | ofd | ) |
ofd | Descripteur du fichier ouvert. |
dentry_t* ext2_getroot | ( | struct _fs_instance_t * | instance | ) |
Retourne le noeud racine.
instance | Instance de FS. |
dentry_t* ext2_lookup | ( | struct _fs_instance_t * | instance, |
struct _dentry_t * | dentry, | ||
const char * | name | ||
) |
Recherche le directory entry qui correspond au nom donné.
instance | Instance de FS. |
dentry | Parent directory entry. |
name | Nom de l'entrée. |
dir | Inode du dossier parent. |
dentry | Structure contenant le nom et un pointeur vers l'inode qui sera créé. |
mode | Droits sur le dossier. |
dir | Inode du dossier parent. |
dentry | Structure contenant le nom et un pointeur vers l'inode qui sera créé. |
mode | Droits sur le noeud. |
dev | En cas de fichier spécial (device) |
ssize_t ext2_read | ( | open_file_descriptor * | ofd, |
void * | buf, | ||
size_t | size | ||
) |
ofd | Descripteur du fichier ouvert. |
buf | Buffer où stocker les octets lus. |
size | Nombre d'octets à lire. |
int ext2_readdir | ( | open_file_descriptor * | ofd, |
char * | entries, | ||
size_t | size | ||
) |
ofd | Descripteur de fichier qui correspond au dossier. |
entries | Buffer qui va recevoir les entrées de dossier. |
size | Nombre d'octets dans le buffer au maximum. |
int ext2_rename | ( | inode_t * | old_dir, |
dentry_t * | old_dentry, | ||
inode_t * | new_dir, | ||
dentry_t * | new_dentry | ||
) |
old_dir | Inode du dossier parent de l'ancien nom. |
old_dentry | Nom et inode à déplacer. |
new_dir | Inode du dossier de destination. |
new_dentry | Nom et inode de destination. |
dir | Inode du dossier parent. |
dentry | Dossier à supprimer. |
int ext2_seek | ( | open_file_descriptor * | ofd, |
long | offset, | ||
int | whence | ||
) |
Déplacement dans un fichier.
ofd | Descripteur de fichier ouvert. |
offset | Décalage |
whence | depuis le debut, la fin ou en relatif. |
int ext2_setattr | ( | inode_t * | inode, |
file_attributes_t * | attr | ||
) |
Change les attributs d'un inode.
inode | Inode à modifier. |
attr | Nouveaux attributs. |
int ext2_stat | ( | fs_instance_t * | instance, |
const char * | path, | ||
struct stat * | stbuf | ||
) |
instance | Instance de fs. |
path | Chemin du fichier. |
stbuf | Endroit où enregistrer les infos. |
inode | Inode à modifier. |
off | Nouvelle taille. |
dir | Inode du dossier parent. |
dentry | Entrée à supprimer. |
ssize_t ext2_write | ( | open_file_descriptor * | ofd, |
const void * | buf, | ||
size_t | size | ||
) |
ofd | Descripteur du fichier ouvert. |
buf | Buffer contenant les octets à écrire. |
size | Nombre d'octets à écrire. |
void umount_EXT2 | ( | fs_instance_t * | instance | ) |
instance | L'instance de fs que l'on veut démonter. |
struct _open_file_operations_t ext2fs_fops |
Pointeurs sur les fonctions de manipulation de fichiers pour ce FS.