zion - register_chrdev
Nom
register_chrdev, unregister_chrdev - enregister un nombre majeur de périphérique
Résumé
#include <linux/fs.h> int register_chrdev(unsigned int major , const char* name , struct file_operations* ops ); int unregister_chrdev(unsigned int major , const char * name );
Description
La fonction register_chrdev associe un nombre majeur (de périphérique de type caractère) avec un ensemble de points d'entrée de pilote. La structure file_operations contient des pointeurs sur les fonctions que le pilote utilise pour implémenter l'interface du pilote au noyau.
Le paramètre major est le nombre majeur (caractère) associé au pilote de périphérique et devant être mappé dans la table des fonctions. Le paramètre name est un raccourci pour le périphérique et est affichée dans la liste /proc/devices . Il doit également correspondre exactement au nom passé à la fonction unregister_chrdev quand les fonctions sont "libérées".
Un pilote modularisé peut enregistrer autant de nombres majeurs que de périphériques gérés, bien que cela ne soit pas fréquent.
La fonction unregister_chrdev libère le nombre majeur, et est normalement appelé dans la fonction de nettoyage du module lors de son déchargement du noyau.
Valeur retournÉe
En cas de succès, register_chrdev retourne 0 si major est un nombre différent de 0, sinon Linux fermera le nombre majeur et retournera la valeur choisie.
En cas d'erreur, l'un des codes suivants est retourné à la place :
|
La fonction unregister_chrdev retourne 0 en cas de succès, ou -EINVAL si le nombre majeur n'est pas enregistré avec le nom correspondant.
Disponibilité
Linux 1.0+
Voir aussi
register_blkdev (9) mknod (2)
Auteur
Stephen Williams (steve@icarus.com)
Bugs
Traduction
Thierry Vignaud < tvignaud@mandrakesoft.com >, 1999
Poster un commentaire