NAME¶
ptsname, ptsname_r - get the name of the slave pseudoterminal
SYNOPSIS¶
#define _XOPEN_SOURCE /* See feature_test_macros(7) */
#include <stdlib.h>
char *ptsname(int fd);
#define _GNU_SOURCE /* See feature_test_macros(7) */
#include <stdlib.h>
int ptsname_r(int fd, char *buf, size_t buflen);
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-terminated
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.
- 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¶
Multithreading (see pthreads(7))¶
The
ptsname() function is not thread-safe.
The
ptsname_r() function is thread-safe.
ptsname() is part of the UNIX 98 pseudoterminal support (see
pts(4)). This function is specified in POSIX.1-2001.
ptsname_r() is a Linux extension. A version of this function 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 3.74 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
http://www.kernel.org/doc/man-pages/.