Provided by: manpages-fr-dev_2.64.1-1_all bug

NOM

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

SYNOPSIS

       #include <unistd.h> /* sur les systèmes BSD et Linux */
       #include <stdlib.h> /* sur les systèmes V ou assimilés */

       int ttyslot(void);

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

       ttyslot() : _BSD_SOURCE || (_XOPEN_SOURCE_EXTENDED &&
       ! _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(8) 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 Système 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(8). Il a une taille fixe,
       et  la  position appropriée dans le fichier est déterminée par login(8)
       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 Système 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.

CONFORMITÉ

       SUSv1. Intégré dans SUSv2. Supprimé dans POSIX.1-2001. SUSv2 demande un
       -1 en cas d’erreur.

NOTES

       Le fichier utmp se rencontre  à  divers  endroits  sur  les  différents
       systèmes, comme /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.

       Minix avait aussi fttyslot(fd).

VOIR AUSSI

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

TRADUCTION

       Cette page de manuel a été traduite  et  mise  à  jour  par  Christophe
       Blaess  <http://www.blaess.fr/christophe/> entre 1996 et 2003, puis par
       Alain Portal <aportal AT univ-montp2 DOT fr> jusqu’en 2006, et  mise  à
       disposition sur http://manpagesfr.free.fr/.

       Les mises à jour et corrections de la version présente dans Debian sont
       directement         gérées         par         Nicolas         François
       <nicolas.francois@centraliens.net>    et    l’équipe   francophone   de
       traduction de Debian.

       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> ».