Provided by: manpages-fr-dev_3.27fr1.4-1_all bug

NOM

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

SYNOPSIS

       #include <unistd.h> /* sur les systemes BSD et Linux */
       #include <stdlib.h> /* sur les systemes V ou assimiles */

       int ttyslot(void);

   Exigences  de  macros  de  test de fonctionnalites pour la glibc (consultez
   feature_test_macros(7)) :

       ttyslot() :
           _BSD_SOURCE ||
           _XOPEN_SOURCE && _XOPEN_SOURCE_ < 500 && XOPEN_SOURCE_EXTENDED

DESCRIPTION

       La fonction ttyslot() renvoie la position de l'entree  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 etait  consulte  par
       init(8)  afin  de  savoir  que  faire sur chaque terminal. Chaque ligne
       etait composee  de  trois  caracteres.  Le  premier  etait  << 0 >>  ou
       << 1 >>,  le  << 0 >>  signifiant  << ignore >>.  Le  second  caractere
       indiquait  le  terminal :  << 8 >>   signifiant   << /dev/tty8 >>.   Le
       troisieme  caractere  etait  un  argument  pour  getty(8)  indiquant la
       sequence de vitesses a essayer (<< - >> signifiait << essayer a  partir
       de  110  bauds >>).  Ainsi,  une  ligne  typique  etait  << 18- >>. Une
       deconnexion sur une  ligne  se  faisait  en  changeant  le  << 1 >>  en
       << 0 >>, en envoyant un signal a init, en rechangeant a l'inverse et en
       renvoyant un signal.

       Sous Unix V7,  le  format  a  change :  le  second  caractere  devenait
       l'argument  pour  getty(8)  indiquant la sequence de vitesses a 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   etait
       << 14console >>.

       Les  systemes  ulterieurs  utiliserent  une  syntaxe plus elaboree. Les
       systemes type System V employaient /etc/inittab a la place.

   HISTOIRE ANCIENNE (BIS)
       D'autre  part,  il  existe  un  fichier  /etc/utmp  listant  les   gens
       actuellement connectes. Il est gere par login(1). Il a une taille fixe,
       et la position appropriee dans le fichier est determinee  par  login(1)
       en  utilisant l'appel ttyslot() pour trouver le numero de la ligne dans
       /etc/ttys (a partir de 1).

   S'EMANTIQUE DE TTYSLOT
       Ainsi, la fonction ttyslot() renvoie l'index du terminal de controle du
       processus  appelant  dans  le  fichier  /etc/ttys,  qui  est  aussi (en
       principe) l'index de l'entree  pour  l'utilisateur  en  cours  dans  le
       fichier  /etc/utmp.  BSD  utilise encore le fichier /etc/ttys, mais pas
       les systeme de type System V, qui ne peuvent donc pas s'y referer.  Sur
       ces  systemes,  la  documentation  dit que ttyslot() renvoie l'index de
       l'utilisateur appelant dans la base  de  donnees  de  comptabilite  des
       utilisateurs.

VALEUR RENVOY'EE

       Si  elle  reussit,  cette  fonction renvoie le numero d'entree. Si elle
       echoue (par exemple si aucun des descripteurs 0, 1 ou 2  n'est  associe
       avec  un  terminal  trouve dans la base de donnees), elle renvoie 0 sur
       Unix V6, V7 et les systemes BSD, mais -1 sur les autres systemes V.

CONFORMIT'E

       SUSv1 ;  mentionne  comme  historique  dans   SUSv2 ;   supprime   dans
       POSIX.1-2001. SUSv2 demande un -1 en cas d'erreur.

NOTES

       Le  fichier  utmp  se  rencontre  a  divers endroits sur les differents
       systemes, comme /etc/utmp, /var/adm/utmp, /var/run/utmp.

       L'implementation de cette fonction dans  la  glibc  2  lit  le  fichier
       _PATH_TTYS, defini dans <ttyent.h> comme "/etc/ttys". Elle renvoie 0 en
       cas d'erreur. Comme les systemes  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)

COLOPHON

       Cette  page  fait  partie  de  la  publication 3.27 du projet man-pages
       Linux. Une description du projet et des instructions pour signaler  des
       anomalies       peuvent       etre       trouvees      a      l'adresse
       <URL:http://www.kernel.org/doc/man-pages/>.

TRADUCTION

       Depuis 2010, cette traduction est maintenue a l'aide  de  l'outil  po4a
       <URL:http://po4a.alioth.debian.org/>   par   l'equipe   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
       Francois et l'equipe francophone de traduction de Debian (2006-2009).

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

       Vous  pouvez  toujours avoir acces a la version anglaise de ce document
       en utilisant la commande << man -L C <section> <page_de_man> >>.