Content-type: text/html
Manpage of proc_dir_entry
proc_dir_entry
Section: Fonctions relatives à /proc (9)
Updated: Juillet 1997
Index
Return to Main Contents
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>, 1999
BOGUES
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.
Index
- NOM
-
- SYNOPSIS
-
- DESCRIPTION
-
- VALEUR RENVOYEÉ
-
- VOIR AUSSI
-
- AUTEUR
-
- TRADUCTEUR
-
- BOGUES
-
This document was created by
man2html,
using the manual pages.
Time: 21:33:13 GMT, July 10, 2005