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.

VERSIUNI
grantpt() este furnizată începând cu glibc 2.1.

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-2001, POSIX.1-2008.

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

Multe sisteme implementează această funcție prin intermediul unui binar auxiliar set-user-ID numit „pt_chown”. În sistemele Linux cu un sistem de fișiere devpts (prezent începând cu Linux 2.2), nucleul stabilește în mod normal proprietatea și permisiunile corecte pentru pseudoterminalul sclav atunci când este deschis maestrul (posix_openpt(3)), astfel încât grantpt() nu trebuie să facă nimic. Astfel, nu este necesar un astfel de binar ajutător (și, într-adevăr, este configurat pentru a fi absent în timpul compilării glibc, care este tipică pentru multe sisteme).

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.