grantpt(3)

NUME
grantpt - acordă acces la pseudoterminalul sclav

BIBLIOTECA
Biblioteca C standard (libc, -lc)

REZUMAT
#include <stdlib.h>

int grantpt(int fd);

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

grantpt():
    Începând cu glibc 2.24:
        _XOPEN_SOURCE >= 500
    glibc 2.23 și versiunile anterioare:
        _XOPEN_SOURCE

DESCRIERE
Funcția grantpt() schimbă modul și proprietarul dispozitivului pseudoterminal sclav corespunzător pseudoterminalului maestru la care face referire descriptorul de fișier fd. ID-ul de utilizator al sclavului este stabilit la UID-ul real al procesului apelant. ID-ul de grup este stabilit la o valoare nespecificată (de exemplu, tty). Modul sclavului este stabilit la 0620 (crw--w----).

Comportamentul lui grantpt() este nespecificat dacă este instalat un gestionar de semnal pentru a capta semnalele SIGCHLD.

VALOAREA RETURNATĂ
În caz de succes, grantpt() returnează 0. În caz contrar, returnează -1 și configurează errno pentru a indica eroarea.

ERORI

EACCES
    Pseudoterminalul sclav corespunzător nu a putut fi accesat.

EBADF
    Argumentul fd nu este un descriptor de fișier deschis valid.

EINVAL
    Argumentul fd este valid, dar nu este asociat cu un pseudoterminal maestru.

ATRIBUTE
Pentru o explicație a termenilor folosiți în această secțiune, a se vedea attributes(7).
Interfață | Atribut | Valoare
grantpt() | Siguranța firelor | MT-Safe locale

STANDARDE
POSIX.1-2008.

ISTORIC
glibc 2.1. POSIX.1-2001.

Aceasta face parte din suportul UNIX 98 pentru pseudoterminal, a se vedea pts(4).

În trecut, sistemele au implementat această funcție prin intermediul unui binar ajutător set-user-ID numit „pt_chown”. glibc sub Linux înainte de glibc 2.33 putea face acest lucru, de asemenea, pentru a suporta configurații cu doar pseudoterminale BSD; acest suport a fost eliminat. Pe sistemele moderne, aceasta este fie un —no-op cu permisiuni configurate la alocarea pty, așa cum este cazul în Linux—, fie un ioctl(2).

CONSULTAȚI ȘI
open(2), posix_openpt(3), ptsname(3), unlockpt(3), pts(4), 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.