Provided by: manpages-ro-dev_4.26.0-1_all bug

NUME

       ttyslot - găsește slotul terminalului utilizatorului curent într-un fișier

BIBLIOTECA

       Biblioteca C standard (libc, -lc)

SINOPSIS

       #include <unistd.h>       /* A se vedea secțiunea NOTE */

       int ttyslot(void);

   Cerințe pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultați feature_test_macros(7)):

       ttyslot():
           Începând cu glibc 2.24:
               _DEFAULT_SOURCE
           De la glibc 2.20 la glibc 2.23:
               _DEFAULT_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)
           glibc 2.19 și versiunile anterioare:
               _BSD_SOURCE || (_XOPEN_SOURCE && _XOPEN_SOURCE < 500)

DESCRIERE

       Funcția veche ttyslot() returnează indexul intrării utilizatorului curent într-un fișier.

       Acum vă întrebați: „Ce fișier?”. Ei bine, să ne uităm mai întâi la un pic de istorie.

   Istoria antică
       Exista un fișier /etc/ttys în UNIX6, care era citit de programul init(1) pentru a afla ce trebuie să facă
       cu  fiecare linie de terminal. Fiecare linie era formată din trei caractere. Primul caracter era fie „0”,
       fie „1”, unde „0” însemna „ignoră”. Al doilea caracter desemna terminalul: „8”  însemna  „/dev/tty8”.  Al
       treilea  caracter  era  un  argument pentru getty(8) care indica secvența de viteze de linie care trebuia
       încercată („-” însemna: începeți să încercați 110 baud). Astfel, o linie tipică era „18-”. Un blocaj pe o
       anumită linie era rezolvat prin schimbarea „1” în „0”, semnalând init, schimbând din nou și semnalând din
       nou init.

       În UNIX formatul a fost schimbat: aici  al  doilea  caracter  era  argumentul  pentru  getty(8)  indicând
       secvența de viteze de linie care trebuia încercată („0” era: rotire în ciclu prin 300-1200-150-110 bauds;
       „4”  era  pentru  consola  DECwriter)  în timp ce restul liniei conținea numele tty-ului. Astfel, o linie
       tipică era „14console”.

       Sistemele ulterioare au o sintaxă mai elaborată. Sistemele de tip System V au în schimb /etc/inittab.

   Istoria antică (2)
       Pe de altă parte, există fișierul /etc/utmp în care sunt listate persoanele conectate în prezent.  Acesta
       este întreținut de login(1). Are o dimensiune fixă, iar indexul corespunzător în fișier a fost determinat
       de login(1) folosind apelul ttyslot() pentru a găsi numărul liniei din /etc/ttys (numărând de la 1).

   Semantica lui ttyslot
       Astfel,  funcția  ttyslot() returnează indexul terminalului de control al procesului apelant din fișierul
       /etc/ttys, iar acesta este (de obicei)  același  cu  indexul  intrării  pentru  utilizatorul  curent  din
       fișierul  /etc/utmp.  BSD  are  încă  fișierul  /etc/ttys,  dar sistemele de tip System V nu au, și, prin
       urmare, nu pot face referire la acesta. Astfel, pe astfel de sisteme,  documentația  spune  că  ttyslot()
       returnează indexul utilizatorului curent în baza de date de conturi de utilizator.

VALOAREA RETURNATĂ

       În caz de succes, această funcție returnează numărul de slot. În caz de eroare (de exemplu, dacă niciunul
       dintre  descriptorii  de  fișiere 0, 1 sau 2 nu este asociat cu un terminal care apare în această bază de
       date), aceasta returnează 0 pe UNIX V6 și V7 și pe sistemele de tip BSD,  dar  -1  pe  sistemele  de  tip
       System V.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
       ┌───────────────────────────────────────────────────────────────────────┬───────────────────┬───────────┐
       │ InterfațăAtributValoare   │
       ├───────────────────────────────────────────────────────────────────────┼───────────────────┼───────────┤
       │ ttyslot()                                                             │ Siguranța firelor │ MT-Unsafe │
       └───────────────────────────────────────────────────────────────────────┴───────────────────┴───────────┘

VERSIUNI

       Fișierul  utmp  se  găsește  în  diverse  locuri  pe diverse sisteme, cum ar fi /etc/utmp, /var/adm/utmp,
       /var/run/utmp.

STANDARDE

       Niciunul.

ISTORIC

       SUSv1; marcat ca LEGACY în SUSv2; eliminat în POSIX.1-2001.  SUSv2 necesită -1 în caz de eroare.

       Implementarea glibc2 a acestei funcții citește  fișierul  _PATH_TTYS,  definit  în  <ttyent.h>  ca  fiind
       „/etc/ttys”.  Aceasta  returnează  0  în  caz  de  eroare.  Deoarece  sistemele  Linux  nu au, de obicei,
       „/etc/ttys”, aceasta va returna întotdeauna 0.

       Pe sistemele de tip BSD și Linux, declarația lui ttyslot() este furnizată de <unistd.h>. Pe sistemele  de
       tip  System V, declarația este furnizată de <stdlib.h>. Începând cu glibc 2.24, <stdlib.h> furnizează, de
       asemenea, declarația cu următoarele definiții ale macrocomenzilor de testare a funcțiilor:

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

       Minix are, de asemenea, fttyslot(fd).

CONSULTAȚI ȘI

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

TRADUCERE

       Traducerea   în   limba   română   a   acestui   manual   a   fost   făcută   de   Remus-Gabriel    Chelu
       <remusgabriel.chelu@disroot.org>

       Această  traducere  este  documentație  gratuită;  citiți  Licența publică generală GNU Versiunea 3 sau o
       versiune  ulterioară  cu  privire  la  condiții  privind  drepturile  de  autor.   NU  se   asumă   NICIO
       RESPONSABILITATE.

       Dacă  găsiți  erori  în  traducerea  acestui manual, vă rugăm să trimiteți un e-mail la translation-team-
       ro@lists.sourceforge.net.

Pagini de manual de Linux 6.9.1                    2 mai 2024                                         ttyslot(3)