diff --git a/fr_FR.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml b/fr_FR.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml index 11dc47762c..7bceb058d3 100644 --- a/fr_FR.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml +++ b/fr_FR.ISO8859-1/books/developers-handbook/driverbasics/chapter.sgml @@ -1,34 +1,34 @@ <!-- The FreeBSD Documentation Project The FreeBSD French Documentation Project - - $Id: chapter.sgml,v 1.1 2002-02-14 14:25:02 gioria Exp $ - Original revision: 1.5 + $FreeBSD$ + $Id: chapter.sgml,v 1.2 2003-01-12 12:16:07 blackend Exp $ + Original revision: 1.5 --> <chapter id="driverbasics"> <title>Ecrire des pilotes de périphériques pour FreeBSD</title> - <para>Ce chapître a été écrit par &.murray avec des sélections - depuis une variété de codes source inclus dans la page de manuel d'intro(4) de Joerg + <para>Ce chapître a été écrit par &a.murray; avec des sélections + depuis une variété de codes source inclus dans la page de manuel d'&man.intro.4; de Joerg Wunsch.</para> <sect1> <title>Introduction</title> - <para>Ce chapître fournit une brêve introduction sur l'écriture - de pilotes de périphériques pourFreeBSD. + <para>Ce chapître fournit une brêve introduction sur l'écriture + de pilotes de périphériques pour FreeBSD. Un périphérique, dans ce contexte, est un terme utilisé le plus souvent pour tout ce qui est lié au matériel et qui dépend du système, comme les disques, imprimantes, ou un écran avec son clavier. Un pilote de périphérique est un composant logiciel du système d'exploitation qui contrôle un périphérique spécifique. Il y a aussi - ce que l'on apelle les pseudo-périphériques ("pseudo-devices") où un pilote + ce que l'on apelle les pseudo-périphériques (“pseudo-devices”) où un pilote de périphérique émule le comportement d'un périphérique dans un logiciel sans matériel particulier sous-jacent. Les pilotes de périphériques peuvent être compilés dans le ystème statiquement ou chargé à la demande via l'éditeur de liens dynamique du - noyau `kld'.</para> + noyau “kld”.</para> <para>La plupart des périphériques dans un système d'exploitation de type Unix sont accessibles au travers de fichiers spéciaux de périphérique (device-nodes), appelés parfois @@ -45,7 +45,7 @@ <sect1> <title>L'éditeur de liens dynamiques du noyau - KLD</title> - <!-- Traduction à vérifier + <!-- Traduction à vérifier Dynamic Kernel Linker Facility - KLD</title> --> <para>L'interface kld permet aux administrateurs système d'ajouter @@ -55,7 +55,7 @@ </para> <para>L'interface kld est utilisé au travers des commandes d'administrateur suivantes : - + <itemizedlist> <listitem><simpara><command>kldload</command> - charge un nouveau module dans le noyau</simpara></listitem> <listitem><simpara><command>kldunload</command> - décharge un module du noyau</simpara></listitem> @@ -66,18 +66,18 @@ <para>Structure squelettique d'un module de noyau</para> <programlisting>/* - * Squelette KLD + * Squelette KLD * Inspiré de l'article d'Andrew Reiter paru sur Daemonnews */ #include <sys/types.h> #include <sys/module.h> -#include <sys/systm.h> /* uprintf */ +#include <sys/systm.h> /* uprintf */ #include <sys/errno.h> #include <sys/param.h> /* defines utilise dans kernel.h */ #include <sys/kernel.h> /* types utilise dans le module d'initialisation */ -/* +/* * charge le gestionnaire quit traite du chargement et déchargement d'un KLD. */ @@ -85,7 +85,7 @@ static int skel_loader(struct module *m, int what, void *arg) { int err = 0; - + switch (what) { case MOD_LOAD: /* kldload */ <!-- Désolé, les accents n'existent pas dans la console alors je ne les ai pas mis là non plus @@ -131,7 +131,7 @@ KMOD=skeleton <sect1> <title>Accéder au pilote d'un périphérique</title> - <para>Unix fournit un ensemble d'appels sytème communs utilisable par + <para>Unix fournit un ensemble d'appels sytème communs utilisable par les applications de l'utilisateur. Les couches supérieures du noyau renvoient ces appels au pilote de périphérique correspondant quand un utilisateur accède au fichier spécial de périphérique. Le script <command>/dev/MAKEDEV</command> @@ -145,7 +145,7 @@ KMOD=skeleton <para>La commande <command>mknod</command> nécessite quatre arguments pou créer un fichier spécial de périphérique. Vous devez spécifier le nom - de ce fichier spécial de périphérique, le type de périphérique, le numéro majeur + de ce fichier spécial de périphérique, le type de périphérique, le numéro majeur et le numéro mineur du périphérique.</para> </sect2> @@ -169,7 +169,7 @@ KMOD=skeleton l'arbre des sources.</para> <para>Cet exemple simple de pseudo-périphérique enregistre toutes les valeurs - que vous lui avez écrites et peut vous les renvoyer quand vous les lui + que vous lui avez écrites et peut vous les renvoyer quand vous les lui demandez.</para> <programlisting>/* @@ -182,7 +182,7 @@ KMOD=skeleton #include <sys/types.h> #include <sys/module.h> -#include <sys/systm.h> /* uprintf */ +#include <sys/systm.h> /* uprintf */ #include <sys/errno.h> #include <sys/param.h> /* defines utilises dans kernel.h */ #include <sys/kernel.h> /* types utilises dans me module d'initialisation */ @@ -235,12 +235,12 @@ MALLOC_DEFINE(M_ECHOBUF, "echobuffer", "cache pour le module echo"); * determiner quelles actions doivent etre faites quand le * module est charge ou decharge */ - + static int echo_loader(struct module *m, int what, void *arg) { int err = 0; - + switch (what) { case MOD_LOAD: /* kldload */ sdev = make_dev(<literal>&</literal>echo_cdevsw, @@ -266,27 +266,27 @@ echo_loader(struct module *m, int what, void *arg) return(err); } -int +int echo_open(dev_t dev, int oflags, int devtype, struct proc *p) { int err = 0; - + uprintf("Peripherique \"echo\" ouvert avec succes.\n"); return(err); } -int +int echo_close(dev_t dev, int fflag, int devtype, struct proc *p) { - uprintf("Fermeture du peripherique \"echo.\"\n"); + uprintf("Fermeture du peripherique \"echo.\"\n"); return(0); -} +} -/* +/* * La fonction read prend juste comme parametre * le cache qui a ete sauve par l'appel à echo_write() * et le retourne a l'utilisateur pour acces. - * uio(9) + * uio(9) */ int @@ -373,7 +373,7 @@ DEV_MODULE(echo,echo_loader,NULL);</programlisting> pouvoir être acessibles. Leur sélection est basée sur d'autres décisions faites à l'intérieur du noyau et plutôt que d'appeler open(), l'utilisation d'un périphérique réseau se fait généralement en se servant de l'appel système - socket(2).</para> + &man.socket.2;.</para> <para>man ifnet(), périphérique "en boucle", drivers de Bill Paul, etc..</para>