openpty(3) Library Functions Manual openpty(3) NUME openpty, login_tty, forkpty - funcii de utilitate pentru terminale BIBLIOTECA Biblioteca de utilitai a sistemului (libutil, -lutil) SINOPSIS #include int openpty(int *amaster, int *aslave, char *name, const struct termios *termp, const struct winsize *winp); pid_t forkpty(int *amaster, char *name, const struct termios *termp, const struct winsize *winp); #include int login_tty(int fd); DESCRIERE Funcia openpty() gasete un pseudoterminal disponibil i returneaza descriptorii de fiiere pentru maestru i sclav in amaster i aslave. Daca name nu este NULL, numele de fiier al sclavului este returnat in name. Daca termp nu este NULL, parametrii terminalului sclavului vor fi stabilii la valorile din termp. Daca winp nu este NULL, dimensiunea ferestrei sclavului va fi stabilita la valorile din winp. Funcia login_tty() pregatete o autentificare pe terminalul la care face referire descriptorul de fiier fd (care poate fi un dispozitiv terminal real sau sclavul unui pseudoterminal, aa cum este returnat de openpty()) prin crearea unei noi sesiuni, facand din fd terminalul de control pentru procesul apelant, stabilind fd ca fiind fluxurile standard de intrare, ieire i eroare ale procesului curent i inchizand fd. Funcia forkpty() combina openpty(), fork(2) i login_tty() pentru a crea un nou proces care opereaza intr-un pseudoterminal. Un descriptor de fiier care se refera la partea maestru a pseudoterminalului este returnat in amaster. In cazul in care name nu este NULL, memoria tampon la care acesta indica este utilizata pentru a returna numele de fiier al sclavului. Argumentele termp i winp, daca nu sunt NULL, vor determina atributele terminalului i dimensiunea ferestrei parii sclav a pseudoterminalului. VALOAREA RETURNATA In cazul in care un apel la openpty(), login_tty() sau forkpty() nu are succes, se returneaza -1, iar errno este configurata pentru a indica eroarea. In caz contrar, openpty(), login_tty() i procesul copil al forkpty() returneaza 0, iar procesul parinte al forkpty() returneaza ID-ul de proces al procesului copil. ERORI-IEIRE openpty() eueaza daca: ENOENT Nu exista terminale disponibile. login_tty() nu reuete daca ioctl(2) nu reuete sa stabileasca fd la terminalul de control al procesului apelant. forkpty() eueaza daca fie openpty(), fie fork(2) eueaza. ATRIBUTE Pentru o explicaie a termenilor folosii in aceasta seciune, a se vedea attributes(7). +-----------------------+---------------------+------------------------+ |Interfaa | Atribut | Valoare | +-----------------------+---------------------+------------------------+ |forkpty(), openpty() | Sigurana firelor | MT-Safe locale | +-----------------------+---------------------+------------------------+ |login_tty() | Sigurana firelor | MT-Unsafe race:ttyname | +-----------------------+---------------------+------------------------+ STANDARDE BSD. ISTORIC Modificatorii const au fost adaugai la argumentele indicatorului de structura din openpty() i forkpty() in glibc 2.8. Inainte de glibc 2.0.92, openpty() returneaza descriptori de fiiere pentru o pereche de pseudoterminale BSD; incepand cu glibc 2.0.92, aceasta incearca mai intai sa deschida o pereche de pseudoterminale UNIX 98 i revine la deschiderea unei perechi de pseudoterminale BSD in cazul in care acest lucru eueaza. ERORI Nimeni nu tie cat spaiu ar trebui sa fie rezervat pentru name. Prin urmare, apelarea openpty() sau forkpty() cu name non-NULL poate sa nu fie sigura. CONSULTAI I fork(2), ttyname(3), pty(7) 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.8 2 mai 2024 openpty(3)