Provided by: manpages-ro-dev_4.21.0-2_all bug

NUME

       openpty, login_tty, forkpty - funcții de utilitate pentru terminale

BIBLIOTECA

       Biblioteca de utilități a sistemului (libutil, -lutil)

REZUMAT

       #include <pty.h>

       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 <utmp.h>

       int login_tty(int fd);

DESCRIERE

       Funcția  openpty()  găsește  un  pseudoterminal  disponibil  și returnează descriptorii de
       fișiere pentru maestru și sclav în amaster și aslave. Dacă name nu este  NULL,  numele  de
       fișier  al  sclavului  este  returnat  în  name.  Dacă  termp  nu  este  NULL,  parametrii
       terminalului sclavului vor fi stabiliți la valorile din termp. Dacă  winp  nu  este  NULL,
       dimensiunea ferestrei sclavului va fi stabilită la valorile din winp.

       Funcția  login_tty()  pregătește  o  autentificare  pe  terminalul  la  care face referire
       descriptorul de fișier fd (care poate fi un dispozitiv  terminal  real  sau  sclavul  unui
       pseudoterminal,  așa cum este returnat de openpty()) prin crearea unei noi sesiuni, făcând
       din fd terminalul de control pentru procesul apelant,  stabilind  fd  ca  fiind  fluxurile
       standard de intrare, ieșire și eroare ale procesului curent și închizând fd.

       Funcția  forkpty()  combină  openpty(), fork(2) și login_tty() pentru a crea un nou proces
       care operează într-un pseudoterminal. Un descriptor de fișier care  se  referă  la  partea
       maestru a pseudoterminalului este returnat în amaster. În cazul în care name nu este NULL,
       memoria tampon la care acesta indică este utilizată pentru a returna numele de  fișier  al
       sclavului.   Argumentele  termp  și  winp,  dacă  nu  sunt  NULL, vor determina atributele
       terminalului și dimensiunea ferestrei părții sclav a pseudoterminalului.

VALOAREA RETURNATĂ

       În cazul în care un apel la  openpty(),  login_tty()  sau  forkpty()  nu  are  succes,  se
       returnează  -1,  iar  errno  este  configurată  pentru  a indica eroarea.  În caz contrar,
       openpty(), login_tty() și procesul copil al forkpty() returnează 0, iar  procesul  părinte
       al forkpty() returnează ID-ul de proces al procesului copil.

ERORI

       openpty() eșuează dacă:

       ENOENT Nu există terminale disponibile.

       login_tty()  nu  reușește  dacă  ioctl(2)  nu  reușește să stabilească fd la terminalul de
       control al procesului apelant.

       forkpty() eșuează dacă fie openpty(), fie fork(2) eșuează.

ATRIBUTE

       Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).

       ┌────────────────────────────────────────────┬───────────────────┬────────────────────────┐
       │InterfațăAtributValoare                │
       ├────────────────────────────────────────────┼───────────────────┼────────────────────────┤
       │forkpty(), openpty()                        │ Siguranța firelor │ MT-Safe locale         │
       ├────────────────────────────────────────────┼───────────────────┼────────────────────────┤
       │login_tty()                                 │ Siguranța firelor │ MT-Unsafe race:ttyname │
       └────────────────────────────────────────────┴───────────────────┴────────────────────────┘

STANDARDE

       Acestea sunt funcții BSD, prezente în glibc.  Ele nu sunt standardizate în POSIX.

NOTE

       Modificatorii const au  fost  adăugați  la  argumentele  indicatorului  de  structură  din
       openpty() și forkpty() în glibc 2.8.

       Înainte  de  glibc 2.0.92, openpty() returnează descriptori de fișiere pentru o pereche de
       pseudoterminale BSD; începând cu glibc 2.0.92, aceasta încearcă mai întâi  să  deschidă  o
       pereche   de   pseudoterminale   UNIX   98  și  revine  la  deschiderea  unei  perechi  de
       pseudoterminale BSD în cazul în care acest lucru eșuează.

ERORI

       Nimeni nu știe cât spațiu ar trebui să fie rezervat pentru name.   Prin  urmare,  apelarea
       openpty() sau forkpty() cu name non-NULL poate să nu fie sigură.

CONSULTAȚI ȘI

       fork(2), ttyname(3), pty(7)

TRADUCERE

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

       Această  traducere  este  documentație  gratuită;  citiți  Licența  publică  generală  GNU
       Versiunea  3  ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩  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⟩.