cfgetispeed

TERMIOS(3)                Manuel du programmeur Linux               TERMIOS(3)



NOM
       termios, tcgetattr, tcsetattr, tcsendbreak, tcdrain, tcflush, tcflow,
       cfmakeraw, cfgetospeed, cfgetispeed, cfsetispeed, cfsetospeed,
       cfsetspeed - Configuration du terminal

SYNOPSIS
       #include <termios.h>
       #include <unistd.h>

       int tcgetattr(int fd, struct termios *termios_p);

       int tcsetattr(int fd, int optional_actions,
                     const struct termios *termios_p);

       int tcsendbreak(int fd, int durée);

       int tcdrain(int fd);

       int tcflush(int fd, int queue_selector);

       int tcflow(int fd, int action);

       void cfmakeraw(struct termios *termios_p);

       speed_t cfgetispeed(const struct termios *termios_p);

       speed_t cfgetospeed(const struct termios *termios_p);

       int cfsetispeed(struct termios *termios_p, speed_t vitesse);

       int cfsetospeed(struct termios *termios_p, speed_t vitesse);

       int cfsetspeed(struct termios *termios_p, speed_t vitesse);

   Exigences de macros de test de fonctionnalités pour la glibc (consultez
   feature_test_macros(7)) :

       cfsetspeed(), cfmakeraw() : _BSD_SOURCE

DESCRIPTION
       Les fonctions termios établissent une interface générale pour les
       terminaux, permettant de contrôler les ports de communication
       asynchrone.

   La structure termios
       Plusieurs fonctions décrites ici utilisent un argument termios_p qui
       est un pointeur sur une structure termios. Cette structure contient au
       moins les membres suivants :

           tcflag_t c_iflag;      /* modes d'entrée */
           tcflag_t c_oflag;      /* modes de sortie */
           tcflag_t c_cflag;      /* modes de contrôle */
           tcflag_t c_lflag;      /* modes locaux */
           cc_t     c_cc[NCCS];   /* caractères spéciaux */

       Les valeurs qui peuvent être mises dans ces membres sont décrites
       ci-dessous. Dans le cas des quatre premiers membres, les définitions
       de certains des modes associés qui peuvent être utilisés ne sont
       exposés que si une macro est définie pour des tests spécifiques
       (consultez feature_test_macros(7)), comme indiqué entre crochets
       (« [] »).

       Dans les descriptions ci-dessous, « pas dans POSIX » signifie que la
       valeur n'est pas spécifiée dans POSIX.1-2001, et « XSI » signifie
       que la valeur est spécifiée dans POSIX.1-2001 comme faisant partie de
       l'extension XSI.

       Constante pour l'attribut c_iflag :

       IGNBRK Ignorer les signaux BREAK en entrée.

       BRKINT Si IGNBRK est indiqué, un caractère BREAK en entrée est
              ignoré. S'il n'est pas indiqué, mais si BRKINT est présent,
              alors un BREAK videra les files d'attente en entrée et sortie,
              et si le terminal contrôle un groupe de processus au premier
              plan, un signal SIGINT sera envoyé à ce groupe. Si ni IGNBRK
              ni BRKINT ne sont indiqués, un caractère BREAK sera lu comme
              un caractère nul (« \0 »), sauf si PARMRK est présent,
              auquel cas il sera lu comme une séquence \377 \0 \0.

       IGNPAR Ignorer les erreurs de format et de parité.

       PARMRK Si IGNPAR n'est pas indiqué, un caractère ayant une erreur de
              parité ou de format est préfixé avec \377 \0. Si ni IGNPAR ni
              PARMRK ne sont indiqués, un caractère contenant une erreur de
              parité ou de format est lu comme \0.

       INPCK  Valider la vérification de parité en entrée.

       ISTRIP Ãliminer le huitième bit.

       INLCR  Convertir NL en CR en entrée.

       IGNCR  Ignorer CR en entrée.

       ICRNL  Convertir CR en NL en entrée, sauf si IGNCR est indiqué.

       IUCLC  (Pas dans POSIX) Transformer les majuscules en minuscules en
              entrée.

       IXON   Valider le contrôle de flux XON/XOFF en sortie.

       IXANY  (XSI) La sortie bloquée sera redémarrée en tapant n'importe
              quel caractère. Le défaut est de ne redémarrer la sortie
              qu'avec le caractère START.

       IXOFF  Valider le contrôle de flux XON/XOFF en entrée.

       IMAXBEL
              (Pas dans POSIX) Faire sonner le terminal quand le tampon
              d'entrée est plein. Linux n'implémente pas ce bit, et
              considère qu'il est toujours actif.

       IUTF8 (depuis Linux 2.6.4)
              (Pas dans POSIX) L'entrée est en UTF-8 ; ceci permet au
              caractère d'effacement de fonctionner correctement dans le mode
              « cooked ».

       Constantes POSIX.1 pour l'attribut c_oflag :

       OPOST  Traitement en sortie dépendant de l'implémentation.

       Les autres constantes pour c_oflag sont définies dans POSIX.1-2001
       sauf indication contraire.

       OLCUC  (Pas dans POSIX) Convertir les minuscules en majuscules en
              sortie.

       ONLCR  (XSI) Convertir NL en CR-NL en sortie.

       OCRNL  Convertir CR en NL en sortie.

       ONOCR  Ne pas émettre de CR en colonne 0.

       ONLRET Ne pas émettre de CR.

       OFILL  Utiliser des caractères de remplissage pour le délai, plutôt
              qu'une temporisation.

       OFDEL  (Pas dans POSIX) Le caractère de remplissage est ASCII DEL
              (0177). Sinon c'est ASCII NUL (« \0 »). (Non implémenté dans
              Linux)

       NLDLY  Masque du délai de saut de ligne. Les valeurs sont NL0 et NL1.
              [Nécessite _BSD_SOURCE ou _SVID_SOURCE ou _XOPEN_SOURCE]

       CRDLY  Masque du délai de retour chariot. Les valeurs sont CR0, CR1,
              CR2 ou CR3. [Nécessite _BSD_SOURCE ou _SVID_SOURCE ou
              _XOPEN_SOURCE]

       TABDLY Masque du délai de tabulation horizontale. Les valeurs sont
              TAB0, TAB1, TAB2, TAB3 (ou XTABS). Une valeur TAB3 ,
              c'est-Ã -dire XTABS, convertit les tabulations en espaces
              (positions toutes les huit colonnes). [Nécessite _BSD_SOURCE ou
              _SVID_SOURCE ou _XOPEN_SOURCE]

       BSDLY  Masque du délai de retour en arrière (backspace). Les valeurs
              sont BS0 ou BS1 (n'a jamais été implémenté). [Nécessite
              _BSD_SOURCE ou _SVID_SOURCE ou _XOPEN_SOURCE]

       VTDLY  Masque du délai de tabulation verticale. Les valeurs sont VT0
              ou VT1.

       FFDLY  Masque du délai de saut de page. Les valeurs sont FF0 ou FF1.
              [Nécessite _BSD_SOURCE ou _SVID_SOURCE ou _XOPEN_SOURCE]

       Constantes pour l'attribut c_cflag :

       CBAUD  (Pas dans POSIX) Masque des vitesses (4+1 bits). [Nécessite
              _BSD_SOURCE ou _SVID_SOURCE]

       CBAUDEX
              (Pas dans POSIX) Masque étendu des vitesses (1 bit) inclus dans
              CBAUD. [Nécessite _BSD_SOURCE ou _SVID_SOURCE]

              POSIX dit que la vitesse est stockée dans une structure termios
              sans dire précisément où, et fournit cfgetispeed() et
              cfsetispeed() pour la lire ou l'écrire. Certains systèmes
              utilisent les bits de CBAUD dans c_cflag, d'autres systèmes
              utilisent des champs distincts, par exemple sg_ispeed et
              sg_ospeed.

       CSIZE  Masque de longueur des caractères. Les valeurs sont CS5, CS6,
              CS7 ou CS8.

       CSTOPB Utiliser deux bits de stop plutôt qu'un.

       CREAD  Valider la réception.

       PARENB Valider le codage de parité en sortie, et la vérification de
              parité en entrée.

       PARODD Si le bit PARODD est positionné, la parité en entrée et
              sortie sera impaire ; sinon une parité paire est utilisée.

       HUPCL  Abaisser les signaux de contrôle du modem lorsque le dernier
              processus referme le périphérique (raccrochage).

       CLOCAL Ignorer les signaux de contrôle du modem.

       LOBLK  (Pas POSIX) Bloquer la sortie depuis un niveau de shell non
              concurrent. Utilisé par shl (shell layers). (Non implémenté
              dans Linux)

       CIBAUD (Pas dans POSIX) Masque des vitesses d'entrée. Les bits pour
              CIBAUD sont les mêmes que ceux de CBAUD, décalés à gauche de
              IBSHIFT bits. [Nécessite _BSD_SOURCE ou _SVID_SOURCE] (Non
              implémenté dans Linux)

       CMSPAR (Pas dans POSIX) Parité fixe (marque/espace - supporté par
              certains périphériques série) ; si PARODD est positionné, le
              bit de parité est toujours à 1 ; si PARODD n'est pas
              positionné, le bit de parité est toujours à 0. [Nécessite
              _BSD_SOURCE ou _SVID_SOURCE]

       CRTSCTS
              (Pas dans POSIX) Contrôle de flux RTS/CTS. [Nécessite
              _BSD_SOURCE ou _SVID_SOURCE]

       Constantes pour l'attribut c_lflag :

       ISIG   Lorsqu'un caractère INTR, QUIT, SUSP ou DSUSP arrive, engendrer
              le signal correspondant.

       ICANON Active le mode canonique (décrit ci-dessous).

       XCASE  (Pas dans POSIX, non supporté sous Linux) Si ICANON est
              indiqué également, le terminal est en mode majuscule
              uniquement. Les entrées sont converties en minuscules, sauf
              pour les caractères précédés par \. En sortie, les
              caractères majuscules sont précédés par \ et les minuscules
              sont converties en majuscules. (Nécessite _BSD_SOURCE,
              _SVID_SOURCE ou _XOPEN_SOURCE.)

       ECHO   Afficher les caractères saisis.

       ECHOE  Si ICANON est également activé, la touche ERASE efface le
              caractère précédent, et WERASE efface le mot précédent.

       ECHOK  Si ICANON est également activé, la touche KILL efface la ligne
              en cours.

       ECHONL Si ICANON est également activé, afficher le caractère NL
              même si ECHO n'est pas activé.

       ECHOCTL
              (Pas dans POSIX) Si ECHO est également activé, les caractères
              spéciaux du terminal autres que TAB, NL, START, et STOP sont
              représentés par ^X, où X est le caractère dont le code ASCII
              est supérieur de 0x40 à celui du caractère spécial. Par
              exemple, 0x08 (BS) est représenté par ^H. [Nécessite
              _BSD_SOURCE ou _SVID_SOURCE]

       ECHOPRT
              (Pas dans POSIX) Si ICANON et ECHO sont aussi activés, les
              caractères sont imprimés lorsqu'ils sont effacés. [Nécessite
              _BSD_SOURCE ou _SVID_SOURCE]

       ECHOKE (Pas dans POSIX) Si ICANON est également activé, la touche
              KILL efface chaque caractère de la ligne, comme indiqué par
              ECHOE et ECHOPRT. [Nécessite _BSD_SOURCE ou _SVID_SOURCE]

       DEFECHO
              (Pas dans POSIX) N'effectuer l'affichage que lorsque le
              caractère est lu. (Non implémenté dans Linux)

       FLUSHO (Pas dans POSIX, non supporté sous Linux) Le tampon de sortie
              est vidé. Cet attribut est déclenché en tapant le caractère
              DISCARD. [Nécessite _BSD_SOURCE ou _SVID_SOURCE]

       NOFLSH Désactiver le vidage des files d'entrée et de sortie pendant
              la création des signaux pour les caractères INT, QUIT et SUSP.

       TOSTOP Envoyer le signal SIGTTOU au groupe d'un processus en
              arrière-plan essayant d'écrire sur son terminal de contrôle.

       PENDIN (Pas dans POSIX, non supporté sous Linux) Tous les caractères
              de la file d'entrée sont réimprimés quand le caractère
              suivant est lu. (bash(1) utilise ceci pour la complétion de
              commande) [Nécessite _BSD_SOURCE ou _SVID_SOURCE]

       IEXTEN Traitement de l'entrée dépendant de l'implémentation. Cet
              attribut, tout comme ICANON, doit être actif pour que les
              caractères spéciaux EOL2, LNEXT, REPRINT et WERASE soient
              interprétés, et pour que l'attribut IUCLC prenne effet.

       Le tableau c_cc définit des caractères spéciaux. Les symboles
       (valeurs initiales) et significations sont :

       VDISCARD
              (Pas dans POSIX, non supporté sous Linux ; 017, SI, Ctrl-O)
              Bascule start/stop pour ignorer les caractères en attente de
              sortie. Reconnu quand IEXTEN est actif, et pas transmis en
              entrée.

       VDSUSP (Pas dans POSIX et non supporté sous Linux ; 031, EM, Ctrl-Y)
              Caractère de suspension retardée (DSUSP). Envoie le signal
              SIGTSTP quand le caractère est lu par le programme utilisateur.
              Reconnu quand IEXTEN et ISIG sont actifs, et quand le système
              supporte le contrôle des processus, et non transmis en entrée.

       VEOF   (004, EOT, Ctrl-D) Caractère de fin de fichier (EOF). Plus
              précisément : ce caractère oblige l'envoi du contenu du
              tampon vers le programme lecteur sans attendre la fin de ligne.
              S'il s'agit du premier caractère de la ligne, l'appel Ã
              read(2) renvoie zéro dans le programme appelant, ce qui
              correspond à une fin de fichier. Reconnu quand ICANON est
              actif, et pas transmis en entrée.

       VEOL   (0, NUL) Caractère fin de ligne supplémentaire (EOL). Reconnu
              quand ICANON est actif.

       VEOL2  (Pas dans POSIX ; 0, NUL) Encore un autre caractère fin de
              ligne (EOL2). Reconnu quand ICANON est actif.

       VERASE (0177, DEL, rubout, ou 010, BS, Ctrl-H ou encore #) Caractère
              d'effacement (ERASE). Ceci efface le caractère précédent pas
              encore effacé, mais ne revient pas en deça d'EOF ou du début
              de ligne. Reconnu quand ICANON est actif, et n'est pas transmis
              en entrée.

       VINTR  (003, ETX, Ctrl-C, ou encore 0177, DEL, rubout) Caractère
              d'interruption (INTR). Envoie le signal SIGINT. Reconnu quand
              ISIG est présent, et n'est pas transmis en entrée.

       VKILL  (025, NAK, Ctrl-U ou Ctrl-X, ou encore @) Caractère Kill
              (KILL). Il efface tous les caractères en entrée, jusqu'au
              dernier EOF ou début de ligne. Reconnu quand ICANON est actif,
              et pas transmis en entrée.

       VLNEXT (Pas dans POSIX ; 026, SYN, Ctrl-V) Suivant littéral (LNEXT).
              Protège le caractère suivant en lui supprimant toute
              signification spéciale. Reconnu quand IEXTEN est actif, et pas
              transmis en entrée.

       VMIN   Nombre minimal de caractères lors d'une lecture en mode non
              canonique (MIN).

       VQUIT  (034, FS, Ctrl-\) Caractère Quit (QUIT). Envoie le signal
              SIGQUIT. Reconnu quand ISIG est présent, et n'est pas transmis
              en entrée.

       VREPRINT
              (Pas dans POSIX ; 022, DC2, Ctrl-R) Réafficher les caractères
              pas encore lus (REPRINT). Reconnu quand ICANON et IEXTEN sont
              actifs, et pas transmis en entrée.

       VSTART (021, DC1, Ctrl-Q) Caractère de démarrage (START). Relance la
              sortie interrompue par un caractère d'arrêt. Reconnu quand
              IXON est actif, et pas transmis en entrée.

       VSTATUS
              (Pas dans POSIX, non supporté sous Linux ; 024, DC4, Ctrl-T).
              Caractère d'état (STATUS). Affiche sur le terminal des
              informations sur l'état, incluant l'état du processus en
              premier plan et la quantité de temps CPU qu'il a consommé.
              Envoie aussi un signal SIGINFO (not supporté par Linux) au
              groupe du processus de premier plan.

       VSTOP  (023, DC3, Ctrl-S) Caractère d'arrêt (STOP). Interrompt la
              sortie jusqu'à la pression d'un caractère de démarrage.
              Reconnu quand IXON est actif, et pas transmis en entrée.

       VSUSP  (032, SUB, Ctrl-Z) Caractère de suspension (SUSP). Envoie le
              signal SIGTSTP. Reconnu quand ISIG est actif, et pas transmis en
              entrée.

       VSWTCH (Pas dans POSIX et non supporté sous Linux ; 0, NUL) Caractère
              de basculement (SWTCH). Utilisé par System V pour basculer les
              shells dans des calques (shell layers), notion qui a précédée
              le contrôle des travaux du shell.

       VTIME  Délai en dixièmes de seconde pour une lecture en mode non
              canonique (TIME).

       VWERASE
              (Pas dans POSIX ; 027, ETB, Ctrl-W) Effacement de mot (WERASE).
              Reconnu quand ICANON et IEXTEN sont actifs, et pas transmis en
              entrée.

       Un caractère spécial de terminal isolé peut être désactivé en
       positionnant la valeur de l'élément c_cc correspondant Ã
       _POSIX_VDISABLE.

       Les valeurs d'indices ci-dessus sont toutes différentes, sauf VTIME et
       VMIN qui peuvent avoir la même valeur que VEOL et VEOF respectivement.
       En mode non canonique, la signification d'un caractère spécial est
       remplacée par sa valeur de temporisation. Pour des explications sur
       VMIN et VTIME, consultez la description du mode non canonique
       ci-dessous.

   Récupérer et changer les paramètres du terminal
       tcgetattr() récupère les paramètres associés à l'objet
       référencé par fd et les stocke dans la structure termios pointée
       par termios_p. Cette fonction peut être appelée par un processus en
       arrière-plan. Néanmoins, les attributs de terminal peuvent être
       modifiés par la suite par le processus au premier plan.

       tcsetattr() définit les paramètres du terminal (à moins que le
       matériel sous-jacent ne le supporte pas) en lisant la structure
       termios pointée par termios_p. optional_actions précise quand les
       changements auront lieu :

       TCSANOW
              Les modifications sont effectuées immédiatement.

       TCSADRAIN
              Les modifications sont effectuées lorsque toutes les
              opérations d'écriture sur fd auront été transmises. Cette
              fonction devrait être utilisée pour toute modification de
              paramètre affectant les sorties.

       TCSAFLUSH
              Les modifications sont effectuées lorsque toutes les
              opérations d'écriture sur fd auront été transmises. Les
              entrées qui n'ont pas été traitées seront éliminées avant
              de faire les modifications.

   Mode canonique et non canonique
       La valeur du bit ICANON dans c_lflag détermine si le terminal est dans
       le mode canonique (ICANON positionné) ou non canonique (ICANON non
       positionné). Par défaut, ICANON est positionné.

       Dans le mode canonique :

       - L'entrée est rendue disponible ligne à ligne. Une ligne d'entrée
         est disponible quand un délimiteur de ligne (NL, EOL, EOL2 ou EOF au
         début d'une ligne). Sauf dans le cas de EOF, le délimiteur de ligne
         est inclus dans le tampon renvoyé par read(2).

       - L'édition des lignes est activée (ERASE, KILL ; et si le bit IEXTEN
         est positionné : WERASE, REPRINT, LNEXT). Un read(2) renverra au
         plus une ligne de l'entrée ; si le read(2) a demandé moins de
         caractères que disponibles dans la ligne en cours, seuls les octets
         demandés seront lus, et les autres caractères seront disponibles
         pour les read(2) suivants.

       Dans le mode non canonique, l'entrée est disponible tout de suite
       (sans que l'utilisateur ait à taper de caractère délimiteur de
       ligne), aucun traitement de l'entrée n'est effectué, et l'édition
       des lignes est désactivé. La valeur des paramètres MIN (c_cc[VMIN])
       et TIME (c_cc[VTIME]) détermine les circonstances dans lesquelles
       read(2) se termine ; il y a quatre cas différents :

       MIN == 0, TIME == 0 (lecture de scrutation (polling))
              Si des données sont disponibles, read(2) renvoie immédiatement
              le nombre d'octets disponibles ou le nombre d'octets demandés
              (le plus petit des deux). Si aucune donnée n'est disponible,
              read(2) renvoie 0.

       MIN > 0, TIME == 0 (lecture bloquante)
              read(2) est bloquant jusqu'Ã  ce que MIN octets soient
              disponibles, puis renvoie jusquâau nombre dâoctet demandés.

       MIN == 0, TIME > 0 (lecture avec délai)
              TIME indique une limite de temps en dixième de seconde. Le
              décompte du temps commence lors de l'appel à read(2). read(2)
              se termine si au moins un octet est disponible ou si la
              temporisation expire. Si la temporisation expire sans qu'il n'y
              ait eu de données disponibles, read(2) renvoie 0. Si des
              données sont déjà  disponibles au moment de lâappel Ã
              read(2), lâappel se comporte comme si les données étaient
              reçues immédiatement après lâappel.

       MIN > 0, TIME > 0 (lecture avec délai entre deux octets)
              TIME indique une limite de temps en dixième de seconde. Quand
              un premier caractère est disponible en entrée, la
              temporisation est démarrée, puis remise à zéro à chaque
              caractère reçu. read(2) se termine quand une des conditions
              suivantes est vraie.

              -  MIN octets ont été reçus.

              -  Le délai entre deux octets est dépassé.

              -  Le nombre d'octets demandés par read(2) a été reçu (POSIX
                 ne spécifie pas cette condition de fin et dâautres
                 implémentations de read(2) ne se terminent pas dans ce cas).

              Comme la temporisation n'est démarrée que lors de la
              réception du premier octet, au moins un octet sera lu. Si des
              données sont déjà  disponibles au moment de lâappel Ã
              read(2), lâappel se comporte comme si les données étaient
              reçues immédiatement après lâappel.

       POSIX ne spécifie pas si le réglage de lâattribut dâétat de fichier
       O_NONBLOCK est prioritaire sur les réglages de MIN et TIME. Si
       O_NONBLOCK est défini, un read(2) en mode non canonique pourrait
       sâarrêter immédiatement, quelque soit le réglage de MIN ou TIME. De
       plus, si aucune donnée nâest disponible, POSIX permet un read(2) en
       mode non canonique de renvoyer soit 0, soit -1 avec errno défini Ã
       EAGAIN.

   Mode brut
       cfmakeraw() place le terminal dans un mode proche du mode « raw » de
       l'ancien pilote de terminal version 7 : l'entrée est disponible
       caractère par caractère, il n'y a pas d'écho ni de traitement
       particulier des caractères d'entrée ou sortie. Les attributs du
       terminal sont définis ainsi :

           termios_p->c_iflag &= ~(IGNBRK | BRKINT | PARMRK | ISTRIP
                           | INLCR | IGNCR | ICRNL | IXON);
           termios_p->c_oflag &= ~OPOST;
           termios_p->c_lflag &= ~(ECHO | ECHONL | ICANON | ISIG | IEXTEN);
           termios_p->c_cflag &= ~(CSIZE | PARENB);
           termios_p->c_cflag |= CS8;

   Contrôle de la ligne
       tcsendbreak() transmet un flux continu de bits à zéro pendant une
       durée donnée si le terminal utilise une transmission série
       asynchrone. Si durée vaut zéro, les bits à zéro sont émis pendant
       au moins 0,25 seconde, et pas plus de 0,5 seconde. Si durée est non
       nulle, l'émission se fera pendant un temps dépendant de
       l'implémentation.

       Si le terminal n'est pas connecté avec une liaison série asynchrone,
       tcsendbreak() n'effectue aucune action.

       tcdrain() attend que toutes les écritures sur l'objet référencé par
       fd aient été transmises.

       tcflush() élimine toutes les écritures sur l'objet fd pas encore
       transmises, ainsi que les données reçues mais pas encore lues, ceci
       en fonction de la valeur de queue_selector :

       TCIFLUSH
              efface les données reçues mais non lues.

       TCOFLUSH
              efface les données écrites mais non transmises.

       TCIOFLUSH
              efface à la fois les données reçues non lues, et les données
              écrites non transmises.

       tcflow() suspend la transmission ou la réception des données sur
       l'objet référencé par fd, en fonction de la valeur de action :

       TCOOFF suspend les transmissions.

       TCOON  redémarre les transmissions suspendues.

       TCIOFF envoie un caractère STOP, ce qui demande au terminal de
              suspendre toute transmission de données vers le système.

       TCION  envoie un caractère START, ce qui redémarre la transmission
              des données depuis le terminal vers le système.

       Lors de l'ouverture d'un terminal, ni ses sorties ni ses entrées ne
       sont suspendues.

   Vitesse de la ligne
       Il est possible d'utiliser les fonctions suivantes pour lire ou écrire
       la vitesse de communication du terminal, en utilisant la structure
       termios. Les modifications ne prennent effet que lorsque la fonction
       tcsetattr() a été invoquée et qu'elle a réussi.

       Définir une vitesse B0 demande au modem de raccrocher. La vitesse
       réelle de communication correspondant à B38400 peut être modifiée
       avec setserial(8).

       Les vitesses en entrée et en sortie sont stockées dans la structure
       termios.

       cfgetospeed() renvoie la vitesse de sortie stockée dans la structure
       termios pointée par termios_p.

       cfsetospeed() définit la vitesse de sortie stockée dans la structure
       termios pointée par termios_p à la valeur vitesse, qui doit être
       l'une des constantes suivantes :

            B0
            B50
            B75
            B110
            B134
            B150
            B200
            B300
            B600
            B1200
            B1800
            B2400
            B4800
            B9600
            B19200
            B38400
            B57600
            B115200
            B230400

       La vitesse nulle, B0, est utilisée pour terminer une connexion. Si B0
       est indiquée, il n'y a aucune garantie d'état des lignes de contrôle
       du modem. Normalement, ceci devrait déconnecter la ligne. CBAUDEX est
       un masque pour les vitesses supérieures à celles définies dans
       POSIX.1 (supérieures ou égales à 57600). Ainsi, B57600 & CBAUDEX est
       non nulle.

       cfgetispeed() renvoie la vitesse d'entrée stockée dans la structure
       termios.

       cfsetispeed() définit la vitesse d'entrée stockée dans la structure
       termios à la valeur vitesse, qui doit être spécifiée à l'aide
       d'une des constantes Bnnn listées ci-dessus pour cfsetospeed(). Si la
       vitesse d'entrée est mise à 0, elle prendra la même valeur que la
       vitesse de sortie.

       cfsetspeed() est une extension BSD 4.4. Elle prend les mêmes arguments
       que cfsetispeed(), et définit à la fois les vitesses d'entrée et de
       sortie.

VALEUR RENVOYÃE
       cfgetispeed() renvoie la vitesse d'entrée stockée dans la structure
       termios.

       cfgetospeed() renvoie la vitesse de sortie stockée dans la structure
       termios.

       Toutes les autres fonctions renvoient

       0      si elle réussissent, et

       -1     si elles échouent, auquel cas errno contient le code d'erreur.

       Notez que tcsetattr() indique une réussite si une des modifications
       peut être réalisée. Toutefois, pour effectuer plusieurs changements,
       il peut être nécessaire de faire suivre cet appel d'une invocation de
       tcgetattr() pour vérifier que les modifications ont bien été
       réalisées.

ATTRIBUTS
   Multithreading (voir pthreads(7))
       Les fonctions tcgetattr(), tcsetattr(), tcsendbreak(), tcdrain(),
       tcflush(), tcflow(), cfmakeraw(), cfgetispeed(), cfgetospeed(),
       cfsetispeed(), cfsetospeed() et cfsetspeed() sont sûre dans un
       contexte multithread.

CONFORMITÃ
       tcgetattr(), tcsetattr(), tcsendbreak(), tcdrain(), tcflush(),
       tcflow(), cfgetispeed(), cfgetospeed(), cfsetispeed() et cfsetospeed()
       sont spécifiés dans POSIX.1-2001.

       cfmakeraw() et cfsetspeed() ne sont pas standard, mais sont disponibles
       sur les BSD.

NOTES
       UNIX V7 et plusieurs systèmes ultérieurs avaient une liste de vitesse
       de transmission où l'on rencontrait, après les quatorze valeurs
       B0...B9600, les constantes EXTA et EXTB (« External A » et
       « External B »). De nombreux systèmes étendent cette liste avec des
       vitesses bien plus rapides.

       L'effet d'une durée non nulle avec tcsendbreak() est variable. SunOS
       indique un break pendant duration * N secondes, où N est au moins
       0,25, et au plus 0,5. Linux, AIX, DU, Tru64 envoie un break pendant
       duration millisecondes. FreeBSD, NetBSD, HP-UX et MacOS ignorent la
       valeur duration. Sous Solaris et UnixWare, tcsendbreak() avec une
       duration non nulle se comporte comme tcdrain().

VOIR AUSSI
       stty(1), console_ioctl(4), tty_ioctl(4), setserial(8)

COLOPHON
       Cette page fait partie de la publication 3.65 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler des
       anomalies peuvent être trouvées à l'adresse
       http://www.kernel.org/doc/man-pages/.

TRADUCTION
       Depuis 2010, cette traduction est maintenue à l'aide de l'outil po4a
       <http://po4a.alioth.debian.org/> par l'équipe de traduction
       francophone au sein du projet perkamon
       <http://perkamon.alioth.debian.org/>.

       Christophe Blaess <http://www.blaess.fr/christophe/> (1996-2003), Alain
       Portal <http://manpagesfr.free.fr/> (2003-2006).  Nicolas François et
       l'équipe francophone de traduction de Debian (2006-2009).

       Veuillez signaler toute erreur de traduction en écrivant Ã
       <debian-l10n-french@lists.debian.org> ou par un rapport de bogue sur le
       paquet manpages-fr.

       Vous pouvez toujours avoir accès à la version anglaise de ce document
       en utilisant la commande « man -L C <section> <page_de_man> ».



Linux                            21 mars 2014                       TERMIOS(3)