Provided by: manpages-fr-dev_4.13-4_all bug

NOM

       ttyslot - Trouver l'emplacement du terminal en cours dans un fichier

SYNOPSIS

       #include <unistd.h> /See NOTES */

       int ttyslot(void);

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

       ttyslot() :
           Since glibc 2.24:
               _DEFAULT_SOURCE
           From glibc 2.20 to 2.23:
               _DEFAULT_SOURCE ||
               _XOPEN_SOURCE && _XOPEN_SOURCE < 500
           Glibc 2.19 and earlier:
               _BSD_SOURCE ||
               _XOPEN_SOURCE && _XOPEN_SOURCE < 500

DESCRIPTION

       La fonction ttyslot() renvoie la position  de  l'entrée  du  terminal  en  cours  dans  un
       fichier.

       « Dans quel fichier ? » demandez-vous... Bonne question ; voyons un peu d'histoire.

   Histoire ancienne
       Il  existait  un  fichier  /etc/ttys  dans UNIX V6, qui était consulté par init(1) afin de
       savoir que faire sur chaque terminal. Chaque ligne était composée de trois caractères.  Le
       premier  était  « 0 »  ou  « 1 »,  le  « 0 »  signifiant  « ignoré ».  Le second caractère
       indiquait le terminal : « 8 » signifiant « /dev/tty8 ». Le troisième  caractère  était  un
       argument  pour  getty(8)  indiquant  la  séquence  de vitesses à essayer (« - » signifiait
       « essayer à  partir  de  110  bauds »).  Ainsi,  une  ligne  typique  était  « 18- ».  Une
       déconnexion sur une ligne se faisait en changeant le « 1 » en « 0 », en envoyant un signal
       à init, en rechangeant à l'inverse et en renvoyant un signal.

       Sous UNIX V7, le format a changé : le second caractère devenait l'argument  pour  getty(8)
       indiquant  la  séquence  de  vitesses  à  essayer  (« 0 »  signifiait  « essayer en boucle
       300-1200-150-110 bauds » et « 4 » signifiait « console DECwriter ») tandis que le reste de
       la ligne contenait le nom du terminal. Une ligne typique était « 14console ».

       Les  systèmes ultérieurs utilisèrent une syntaxe plus élaborée. Les systèmes type System V
       employaient /etc/inittab à la place.

   Histoire ancienne (bis)
       D'autre part, il existe un fichier /etc/utmp listant les gens actuellement  connectés.  Il
       est géré par login(1). Il a une taille fixe, et la position appropriée dans le fichier est
       déterminée par login(1) en utilisant l'appel ttyslot() pour trouver le numéro de la  ligne
       dans /etc/ttys (à partir de 1).

   SÉMANTIQUE DE TTYSLOT
       Ainsi, la fonction ttyslot() renvoie l'index du terminal de contrôle du processus appelant
       dans le  fichier  /etc/ttys,  qui  est  aussi  (en  principe)  l'index  de  l'entrée  pour
       l'utilisateur en cours dans le fichier /etc/utmp. BSD utilise encore le fichier /etc/ttys,
       mais pas les système de type System V, qui ne  peuvent  donc  pas  s'y  référer.  Sur  ces
       systèmes,  la  documentation  dit  que ttyslot() renvoie l'index de l'utilisateur appelant
       dans la base de données de comptabilité des utilisateurs.

VALEUR RENVOYÉE

       Si elle réussit, cette fonction renvoie le numéro d'entrée. Si elle échoue (par exemple si
       aucun  des  descripteurs  0,  1 ou 2 n'est associé avec un terminal trouvé dans la base de
       données), elle renvoie 0 sur UNIX V6, V7 et les systèmes  BSD,  mais  -1  sur  les  autres
       systèmes V.

ATTRIBUTS

       Pour une explication des termes utilisés dans cette section, consulter attributes(7).

       ┌──────────┬──────────────────────┬───────────┐
       │InterfaceAttributValeur    │
       ├──────────┼──────────────────────┼───────────┤
       │ttyslot() │ Sécurité des threads │ MT-Unsafe │
       └──────────┴──────────────────────┴───────────┘

CONFORMITÉ

       SUSv1 ;  mentionné comme historique dans SUSv2 ; supprimé dans POSIX.1-2001. SUSv2 demande
       un -1 en cas d'erreur.

NOTES

       The utmp file  is  found  in  various  places  on  various  systems,  such  as  /etc/utmp,
       /var/adm/utmp, /var/run/utmp.

       L'implémentation  de cette fonction dans la glibc 2 lit le fichier _PATH_TTYS, défini dans
       <ttyent.h> comme "/etc/ttys". Elle renvoie 0 en cas d'erreur.  Comme  les  systèmes  Linux
       n'ont habituellement pas de « /etc/ttys », elle renverra toujours 0.

       On BSD-like systems and Linux, the declaration of ttyslot()  is provided by <unistd.h>. On
       System V-like systems, the declaration  is  provided  by  <stdlib.h>.  Since  glibc  2.24,
       <stdlib.h>   also   provides  the  declaration  with  the  following  feature  test  macro
       definitions:

           (_XOPEN_SOURCE >= 500 ||
                   (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED))
               && ! (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600)

       Minix avait aussi fttyslot(fd).

VOIR AUSSI

       getttyent(3), ttyname(3), utmp(5)

COLOPHON

       Cette page fait partie de la publication 5.10 du projet man-pages Linux.  Une  description
       du  projet et des instructions pour signaler des anomalies et la dernière version de cette
       page peuvent être trouvées à l'adresse https://www.kernel.org/doc/man-pages/.

TRADUCTION

       La traduction française de cette  page  de  manuel  a  été  créée  par  Christophe  Blaess
       <https://www.blaess.fr/christophe/>,  Stéphan  Rafin  <stephan.rafin@laposte.net>, Thierry
       Vignaud <tvignaud@mandriva.com>, François Micaux, Alain  Portal  <aportal@univ-montp2.fr>,
       Jean-Philippe    Guérard   <fevrier@tigreraye.org>,   Jean-Luc   Coulon   (f5ibh)   <jean-
       luc.coulon@wanadoo.fr>,   Julien    Cristau    <jcristau@debian.org>,    Thomas    Huriaux
       <thomas.huriaux@gmail.com>, Nicolas François <nicolas.francois@centraliens.net>, Florentin
       Duneau <fduneau@gmail.com>, Simon Paillard <simon.paillard@resel.enst-bretagne.fr>,  Denis
       Barbier <barbier@debian.org> et David Prévot <david@tilapin.org>

       Cette  traduction  est  une  documentation libre ; veuillez vous reporter à la GNU General
       Public  License  version 3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩   concernant   les
       conditions de copie et de distribution. Il n'y a aucune RESPONSABILITÉ LÉGALE.

       Si vous découvrez un bogue dans la traduction de cette page de manuel, veuillez envoyer un
       message à debian-l10n-french@lists.debian.org ⟨⟩.