ptsname(3) Library Functions Manual ptsname(3)

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

Standardowa biblioteka C (libc-lc)

#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

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.

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.

(tylko ptsname_r()) buf wynosi NULL (błąd zwracany tylko w przypadku glibc 2.25 i wcześniejszej).
fd nie odnosi się do nadrzędnego urządzenia pseudoterminala.
(tylko ptsname_r()) buf jest zbyt mały.

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

Wersję ptsname_r() udokumentowano na Tru64 i HP-UX, 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.

POSIX.1-2008.

ptsname_r() jest rozszerzeniem systemu Linux, które zaproponowano do następnego głównego wydania POSIX.1 (wydanie 8).

POSIX.1-2001. glibc 2.1.

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

grantpt(3), posix_openpt(3), ttyname(3), unlockpt(3), pts(4), pty(7)

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

28 czerwca 2025 r. Linux man-pages 6.15