ttyslot(3) Library Functions Manual ttyslot(3) NUME ttyslot - gasete slotul terminalului utilizatorului curent intr-un fiier BIBLIOTECA Biblioteca C standard (libc, -lc) SINOPSIS #include /* A se vedea seciunea NOTE */ int ttyslot(void); Cerine pentru macrocomenzi de testare a caracteristicilor pentru glibc (consultai feature_test_macros(7)): ttyslot(): Incepand 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 Funcia veche ttyslot() returneaza indexul intrarii utilizatorului curent intr-un fiier. Acum va intrebai: ,,Ce fiier?". Ei bine, sa ne uitam mai intai la un pic de istorie. Istoria antica Exista un fiier /etc/ttys in UNIX6, care era citit de programul init(1) pentru a afla ce trebuie sa faca cu fiecare linie de terminal. Fiecare linie era formata din trei caractere. Primul caracter era fie ,,0", fie ,,1", unde ,,0" insemna ,,ignora". Al doilea caracter desemna terminalul: ,,8" insemna ,,/dev/tty8". Al treilea caracter era un argument pentru getty(8) care indica secvena de viteze de linie care trebuia incercata (,,-" insemna: incepei sa incercai 110 baud). Astfel, o linie tipica era ,,18-". Un blocaj pe o anumita linie era rezolvat prin schimbarea ,,1" in ,,0", semnaland init, schimband din nou i semnaland din nou init. In UNIX formatul a fost schimbat: aici al doilea caracter era argumentul pentru getty(8) indicand secvena de viteze de linie care trebuia incercata (,,0" era: rotire in ciclu prin 300-1200-150-110 bauds; ,,4" era pentru consola DECwriter) in timp ce restul liniei coninea numele tty-ului. Astfel, o linie tipica era ,,14console". Sistemele ulterioare au o sintaxa mai elaborata. Sistemele de tip System V au in schimb /etc/inittab. Istoria antica (2) Pe de alta parte, exista fiierul /etc/utmp in care sunt listate persoanele conectate in prezent. Acesta este intreinut de login(1). Are o dimensiune fixa, iar indexul corespunzator in fiier a fost determinat de login(1) folosind apelul ttyslot() pentru a gasi numarul liniei din /etc/ttys (numarand de la 1). Semantica lui ttyslot Astfel, funcia ttyslot() returneaza indexul terminalului de control al procesului apelant din fiierul /etc/ttys, iar acesta este (de obicei) acelai cu indexul intrarii pentru utilizatorul curent din fiierul /etc/utmp. BSD are inca fiierul /etc/ttys, dar sistemele de tip System V nu au, i, prin urmare, nu pot face referire la acesta. Astfel, pe astfel de sisteme, documentaia spune ca ttyslot() returneaza indexul utilizatorului curent in baza de date de conturi de utilizator. VALOAREA RETURNATA In caz de succes, aceasta funcie returneaza numarul de slot. In caz de eroare (de exemplu, daca niciunul dintre descriptorii de fiiere 0, 1 sau 2 nu este asociat cu un terminal care apare in aceasta baza de date), aceasta returneaza 0 pe UNIX V6 i V7 i pe sistemele de tip BSD, dar -1 pe sistemele de tip System V. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +------------------------------------+---------------------+-----------+ |Interfaa | Atribut | Valoare | +------------------------------------+---------------------+-----------+ |ttyslot() | Sigurana firelor | MT-Unsafe | +------------------------------------+---------------------+-----------+ VERSIUNI Fiierul utmp se gasete in diverse locuri pe diverse sisteme, cum ar fi /etc/utmp, /var/adm/utmp, /var/run/utmp. STANDARDE Niciunul. ISTORIC SUSv1; marcat ca LEGACY in SUSv2; eliminat in POSIX.1-2001. SUSv2 necesita -1 in caz de eroare. Implementarea glibc2 a acestei funcii citete fiierul _PATH_TTYS, definit in ca fiind ,,/etc/ttys". Aceasta returneaza 0 in caz de eroare. Deoarece sistemele Linux nu au, de obicei, ,,/etc/ttys", aceasta va returna intotdeauna 0. Pe sistemele de tip BSD i Linux, declaraia lui ttyslot() este furnizata de . Pe sistemele de tip System V, declaraia este furnizata de . Incepand cu glibc 2.24, furnizeaza, de asemenea, declaraia cu urmatoarele definiii ale macrocomenzilor de testare a funciilor: (_XOPEN_SOURCE >= 500 || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)) && ! (_POSIX_C_SOURCE >= 200112L || _XOPEN_SOURCE >= 600) Minix are, de asemenea, fttyslot(fd). CONSULTAI I getttyent(3), ttyname(3), utmp(5) TRADUCERE Traducerea in limba romana a acestui manual a fost facuta de Remus- Gabriel Chelu Aceasta traducere este documentaie gratuita; citii Licena publica generala GNU Versiunea 3 sau o versiune ulterioara cu privire la condiii privind drepturile de autor. NU se asuma NICIO RESPONSABILITATE. Daca gasii erori in traducerea acestui manual, va rugam sa trimitei un e-mail la . Pagini de manual de Linux 6.18 8 februarie 2026 ttyslot(3)