x11r4 man page for ptsname

Query: ptsname

OS: x11r4

Section: 3

Format: Original Unix Latex Style Formatted with HTML and a Horizontal Scroll Bar

PTSNAME(3)						     Linux Programmer's Manual							PTSNAME(3)

NAME
ptsname, ptsname_r - get the name of the slave pseudoterminal
SYNOPSIS
#include <stdlib.h> char *ptsname(int fd); int ptsname_r(int fd, char *buf, size_t buflen); Feature Test Macro Requirements for glibc (see feature_test_macros(7)): ptsname(): Since glibc 2.24: _XOPEN_SOURCE >= 500 || (_XOPEN_SOURCE && _XOPEN_SOURCE_EXTENDED) Glibc 2.23 and earlier: _XOPEN_SOURCE ptsname_r(): _GNU_SOURCE
DESCRIPTION
The ptsname() function returns the name of the slave pseudoterminal device corresponding to the master referred to by fd. The ptsname_r() function is the reentrant equivalent of ptsname(). It returns the name of the slave pseudoterminal device as a null-termi- nated string in the buffer pointed to by buf. The buflen argument specifies the number of bytes available in buf.
RETURN VALUE
On success, ptsname() returns a pointer to a string in static storage which will be overwritten by subsequent calls. This pointer must not be freed. On failure, NULL is returned. On success, ptsname_r() returns 0. On failure, a nonzero value is returned and errno is set to indicate the error.
ERRORS
EINVAL (ptsname_r() only) buf is NULL. (This error is returned only for glibc 2.25 and earlier.) ENOTTY fd does not refer to a pseudoterminal master device. ERANGE (ptsname_r() only) buf is too small.
VERSIONS
ptsname() is provided in glibc since version 2.1.
ATTRIBUTES
For an explanation of the terms used in this section, see attributes(7). +------------+---------------+------------------------+ |Interface | Attribute | Value | +------------+---------------+------------------------+ |ptsname() | Thread safety | MT-Unsafe race:ptsname | +------------+---------------+------------------------+ |ptsname_r() | Thread safety | MT-Safe | +------------+---------------+------------------------+
CONFORMING TO
ptsname(): POSIX.1-2001, POSIX.1-2008. ptsname() is part of the UNIX 98 pseudoterminal support (see pts(4)). ptsname_r() is a Linux extension, that is proposed for inclusion in the next major revision of POSIX.1 (Issue 8). A version of this func- tion is documented on Tru64 and HP-UX, but on those implementations, -1 is returned on error, with errno set to indicate the error. Avoid using this function in portable programs.
SEE ALSO
grantpt(3), posix_openpt(3), ttyname(3), unlockpt(3), pts(4), pty(7)
COLOPHON
This page is part of release 4.15 of the Linux man-pages project. A description of the project, information about reporting bugs, and the latest version of this page, can be found at https://www.kernel.org/doc/man-pages/. 2017-09-15 PTSNAME(3)
Related Man Pages
ptsname_r(3) - debian
ptsname_r(3) - centos
ptsname(3) - plan9
ptsname(3) - x11r4
ptsname(3) - redhat
Similar Topics in the Unix Linux Community
Race condition with PTY
read system call reading the same data
segmentation fault help required
scandir() and threads
How to install expect after installing tcl on Redhat Linux