|
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.
1.8.7