ptsname(3)

NAZWA
ptsname, ptsname_r - uzyskuje nazwę podrzędnego urządzenia pseudoterminala

BIBLIOTEKA
Standardowa biblioteka C (libc, -lc)

SKŁADNIA
#include <stdlib.h>

char *ptsname(int fd);
int ptsname_r(size_t size;
              int fd, char buf[size], size_t size);

    Wymagane ustawienia makr biblioteki glibc (patrz feature_test_macros(7)):

ptsname():
    Od glibc 2.24:
        _XOPEN_SOURCE >= 500
    glibc 2.23 i wcześniejsze:
        _XOPEN_SOURCE

ptsname_r():
    _GNU_SOURCE

OPIS
Funkcja ptsname() zwraca nazwę podrzędnego urządzenia pseudoterminala związanego z urządzeniem nadrzędnym, do którego odnosi się deskryptor pliku fd.

Funkcja ptsname_r() jest wielobieżnym odpowiednikiem ptsname(). Zwraca nazwę podrzędnego urządzenia pseudoterminala jako łańcuch zakończony znakiem null w buforze, na który wskazuje buf. Argument size określa liczbę bajtów dostępnych w buf.

WARTOŚĆ ZWRACANA
W przypadku powodzenia, ptsname() zwraca wskaźnik do łańcucha w magazynie statycznym, który zostanie nadpisany kolejnymi wywołaniami. Wskaźnika nie można zwalniać. W przypadku niepowodzenia, zwracane jest NULL.

W przypadku powodzenia ptsname_r() zwraca zero. W razie niepowodzenia zwracany jest numer błędu, wskazując błąd.

BŁĘDY

EINVAL
    (tylko ptsname_r()) buf wynosi NULL (błąd zwracany tylko w przypadku glibc 2.25 i wcześniejszej).

ENOTTY
    fd nie odnosi się do nadrzędnego urządzenia pseudoterminala.

ERANGE
    (tylko ptsname_r()) buf jest zbyt mały.

ATRYBUTY
Informacje o pojęciach używanych w tym rozdziale można znaleźć w podręczniku attributes(7).
Interfejs | Atrybut | Wartość
ptsname() | Bezpieczeństwo wątkowe | MT-niebezpieczne race:ptsname
ptsname_r() | Bezpieczeństwo wątkowe | MT-bezpieczne

WERSJE
Wersję ptsname_r() udokumentowano na Tru64, HP-UX i FreeBSD, jednak w tych implementacjach przy błędzie zwracane jest -1, z ustawionym errno wskazującym błąd. Należy unikać tej funkcji w przenośnych programach.

STANDARDY

ptsname():
    POSIX.1-2008.

ptsname_r():
    POSIX.1-2024.

HISTORIA

ptsname():
    POSIX.1-2001. glibc 2.1.

ptsname() jest częścią obsługi pseudoterminali UNIX 98 (zob. pts(4)).

ptsname_r():
    GNU.

ZOBACZ TAKŻE
grantpt(3), posix_openpt(3), ttyname(3), unlockpt(3), pts(4), pty(7)

TŁUMACZENIE
Tłumaczenie niniejszej strony podręcznika: Michał Kułach <michal.kulach@gmail.com>

Niniejsze tłumaczenie jest wolną dokumentacją. Bliższe informacje o warunkach licencji można uzyskać zapoznając się z GNU General Public License w wersji 3 (https://www.gnu.org/licenses/gpl-3.0.html) lub nowszej. Nie przyjmuje się ŻADNEJ ODPOWIEDZIALNOŚCI.

Błędy w tłumaczeniu strony podręcznika prosimy zgłaszać na adres listy dyskusyjnej manpages-pl-list@lists.sourceforge.net.