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.

CONFORMING TO

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.

RELATED TO ptsname…

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/.