Provided by: manpages-ru-dev_4.19.0-7_all
ИМЯ
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⟩.