Provided by: manpages-ru-dev_4.21.0-2_all bug

ИМЯ

       ptsname, ptsname_r - возвращает имя подчинённого псевдо-терминала

LIBRARY

       Standard C library (libc, -lc)

СИНТАКСИС

       #include <stdlib.h>

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

   Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):

       ptsname():
           Начиная с glibc 2.24:
               _XOPEN_SOURCE >= 500
           В версии glibc 2.23 и более ранних:
               _XOPEN_SOURCE

       ptsname_r():
           _GNU_SOURCE

ОПИСАНИЕ

       The  ptsname()   function returns the name of the slave pseudoterminal device corresponding to the master
       referred to by the file descriptor fd.

       Функция ptsname_r() является  реентерабельным  эквивалентном  ptsname().  Она  сохраняет  имя  устройства
       подчинённого  псевдо-терминала  в  виде строки (завершающейся null) в буфер, указанный в buf. В аргументе
       buflen задаётся количество байт, доступных в buf.

ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ

       При успешном выполнении ptsname() возвращает указатель на строку в статическом хранилище,  которая  будет
       перезаписана последующими вызовами. Данный указатель не нужно освобождать. При ошибке возвращается NULL.

       On success, ptsname_r()  returns 0.  On failure, an error number is returned to indicate the error.

ОШИБКИ

       EINVAL (только  ptsname_r())  Значение  buf  равно  NULL  (эта  ошибка возвращается только в glibc 2.25 и
              старее).

       ENOTTY Значение fd не ссылается на устройство главного псевдо-терминала.

       ERANGE (только ptsname_r()) Значение buf слишком мало.

ВЕРСИИ

       ptsname()  is provided since glibc 2.1.

АТРИБУТЫ

       Описание терминов данного раздела смотрите в attributes(7).
       ┌───────────────────────────────────────────────────────┬──────────────────────┬────────────────────────┐
       │ ИнтерфейсАтрибутЗначение               │
       ├───────────────────────────────────────────────────────┼──────────────────────┼────────────────────────┤
       │ ptsname()                                             │ Безвредность в нитях │ MT-Unsafe race:ptsname │
       ├───────────────────────────────────────────────────────┼──────────────────────┼────────────────────────┤
       │ ptsname_r()                                           │ Безвредность в нитях │ MT-Safe                │
       └───────────────────────────────────────────────────────┴──────────────────────┴────────────────────────┘

СТАНДАРТЫ

       ptsname():
              POSIX.1-2001, POSIX.1-2008.

       Функция ptsname() является частью поддержки псевдо-терминалов UNIX 98 (смотрите pts(4)).

       Функция ptsname_r() является расширением Linux,  которую  предполагается  включить  в  следующую  большую
       версию  POSIX.1  (Issue  8).  Версия этой функции описана в Tru64 и HP-UX, но в их реализациях при ошибке
       возвращается -1, а  в  errno  записывается  номер  ошибки.  Не  используйте  эту  функцию  в  переносимых
       программах.

СМ. ТАКЖЕ

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

ПЕРЕВОД

       Русский перевод этой страницы руководства был сделан Alexey, Azamat Hackimov <azamat.hackimov@gmail.com>,
       kogamatranslator49    <r.podarov@yandex.ru>,    Kogan,   Max   Is   <ismax799@gmail.com>,   Yuri   Kozlov
       <yuray@komyakino.ru> и Иван Павлов <pavia00@gmail.com>

       Этот перевод является бесплатной документацией; прочитайте Стандартную общественную лицензию GNU версии 3
       или более позднюю, чтобы узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

       Если вы обнаружите ошибки в переводе этой страницы руководства, пожалуйста, отправьте электронное  письмо
       на man-pages-ru-talks@lists.sourceforge.net.

Linux man-pages 6.03                            5 февраля 2023 г.                                     ptsname(3)