Linux

CentOS 5.3

register_chrdev(9)


REGISTER_CHRDEV

NOM

register_chrdev, unregister_chrdev − enregister un nombre majeur de périphérique

SYNOPSIS

#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 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 :

-EINVAL

Le nombre spécifié n’est pas valide (> MAX_CHRDEV)

-EBUSY

Le nombre majeur est occupé

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)

BOGUES

TRADUCTION

Thierry Vignaud <tvignaud@mandrakesoft.com>, 1999


register_chrdev(9)