Provided by: manpages-dev_3.35-0.1ubuntu1_all bug

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, a NULL
       pointer 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.

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.

SEE ALSO

       grantpt(3), posix_openpt(3), ttyname(3), unlockpt(3), pts(4), pty(7)

COLOPHON

       This page is part of release 3.35 of the Linux man-pages project.  A  description  of  the
       project,  and information about reporting bugs, can be found at http://man7.org/linux/man-
       pages/.

                                            2008-09-03                                 PTSNAME(3)