Linux repositories inspector
2017-09-15
Aliases: ptsname_r(3), ptsname_r(3), ptsname_r(3), ptsname_r(3), ptsname_r(3), ptsname_r(3)

man-pages-ru

Russian man pages from the Linux Documentation Project

manpages-dev

Manual pages about using GNU/Linux for development

man-pages

Linux kernel and C library user-space interface documentation

ИМЯ

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

ОБЗОР

#include <stdlib.h>
char *ptsname(int fd);
int ptsname_r(int fd, char *buf, size_t buflen);
Требования макроса тестирования свойств для glibc (см. feature_test_macros(7)):
ptsname():

начиная с glibc 2.24:
_XOPEN_SOURCE >= 500 ||
(_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED)
glibc 2.23 и старее:
_XOPEN_SOURCE
ptsname_r():
_GNU_SOURCE

ОПИСАНИЕ

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

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

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

ОШИБКИ

EINVAL (только ptsname_r()) Значение buf равно NULL (эта ошибка возвращается только в glibc 2.25 и старее).
ENOTTY Значение fd не ссылается на устройство главного псевдо-терминала.
ERANGE (только ptsname_r()) Значение buf слишком мало.

ВЕРСИИ

Функция ptsname() появилась в 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 записывается номер ошибки. Не используйте эту функцию в переносимых программах.
⇧ Top