Provided by: manpages-ro-dev_4.27.0-1_all 

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ță │ Atribut │ Valoare │
├───────────────────────────────────────────────────────────────────────┼───────────────────┼───────────┤
│ 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)