Rechercher une page de manuel
proc_dir_entry
Langue: fr
Version: Juillet 1997 (fedora - 25/11/07)
Section: 9 (Appels noyau Linux)
NOM
proc_dir_entry, proc_register, proc_register_dynamic, proc_unregister - ajouter des entrées dans le système de fichiers /proc.SYNOPSIS
#include <linux/proc_fs.h>- int proc_register(struct proc_dir_entry * parent, struct proc_dir_entry * child);
- int proc_unregister(struct proc_dir_entry * parent, int inode);
- int proc_register_dynamic(struct proc_dir_entry * parent, struct proc_dir_entry * child);
DESCRIPTION
Les fonctions proc_register ajoutent une entrée de fichier ou de répertoire au système de fichier virtuel /proc. Chaque entrée est associée à une routine chargée de gérer les entrées-sorties sur cette inode. La structure proc_dir_entry est définie comme :struct proc_dir_entry { unsigned short low_ino; unsigned short namelen; const char *name; mode_t mode; nlink_t nlink; uid_t uid; gid_t gid; unsigned long size; struct inode_operations * ops; int (*get_info)(char *buffer, char **start, off_t offset, int length, int unused); void (*fill_inode)(struct inode *); struct proc_dir_entry *next, *parent, *subdir; void *data; };
- low_ino
- Le numéro d'inode de cette entrée de répertoire. Pour proc_register , ce nombre doit être unique dans le système de fichiers /proc. Des valeurs sont définies dans <linux/proc_fs.h>. Pour proc_register_dynamic , le numéro d'inode est dynamiquement choisi.
- namelen
- La longueur du nom, sans compter le caractère nul terminal.
- name
- Le nom de l'inode.
- mode
- Le type et les droits (permissions) sur l'inode. Voir <linux/stat.h>.
- nlink
- Le nombre de liens au noeud. S'initialise à 2 si le mode inclut S_IFDIR, sinon 1 .
- uid
- L'UID (User ID) du propriétaire de l'inode, normalement 0.
- gid
- Le GD (Group ID) du propriétaire de l'inode, normalement 0.
- size
- Taille de l'inode telle qu'elle apparaîtra dans les listings retournés par stat. stat. À moins que vous n'ayez réellement besoin d'une taille, ce champ doit être à zéro.
- ops
- Définit les opérations réalisables sur l'inode. Pour un répertoire, utiliser &proc_dir_inode_operations à moins qu'un comportement spécial doive être défini. Pour un inode leaf, mettez normalement NULL.
- get_info
- Si définie, cette procédure sera appelée à chaque fois que l'inode sera lue. Normalement initialisée à NULL pour un répertoire. NOTE : Si vous retournez de grandes quantités de données, la procédure doit retourner les données par morceaux et se préparer au prochain appel en positionnant la variable offset Voir ip_masq_procinfo pour un tel exemple.
- fill_inode
- Remplit dynamiquement les caractéristiques de l'inode lors des opérations sur le répertoire. Devrait être à NULL. Voir proc_pid_fill_inode pour un exemple.
- next, parent, subdir
- Mis à jour par les routines de /proc. À initialiser à NULL.
- data
- Pointeur utilisé par les routines de /proc pour passer des données locales. Vous pouvez en faire ce que vous voulez quand vous appellez proc_register, normalement NULL. Ce pointeur est copié dans le champ u.ip_generic de l'inode par proc_get_inode et est donc disponible pour toutes les routines de /proc à qui l'on passe une inode.
proc_register ajoute l'inode child en tant que sous-inode de parent.
proc_register_dynamic assigne dynamiquement un numéro d'inode puis ajoute l'inode child comme sous-inode de parent.
proc_unregister examine la liste des sous-inodes de parent pour rechercher le numéro d'inode inode particulier et détruire l'entrée correspondante.
VALEUR RENVOYEÉ
proc_register retourne toujours 0.
proc_register_dynamic retourne 0 si tout se passe normalement ou -EAGAIN s'il est impossible d'allouer dynamiquement un numéro d'inode.
proc_unregister retourne 0 si tout se passe normalement ou -EINVAL si l'inode n'est pas trouvée.
VOIR AUSSI
proc_net_register(9), proc_net_unregister(9), proc_scsi_register(9), proc_scsi_unregister(9), stat(2). [Notedutraducteur] Jeter un coup d'oeil à proc"(5) "n'est pas une mauvaise idée.AUTEUR
Keith Owens <kaos@ocs.com.au>TRADUCTEUR
Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999BOGUES
L'unicité des numéros d'inode dans /proc est supposée, mais rien n'est fait pour l'assurer réellement... Il est possible que deux inodes aient le même numéro.Contenus ©2006-2024 Benjamin Poulain
Design ©2006-2024 Maxime Vantorre