grantpt(3) Library Functions Manual grantpt(3)

grantpt - acordă acces la pseudoterminalul sclav

Biblioteca C standard (libc, -lc)

#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

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.

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

Pseudoterminalul sclav corespunzător nu a putut fi accesat.
Argumentul fd nu este un descriptor de fișier deschis valid.
Argumentul fd este valid, dar nu este asociat cu un pseudoterminal maestru.

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

POSIX.1-2008.

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).

open(2), posix_openpt(3), ptsname(3), unlockpt(3), pts(4), pty(7)

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.

2 mai 2024 Pagini de manual de Linux 6.8