Provided by: manpages-fr-dev_3.32d0.2p4-1_all bug

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 de contrôle */

       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 signaux de contrôle ASCII 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 signal de contrôle. Par exemple, 0x08
              (BS) est représenté par ^H. [Nécessite _BSD_SOURCE ou _SVID_SOURCE]

       ECHOPRT
              (Pas dans POSIX) Si ICANON  et  IECHO  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  de  contrôle  spéciaux.  Les  symboles  (valeurs
       initiales) et significations sont :

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

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

       VERASE (0177,  DEL,  rubout,  ou 010, BS, Ctrl-H ou encore #) Caractère d'effacement. 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.

       VKILL  (025, NAK, Ctrl-U ou Ctrl-X, ou encore  @)  Caractère  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.

       VEOF   (004, EOT, Ctrl-D) Caractère de fin de fichier.  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.

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

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

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

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

       VSWTCH (Pas  dans  POSIX  et  non  supporté  sous Linux ; 0, NUL) Caractère de basculement
              (utilisé uniquement par shl).

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

       VSTOP  (023, DC3, Ctrl-S) Caractère d'arrêt. 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. Envoie le signal SIGTSTP. Reconnu quand
              ISIG 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. 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.

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

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

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

       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.

       VSTATUS
              (Pas dans POSIX, non supporté sous Linux ; 024, DC4, Ctrl-T).

       Ces valeurs 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() fixe 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) 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 : Si des données sont disponibles, read(2) retourne 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 :  read(2)  est  bloquant jusqu'à ce que MIN octets ou le nombre
         d'octets demandés soient disponibles, puis renvoie le plus petit de ces nombres.

       * MIN == 0; TIME > 0 : TIME spécifie une limite  de  temps  en  dixièmes  de  seconde.  Le
         décompte du temps est démarré lors de l'appel à read(2). read(2) retourne 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.

       * MIN  >  0; TIME > 0 : TIME spécifie une limite de temps en dixièmes 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) retourne quand le nombre d'octets demandés ou MIN
         octets ont été lus, ou si le délai entre deux octets est dépassé. Comme la temporisation
         n'est  démarrée que lors de la réception du premier octet, au moins un octet sera lu par
         read(2).

   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 fixés 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.

       Fixer  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()  fixe  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() fixe 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 fixe à 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.

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.32 du projet man-pages Linux. Une description
       du projet et des  instructions  pour  signaler  des  anomalies  peuvent  être  trouvées  à
       l'adresse <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

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

       Christophe   Blaess   <URL:http://www.blaess.fr/christophe/>   (1996-2003),  Alain  Portal
       <URL: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> ».