Provided by: manpages-ru-dev_4.18.1-1_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 ⟨https://www.gnu.org/licenses/gpl-3.0.html⟩ или более позднюю, чтобы
       узнать об условиях авторского права. Мы не несем НИКАКОЙ ОТВЕТСТВЕННОСТИ.

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